c692c792c892c992ca92cb92cc92cd92ce92cf92d092d192d292d392d492d592d692d792d892d992da92db92dc92dd92de92df92e092e192e292e392e492e592e692e792e892e992ea92eb92ec92ed92ee92ef92f092f192f292f392f492f592f692f792f892f992fa92fb92fc92fd92fe92ff9200930193029303930493059306930793089309930a930b930c930d930e930f9310931193129313931493159316931793189319931a931b931c931d931e931f9320932193229323932493259326932793289329932a932b932c932d932e932f9330933193329333933493359336933793389339933a933b933c933d933e933f9340934193429343934493459346934793489349934a934b934c934d934e934f9350935193529353935493559356935793589359935a935b935c935d935e935f9360936193629363936493659366936793689369936a936b936c936d936e936f9370937193729373937493759376937793789379937a937b937c937d937e937f9380938193829383938493859386938793889389938a938b938c938d938e938f9390939193929393939493959396939793989399939a939b939c939d939e939f93a093a193a293a393a493a593a693a793a893a993aa93ab93ac93ad93ae93af93b093b193b293b393b493b593b693b793b893b993ba93bb93bc93bd93be93bf93c093c193c293c393c493c593c693c793c893c993ca93cb93cc93cd93ce93cf93d093d193d293d393d493d593d693d793d893d993da93db93dc93dd93de93df93e093e193e293e393e493e593e693e793e893e993ea93eb93ec93ed93ee93ef93f093f193f293f393f493f593f693f793f893f993fa93fb93fc93fd93fe93ff9300940194029403940494059406940794089409940a940b940c940d940e940f9410941194129413941494159416941794189419941a941b941c941d941e941f9420942194229423942494259426942794289429942a942b942c942d942e942f9430943194329433943494359436943794389439943a943b943c943d943e943f9440944194429443944494459446944794489449944a944b944c944d944e944f9450945194529453945494559456945794589459945a945b945c945d945e945f9460946194629463946494659466946794689469946a946b946c946d946e946f9470947194729473947494759476947794789479947a947b947c947d947e947f9480948194829483948494859486948794889489948a948b948c948d948e948f9490949194929493949494959496949794989499949a949b949c949d949e949f94a094a194a294a394a494a594a694a794a894a994aa94ab94ac94ad94ae94af94b094b194b294b394b494b594b694b794b894b994ba94bb94bc94bd94be94bf94c094c194c294c394c494c594c694c794c894c994ca94cb94cc94cd94ce94cf94d094d194d294d394d494d594d694d794d894d994da94db94dc94dd94de94df94e094e194e294e394e494e594e694e794e894e994ea94eb94ec94ed94ee94ef94f094f194f294f394f494f594f694f794f894f994fa94fb94fc94fd94fe94ff9400950195029503950495059506950795089509950a950b950c950d950e950f9510951195129513951495159516951795189519951a951b951c951d951e951f9520952195229523952495259526952795289529952a952b952c952d952e952f9530953195329533953495359536953795389539953a953b953c953d953e953f9540954195429543954495459546954795489549954a954b954c954d954e954f9550955195529553955495559556955795589559955a955b955c955d955e955f9560956195629563956495659566956795689569956a956b956c956d956e956f9570957195729573957495759576957795789579957a957b957c957d957e957f9580958195829583958495859586958795889589958a958b958c958d958e958f9590959195929593959495959596959795989599959a959b959c959d959e959f95a095a195a295a395a495a595a695a795a895a995aa95ab95ac95ad95ae95af95b095b195b295b395b495b595b695b795b895b995ba95bb95bc95bd95be95bf95c095c195c295c395c495c595c695c795c895c995ca95cb95cc95cd95ce95cf95d095d195d295d395d495d595d695d795d895d995da95db95dc95dd95de95df95e095e195e295e395e495e595e695e795e895e995ea95eb95ec95ed95ee95ef95f095f195f295f395f495f595f695f795f895f995fa95fb95fc95fd95fe95ff9500960196029603960496059606960796089609960a960b960c960d960e960f9610961196129613961496159616961796189619961a961b961c961d961e961f9620962196229623962496259626962796289629962a962b962c962d962e962f9630963196329633963496359636963796389639963a963b963c963d963e963f9640964196429643964496459646964796489649964a964b964c964d964e964f9650965196529653965496559656965796589659965a965b965c965d965e965f9660966196629663966496659666966796689669966a966b966c966d966e966f9670967196729673967496759676967796789679967a967b967c967d967e967f9680968196829683968496859686968796889689968a968b968c968d968e968f9690969196929693969496959696969796989699969a969b969c969d969e969f96a096a196a296a396a496a596a696a796a896a996aa96ab96ac96ad96ae96af96b096b196b296b396b496b596b696b796b896b996ba96bb96bc96bd96be96bf96c096c196c296c396c496c596c696c796c896c996ca96cb96cc96cd96ce96cf96d096d196d296d396d496d596d696d796d896d996da96db96dc96dd96de96df96e096e196e296e396e496e596e696e796e896e996ea96eb96ec96ed96ee96ef96f096f196f296f396f496f596f696f796f896f996fa96fb96fc96fd96fe96ff9600970197029703970497059706970797089709970a970b970c970d970e970f9710971197129713971497159716971797189719971a971b971c971d971e971f9720972197229723972497259726972797289729972a972b972c972d972e972f9730973197329733973497359736973797389739973a973b973c973d973e973f9740974197429743974497459746974797489749974a974b974c974d974e974f9750975197529753975497559756975797589759975a975b975c975d975e975f9760976197629763976497659766976797689769976a976b976c976d976e976f9770977197729773977497759776977797789779977a977b977c977d977e977f9780978197829783978497859786978797889789978a978b978c978d978e978f9790979197929793979497959796979797989799979a979b979c979d979e979f97a097a197a297a397a497a597a697a797a897a997aa97ab97ac97ad97ae97af97b097b197b297b397b497b597b697b797b897b997ba97bb97bc97bd97be97bf97c097c197c297c397c497c597c697c797c897c997ca97cb97cc97cd97ce97cf97d097d197d297d397d497d597d697d797d897d997da97db97dc97dd97de97df97e097e197e297e397e497e597e697e797e897e997ea97eb97ec97ed97ee97ef97f097f197f297f397f497f597f697f797f897f997fa97fb97fc97fd97fe97ff9700980198029803980498059806980798089809980a980b980c980d980e980f9810981198129813981498159816981798189819981a981b981c981d981e981f9820982198229823982498259826982798289829982a982b982c982d982e982f9830983198329833983498359836983798389839983a983b983c983d983e983f9840984198429843984498459846984798489849984a984b984c984d984e984f9850985198529853985498559856985798589859985a985b985c985d985e985f9860986198629863986498659866986798689869986a986b986c986d986e986f9870987198729873987498759876987798789879987a987b987c987d987e987f9880988198829883988498859886988798889889988a988b988c988d988e988f9890989198929893989498959896989798989899989a989b989c989d989e989f98a098a198a298a398a498a598a698a798a898a998aa98ab98ac98ad98ae98af98b098b198b298b398b498b598b698b798b898b998ba98bb98bc98bd98be98bf98c098c198c298c398c498c598c698c798c898c998ca98cb98cc98cd98ce98cf98d098d198d298d398d498d598d698d798d898d998da98db98dc98dd98de98df98e098e198e298e398e498e598e698e798e898e998ea98eb98ec98ed98ee98ef98f098f198f298f398f498f598f698f798f898f998fa98fb98fc98fd98fe98ff9800990199029903990499059906990799089909990a990b990c990d990e990f9910991199129913991499159916991799189919991a991b991c991d991e991f9920992199229923992499259926992799289929992a992b992c992d992e992f9930993199329933993499359936993799389939993a993b993c993d993e993f9940994199429943994499459946994799489949994a994b994c994d994e994f9950995199529953995499559956995799589959995a995b995c995d995e995f9960996199629963996499659966996799689969996a996b996c996d996e996f9970997199729973997499759976997799789979997a997b997c997d997e997f9980998199829983998499859986998799889989998a998b998c998d998e998f9990999199929993999499959996999799989999999a999b999c999d999e999f99a099a199a299a399a499a599a699a799a899a999aa99ab99ac99ad99ae99af99b099b199b299b399b499b599b699b799b899b999ba99bb99bc99bd99be99bf99c099c199c299c399c499c599c699c799c899c999ca99cb99cc99cd99ce99cf99d099d199d299d399d499d599d699d799d899d999da99db99dc99dd99de99df99e099e199e299e399e499e599e699e799e899e999ea99eb99ec99ed99ee99ef99f099f199f299f399f499f599f699f799f899f999fa99fb99fc99fd99fe99ff99009a019a029a039a049a059a069a079a089a099a0a9a0b9a0c9a0d9a0e9a0f9a109a119a129a139a149a159a169a179a189a199a1a9a1b9a1c9a1d9a1e9a1f9a209a219a229a239a249a259a269a279a289a299a2a9a2b9a2c9a2d9a2e9a2f9a309a319a329a339a349a359a369a379a389a399a3a9a3b9a3c9a3d9a3e9a3f9a409a419a429a439a449a459a469a479a489a499a4a9a4b9a4c9a4d9a4e9a4f9a509a519a529a539a549a559a569a579a589a599a5a9a5b9a5c9a5d9a5e9a5f9a609a619a629a639a649a659a669a679a689a699a6a9a6b9a6c9a6d9a6e9a6f9a709a719a729a739a749a759a769a779a789a799a7a9a7b9a7c9a7d9a7e9a7f9a809a819a829a839a849a859a869a879a889a899a8a9a8b9a8c9a8d9a8e9a8f9a909a919a929a939a949a959a969a979a989a999a9a9a9b9a9c9a9d9a9e9a9f9aa09aa19aa29aa39aa49aa59aa69aa79aa89aa99aaa9aab9aac9aad9aae9aaf9ab09ab19ab29ab39ab49ab59ab69ab79ab89ab99aba9abb9abc9abd9abe9abf9ac09ac19ac29ac39ac49ac59ac69ac79ac89ac99aca9acb9acc9acd9ace9acf9ad09ad19ad29ad39ad49ad59ad69ad79ad89ad99ada9adb9adc9add9ade9adf9ae09ae19ae29ae39ae49ae59ae69ae79ae89ae99aea9aeb9aec9aed9aee9aef9af09af19af29af39af49af59af69af79af89af99afa9afb9afc9afd9afe9aff9a009b019b029b039b049b059b069b079b089b099b0a9b0b9b0c9b0d9b0e9b0f9b109b119b129b139b149b159b169b179b189b199b1a9b1b9b1c9b1d9b1e9b1f9b209b219b229b239b249b259b269b279b289b299b2a9b2b9b2c9b2d9b2e9b2f9b309b319b329b339b349b359b369b379b389b399b3a9b3b9b3c9b3d9b3e9b3f9b409b419b429b439b449b459b469b479b489b499b4a9b4b9b4c9b4d9b4e9b4f9b509b519b529b539b549b559b569b579b589b599b5a9b5b9b5c9b5d9b5e9b5f9b609b619b629b639b649b659b669b679b689b699b6a9b6b9b6c9b6d9b6e9b6f9b709b719b729b739b749b759b769b779b789b799b7a9b7b9b7c9b7d9b7e9b7f9b809b819b829b839b849b859b869b879b889b899b8a9b8b9b8c9b8d9b8e9b8f9b909b919b929b939b949b959b969b979b989b999b9a9b9b9b9c9b9d9b9e9b9f9ba09ba19ba29ba39ba49ba59ba69ba79ba89ba99baa9bab9bac9bad9bae9baf9bb09bb19bb29bb39bb49bb59bb69bb79bb89bb99bba9bbb9bbc9bbd9bbe9bbf9bc09bc19bc29bc39bc49bc59bc69bc79bc89bc99bca9bcb9bcc9bcd9bce9bcf9bd09bd19bd29bd39bd49bd59bd69bd79bd89bd99bda9bdb9bdc9bdd9bde9bdf9be09be19be29be39be49be59be69be79be89be99bea9beb9bec9bed9bee9bef9bf09bf19bf29bf39bf49bf59bf69bf79bf89bf99bfa9bfb9bfc9bfd9bfe9bff9b009c019c029c039c049c059c069c079c089c099c0a9c0b9c0c9c0d9c0e9c0f9c109c119c129c139c149c159c169c179c189c199c1a9c1b9c1c9c1d9c1e9c1f9c209c219c229c239c249c259c269c279c289c299c2a9c2b9c2c9c2d9c2e9c2f9c309c319c329c339c349c359c369c379c389c399c3a9c3b9c3c9c3d9c3e9c3f9c409c419c429c439c449c459c469c479c489c499c4a9c4b9c4c9c4d9c4e9c4f9c509c519c529c539c549c559c569c579c589c599c5a9c5b9c5c9c5d9c5e9c5f9c609c619c629c639c649c659c669c679c689c699c6a9c6b9c6c9c6d9c6e9c6f9c709c719c729c739c749c759c769c779c789c799c7a9c7b9c7c9c7d9c7e9c7f9c809c819c829c839c849c859c869c879c889c899c8a9c8b9c8c9c8d9c8e9c8f9c909c919c929c939c949c959c969c979c989c999c9a9c9b9c9c9c9d9c9e9c9f9ca09ca19ca29ca39ca49ca59ca69ca79ca89ca99caa9cab9cac9cad9cae9caf9cb09cb19cb29cb39cb49cb59cb69cb79cb89cb99cba9cbb9cbc9cbd9cbe9cbf9cc09cc19cc29cc39cc49cc59cc69cc79cc89cc99cca9ccb9ccc9ccd9cce9ccf9cd09cd19cd29cd39cd49cd59cd69cd79cd89cd99cda9cdb9cdc9cdd9cde9cdf9ce09ce19ce29ce39ce49ce59ce69ce79ce89ce99cea9ceb9cec9ced9cee9cef9cf09cf19cf29cf39cf49cf59cf69cf79cf89cf99cfa9cfb9cfc9cfd9cfe9cff9c009d019d029d039d049d059d069d079d089d099d0a9d0b9d0c9d0d9d0e9d0f9d109d119d129d139d149d159d169d179d189d199d1a9d1b9d1c9d1d9d1e9d1f9d209d219d229d239d249d259d269d279d289d299d2a9d2b9d2c9d2d9d2e9d2f9d309d319d329d339d349d359d369d379d389d399d3a9d3b9d3c9d3d9d3e9d3f9d409d419d429d439d449d459d469d479d489d499d4a9d4b9d4c9d4d9d4e9d4f9d509d519d529d539d549d559d569d579d589d599d5a9d5b9d5c9d5d9d5e9d5f9d609d619d629d639d649d659d669d679d689d699d6a9d6b9d6c9d6d9d6e9d6f9d709d719d729d739d749d759d769d779d789d799d7a9d7b9d7c9d7d9d7e9d7f9d809d819d829d839d849d859d869d879d889d899d8a9d8b9d8c9d8d9d8e9d8f9d909d919d929d939d949d959d969d979d989d999d9a9d9b9d9c9d9d9d9e9d9f9da09da19da29da39da49da59da69da79da89da99daa9dab9dac9dad9dae9daf9db09db19db29db39db49db59db69db79db89db99dba9dbb9dbc9dbd9dbe9dbf9dc09dc19dc29dc39dc49dc59dc69dc79dc89dc99dca9dcb9dcc9dcd9dce9dcf9dd09dd19dd29dd39dd49dd59dd69dd79dd89dd99dda9ddb9ddc9ddd9dde9ddf9de09de19de29de39de49de59de69de79de89de99dea9deb9dec9ded9dee9def9df09df19df29df39df49df59df69df79df89df99dfa9dfb9dfc9dfd9dfe9dff9d009e019e029e039e049e059e069e079e089e099e0a9e0b9e0c9e0d9e0e9e0f9e109e119e129e139e149e159e169e179e189e199e1a9e1b9e1c9e1d9e1e9e1f9e209e219e229e239e249e259e269e279e289e299e2a9e2b9e2c9e2d9e2e9e2f9e309e319e329e339e349e359e369e379e389e399e3a9e3b9e3c9e3d9e3e9e3f9e409e419e429e439e449e459e469e479e489e499e4a9e4b9e4c9e4d9e4e9e4f9e509e519e529e539e549e559e569e579e589e599e5a9e5b9e5c9e5d9e5e9e5f9e609e619e629e639e649e659e669e679e689e699e6a9e6b9e6c9e6d9e6e9e6f9e709e719e729e739e749e759e769e779e789e799e7a9e7b9e7c9e7d9e7e9e7f9e809e819e829e839e849e859e869e879e889e899e8a9e8b9e8c9e8d9e8e9e8f9e909e919e929e939e949e959e969e979e989e999e9a9e9b9e9c9e9d9e9e9e9f9ea09ea19ea29ea39ea49ea59ea69ea79ea89ea99eaa9eab9eac9ead9eae9eaf9eb09eb19eb29eb39eb49eb59eb69eb79eb89eb99eba9ebb9ebc9ebd9ebe9ebf9ec09ec19ec29ec39ec49ec59ec69ec79ec89ec99eca9ecb9ecc9ecd9ece9ecf9ed09ed19ed29ed39ed49ed59ed69ed79ed89ed99eda9edb9edc9edd9ede9edf9ee09ee19ee29ee39ee49ee59ee69ee79ee89ee99eea9eeb9eec9eed9eee9eef9ef09ef19ef29ef39ef49ef59ef69ef79ef89ef99efa9efb9efc9efd9efe9eff9e009f019f029f039f049f059f069f079f089f099f0a9f0b9f0c9f0d9f0e9f0f9f109f119f129f139f149f159f169f179f189f199f1a9f1b9f1c9f1d9f1e9f1f9f209f219f229f239f249f259f269f279f289f299f2a9f2b9f2c9f2d9f2e9f2f9f309f319f329f339f349f359f369f379f389f399f3a9f3b9f3c9f3d9f3e9f3f9f409f419f429f439f449f459f469f479f489f499f4a9f4b9f4c9f4d9f4e9f4f9f509f519f529f539f549f559f569f579f589f599f5a9f5b9f5c9f5d9f5e9f5f9f609f619f629f639f649f659f669f679f689f699f6a9f6b9f6c9f6d9f6e9f6f9f709f719f729f739f749f759f769f779f789f799f7a9f7b9f7c9f7d9f7e9f7f9f809f819f829f839f849f859f869f879f889f899f8a9f8b9f8c9f8d9f8e9f8f9f909f919f929f939f949f959f969f979f989f999f9a9f9b9f9c9f9d9f9e9f9f9fa09fa19fa29fa39fa49fa59fa69fa79fa89fa99faa9fab9fac9fad9fae9faf9fb09fb19fb29fb39fb49fb59fb69fb79fb89fb99fba9fbb9fbc9fbd9fbe9fbf9fc09fc19fc29fc39fc49fc59fc69fc79fc89fc99fca9fcb9fcc9fcd9fce9fcf9fd09fd19fd29fd39fd49fd59fd69fd79fd89fd99fda9fdb9fdc9fdd9fde9fdf9fe09fe19fe29fe39fe49fe59fe69fe79fe89fe99fea9feb9fec9fed9fee9fef9ff09ff19ff29ff39ff49ff59ff69ff79ff89ff99ffa9ffb9ffc9ffd9ffe9fff9f00a001a002a003a004a005a006a007a008a009a00aa00ba00ca00da00ea00fa010a011a012a013a014a015a016a017a018a019a01aa01ba01ca01da01ea01fa020a021a022a023a024a025a026a027a028a029a02aa02ba02ca02da02ea02fa030a031a032a033a034a035a036a037a038a039a03aa03ba03ca03da03ea03fa040a041a042a043a044a045a046a047a048a049a04aa04ba04ca04da04ea04fa050a051a052a053a054a055a056a057a058a059a05aa05ba05ca05da05ea05fa060a061a062a063a064a065a066a067a068a069a06aa06ba06ca06da06ea06fa070a071a072a073a074a075a076a077a078a079a07aa07ba07ca07da07ea07fa080a081a082a083a084a085a086a087a088a089a08aa08ba08ca08da08ea08fa090a091a092a093a094a095a096a097a098a099a09aa09ba09ca09da09ea09fa0a0a0a1a0a2a0a3a0a4a0a5a0a6a0a7a0a8a0a9a0aaa0aba0aca0ada0aea0afa0b0a0b1a0b2a0b3a0b4a0b5a0b6a0b7a0b8a0b9a0baa0bba0bca0bda0bea0bfa0c0a0c1a0c2a0c3a0c4a0c5a0c6a0c7a0c8a0c9a0caa0cba0cca0cda0cea0cfa0d0a0d1a0d2a0d3a0d4a0d5a0d6a0d7a0d8a0d9a0daa0dba0dca0dda0dea0dfa0e0a0e1a0e2a0e3a0e4a0e5a0e6a0e7a0e8a0e9a0eaa0eba0eca0eda0eea0efa0f0a0f1a0f2a0f3a0f4a0f5a0f6a0f7a0f8a0f9a0faa0fba0fca0fda0fea0ffa000a101a102a103a104a105a106a107a108a109a10aa10ba10ca10da10ea10fa110a111a112a113a114a115a116a117a118a119a11aa11ba11ca11da11ea11fa120a121a122a123a124a125a126a127a128a129a12aa12ba12ca12da12ea12fa130a131a132a133a134a135a136a137a138a139a13aa13ba13ca13da13ea13fa140a141a142a143a144a145a146a147a148a149a14aa14ba14ca14da14ea14fa150a151a152a153a154a155a156a157a158a159a15aa15ba15ca15da15ea15fa160a161a162a163a164a165a166a167a168a169a16aa16ba16ca16da16ea16fa170a171a172a173a174a175a176a177a178a179a17aa17ba17ca17da17ea17fa180a181a182a183a184a185a186a187a188a189a18aa18ba18ca18da18ea18fa190a191a192a193a194a195a196a197a198a199a19aa19ba19ca19da19ea19fa1a0a1a1a1a2a1a3a1a4a1a5a1a6a1a7a1a8a1a9a1aaa1aba1aca1ada1aea1afa1b0a1b1a1b2a1b3a1b4a1b5a1b6a1b7a1b8a1b9a1baa1bba1bca1bda1bea1bfa1c0a1c1a1c2a1c3a1c4a1c5a1c6a1c7a1c8a1c9a1caa1cba1cca1cda1cea1cfa1d0a1d1a1d2a1d3a1d4a1d5a1d6a1d7a1d8a1d9a1daa1dba1dca1dda1dea1dfa1e0a1e1a1e2a1e3a1e4a1e5a1e6a1e7a1e8a1e9a1eaa1eba1eca1eda1eea1efa1f0a1f1a1f2a1f3a1f4a1f5a1f6a1f7a1f8a1f9a1faa1fba1fca1fda1fea1ffa100a201a202a203a204a205a206a207a208a209a20aa20ba20ca20da20ea20fa210a211a212a213a214a215a216a217a218a219a21aa21ba21ca21da21ea21fa220a221a222a223a224a225a226a227a228a229a22aa22ba22ca22da22ea22fa230a231a232a233a234a235a236a237a238a239a23aa23ba23ca23da23ea23fa240a241a242a243a244a245a246a247a248a249a24aa24ba24ca24da24ea24fa250a251a252a253a254a255a256a257a258a259a25aa25ba25ca25da25ea25fa260a261a262a263a264a265a266a267a268a269a26aa26ba26ca26da26ea26fa270a271a272a273a274a275a276a277a278a279a27aa27ba27ca27da27ea27fa280a281a282a283a284a285a286a287a288a289a28aa28ba28ca28da28ea28fa290a291a292a293a294a295a296a297a298a299a29aa29ba29ca29da29ea29fa2a0a2a1a2a2a2a3a2a4a2a5a2a6a2a7a2a8a2a9a2aaa2aba2aca2ada2aea2afa2b0a2b1a2b2a2b3a2b4a2b5a2b6a2b7a2b8a2b9a2baa2bba2bca2bda2bea2bfa2c0a2c1a2c2a2c3a2c4a2c5a2c6a2c7a2c8a2c9a2caa2cba2cca2cda2cea2cfa2d0a2d1a2d2a2d3a2d4a2d5a2d6a2d7a2d8a2d9a2daa2dba2dca2dda2dea2dfa2e0a2e1a2e2a2e3a2e4a2e5a2e6a2e7a2e8a2e9a2eaa2eba2eca2eda2eea2efa2f0a2f1a2f2a2f3a2f4a2f5a2f6a2f7a2f8a2f9a2faa2fba2fca2fda2fea2ffa200a301a302a303a304a305a306a307a308a309a30aa30ba30ca30da30ea30fa310a311a312a313a314a315a316a317a318a319a31aa31ba31ca31da31ea31fa320a321a322a323a324a325a326a327a328a329a32aa32ba32ca32da32ea32fa330a331a332a333a334a335a336a337a338a339a33aa33ba33ca33da33ea33fa340a341a342a343a344a345a346a347a348a349a34aa34ba34ca34da34ea34fa350a351a352a353a354a355a356a357a358a359a35aa35ba35ca35da35ea35fa360a361a362a363a364a365a366a367a368a369a36aa36ba36ca36da36ea36fa370a371a372a373a374a375a376a377a378a379a37aa37ba37ca37da37ea37fa380a381a382a383a384a385a386a387a388a389a38aa38ba38ca38da38ea38fa390a391a392a393a394a395a396a397a398a399a39aa39ba39ca39da39ea39fa3a0a3a1a3a2a3a3a3a4a3a5a3a6a3a7a3a8a3a9a3aaa3aba3aca3ada3aea3afa3b0a3b1a3b2a3b3a3b4a3b5a3b6a3b7a3b8a3b9a3baa3bba3bca3bda3bea3bfa3c0a3c1a3c2a3c3a3c4a3c5a3c6a3c7a3c8a3c9a3caa3cba3cca3cda3cea3cfa3d0a3d1a3d2a3d3a3d4a3d5a3d6a3d7a3d8a3d9a3daa3dba3dca3dda3dea3dfa3e0a3e1a3e2a3e3a3e4a3e5a3e6a3e7a3e8a3e9a3eaa3eba3eca3eda3eea3efa3f0a3f1a3f2a3f3a3f4a3f5a3f6a3f7a3f8a3f9a3faa3fba3fca3fda3fea3ffa300a401a402a403a404a405a406a407a408a409a40aa40ba40ca40da40ea40fa410a411a412a413a414a415a416a417a418a419a41aa41ba41ca41da41ea41fa420a421a422a423a424a425a426a427a428a429a42aa42ba42ca42da42ea42fa430a431a432a433a434a435a436a437a438a439a43aa43ba43ca43da43ea43fa440a441a442a443a444a445a446a447a448a449a44aa44ba44ca44da44ea44fa450a451a452a453a454a455a456a457a458a459a45aa45ba45ca45da45ea45fa460a461a462a463a464a465a466a467a468a469a46aa46ba46ca46da46ea46fa470a471a472a473a474a475a476a477a478a479a47aa47ba47ca47da47ea47fa480a481a482a483a484a485a486a487a488a489a48aa48ba48ca48da48ea48fa490a491a492a493a494a495a496a497a498a499a49aa49ba49ca49da49ea49fa4a0a4a1a4a2a4a3a4a4a4a5a4a6a4a7a4a8a4a9a4aaa4aba4aca4ada4aea4afa4b0a4b1a4b2a4b3a4b4a4b5a4b6a4b7a4b8a4b9a4baa4bba4bca4bda4bea4bfa4c0a4c1a4c2a4c3a4c4a4c5a4c6a4c7a4c8a4c9a4caa4cba4cca4cda4cea4cfa4d0a4d1a4d2a4d3a4d4a4d5a4d6a4d7a4d8a4d9a4daa4dba4dca4dda4dea4dfa4e0a4e1a4e2a4e3a4e4a4e5a4e6a4e7a4e8a4e9a4eaa4eba4eca4eda4eea4efa4f0a4f1a4f2a4f3a4f4a4f5a4f6a4f7a4f8a4f9a4faa4fba4fca4fda4fea4ffa400a501a502a503a504a505a506a507a508a509a50aa50ba50ca50da50ea50fa510a511a512a513a514a515a516a517a518a519a51aa51ba51ca51da51ea51fa520a521a522a523a524a525a526a527a528a529a52aa52ba52ca52da52ea52fa530a531a532a533a534a535a536a537a538a539a53aa53ba53ca53da53ea53fa540a541a542a543a544a545a546a547a548a549a54aa54ba54ca54da54ea54fa550a551a552a553a554a555a556a557a558a559a55aa55ba55ca55da55ea55fa560a561a562a563a564a565a566a567a568a569a56aa56ba56ca56da56ea56fa570a571a572a573a574a575a576a577a578a579a57aa57ba57ca57da57ea57fa580a581a582a583a584a585a586a587a588a589a58aa58ba58ca58da58ea58fa590a591a592a593a594a595a596a597a598a599a59aa59ba59ca59da59ea59fa5a0a5a1a5a2a5a3a5a4a5a5a5a6a5a7a5a8a5a9a5aaa5aba5aca5ada5aea5afa5b0a5b1a5b2a5b3a5b4a5b5a5b6a5b7a5b8a5b9a5baa5bba5bca5bda5bea5bfa5c0a5c1a5c2a5c3a5c4a5c5a5c6a5c7a5c8a5c9a5caa5cba5cca5cda5cea5cfa5d0a5d1a5d2a5d3a5d4a5d5a5d6a5d7a5d8a5d9a5daa5dba5dca5dda5dea5dfa5e0a5e1a5e2a5e3a5e4a5e5a5e6a5e7a5e8a5e9a5eaa5eba5eca5eda5eea5efa5f0a5f1a5f2a5f3a5f4a5f5a5f6a5f7a5f8a5f9a5faa5fba5fca5fda5fea5ffa500a601a602a603a604a605a606a607a608a609a60aa60ba60ca60da60ea60fa610a611a612a613a614a615a616a617a618a619a61aa61ba61ca61da61ea61fa620a621a622a623a624a625a626a627a628a629a62aa62ba62ca62da62ea62fa630a631a632a633a634a635a636a637a638a639a63aa63ba63ca63da63ea63fa640a640a642a642a644a644a646a646a648a648a64aa64aa64ca64ca64ea64ea650a650a652a652a654a654a656a656a658a658a65aa65aa65ca65ca65ea65ea660a661a662a662a664a664a666a666a668a668a66aa66aa66ca66ca66ea66fa670a671a672a673a674a675a676a677a678a679a67aa67ba67ca67da67ea67fa680a680a682a682a684a684a686a686a688a688a68aa68aa68ca68ca68ea68ea690a690a692a692a694a694a696a696a698a699a69aa69ba69ca69da69ea69fa6a0a6a1a6a2a6a3a6a4a6a5a6a6a6a7a6a8a6a9a6aaa6aba6aca6ada6aea6afa6b0a6b1a6b2a6b3a6b4a6b5a6b6a6b7a6b8a6b9a6baa6bba6bca6bda6bea6bfa6c0a6c1a6c2a6c3a6c4a6c5a6c6a6c7a6c8a6c9a6caa6cba6cca6cda6cea6cfa6d0a6d1a6d2a6d3a6d4a6d5a6d6a6d7a6d8a6d9a6daa6dba6dca6dda6dea6dfa6e0a6e1a6e2a6e3a6e4a6e5a6e6a6e7a6e8a6e9a6eaa6eba6eca6eda6eea6efa6f0a6f1a6f2a6f3a6f4a6f5a6f6a6f7a6f8a6f9a6faa6fba6fca6fda6fea6ffa600a701a702a703a704a705a706a707a708a709a70aa70ba70ca70da70ea70fa710a711a712a713a714a715a716a717a718a719a71aa71ba71ca71da71ea71fa720a721a722a722a724a724a726a726a728a728a72aa72aa72ca72ca72ea72ea730a731a732a732a734a734a736a736a738a738a73aa73aa73ca73ca73ea73ea740a740a742a742a744a744a746a746a748a748a74aa74aa74ca74ca74ea74ea750a750a752a752a754a754a756a756a758a758a75aa75aa75ca75ca75ea75ea760a760a762a762a764a764a766a766a768a768a76aa76aa76ca76ca76ea76ea770a771a772a773a774a775a776a777a778a779a779a77ba77ba77da77ea77ea780a780a782a782a784a784a786a786a788a789a78aa78ba78ba78da78ea78fa790a791a792a793a794a795a796a797a798a799a79aa79ba79ca79da79ea79fa7a0a7a1a7a2a7a3a7a4a7a5a7a6a7a7a7a8a7a9a7aaa7aba7aca7ada7aea7afa7b0a7b1a7b2a7b3a7b4a7b5a7b6a7b7a7b8a7b9a7baa7bba7bca7bda7bea7bfa7c0a7c1a7c2a7c3a7c4a7c5a7c6a7c7a7c8a7c9a7caa7cba7cca7cda7cea7cfa7d0a7d1a7d2a7d3a7d4a7d5a7d6a7d7a7d8a7d9a7daa7dba7dca7dda7dea7dfa7e0a7e1a7e2a7e3a7e4a7e5a7e6a7e7a7e8a7e9a7eaa7eba7eca7eda7eea7efa7f0a7f1a7f2a7f3a7f4a7f5a7f6a7f7a7f8a7f9a7faa7fba7fca7fda7fea7ffa700a801a802a803a804a805a806a807a808a809a80aa80ba80ca80da80ea80fa810a811a812a813a814a815a816a817a818a819a81aa81ba81ca81da81ea81fa820a821a822a823a824a825a826a827a828a829a82aa82ba82ca82da82ea82fa830a831a832a833a834a835a836a837a838a839a83aa83ba83ca83da83ea83fa840a841a842a843a844a845a846a847a848a849a84aa84ba84ca84da84ea84fa850a851a852a853a854a855a856a857a858a859a85aa85ba85ca85da85ea85fa860a861a862a863a864a865a866a867a868a869a86aa86ba86ca86da86ea86fa870a871a872a873a874a875a876a877a878a879a87aa87ba87ca87da87ea87fa880a881a882a883a884a885a886a887a888a889a88aa88ba88ca88da88ea88fa890a891a892a893a894a895a896a897a898a899a89aa89ba89ca89da89ea89fa8a0a8a1a8a2a8a3a8a4a8a5a8a6a8a7a8a8a8a9a8aaa8aba8aca8ada8aea8afa8b0a8b1a8b2a8b3a8b4a8b5a8b6a8b7a8b8a8b9a8baa8bba8bca8bda8bea8bfa8c0a8c1a8c2a8c3a8c4a8c5a8c6a8c7a8c8a8c9a8caa8cba8cca8cda8cea8cfa8d0a8d1a8d2a8d3a8d4a8d5a8d6a8d7a8d8a8d9a8daa8dba8dca8dda8dea8dfa8e0a8e1a8e2a8e3a8e4a8e5a8e6a8e7a8e8a8e9a8eaa8eba8eca8eda8eea8efa8f0a8f1a8f2a8f3a8f4a8f5a8f6a8f7a8f8a8f9a8faa8fba8fca8fda8fea8ffa800a901a902a903a904a905a906a907a908a909a90aa90ba90ca90da90ea90fa910a911a912a913a914a915a916a917a918a919a91aa91ba91ca91da91ea91fa920a921a922a923a924a925a926a927a928a929a92aa92ba92ca92da92ea92fa930a931a932a933a934a935a936a937a938a939a93aa93ba93ca93da93ea93fa940a941a942a943a944a945a946a947a948a949a94aa94ba94ca94da94ea94fa950a951a952a953a954a955a956a957a958a959a95aa95ba95ca95da95ea95fa960a961a962a963a964a965a966a967a968a969a96aa96ba96ca96da96ea96fa970a971a972a973a974a975a976a977a978a979a97aa97ba97ca97da97ea97fa980a981a982a983a984a985a986a987a988a989a98aa98ba98ca98da98ea98fa990a991a992a993a994a995a996a997a998a999a99aa99ba99ca99da99ea99fa9a0a9a1a9a2a9a3a9a4a9a5a9a6a9a7a9a8a9a9a9aaa9aba9aca9ada9aea9afa9b0a9b1a9b2a9b3a9b4a9b5a9b6a9b7a9b8a9b9a9baa9bba9bca9bda9bea9bfa9c0a9c1a9c2a9c3a9c4a9c5a9c6a9c7a9c8a9c9a9caa9cba9cca9cda9cea9cfa9d0a9d1a9d2a9d3a9d4a9d5a9d6a9d7a9d8a9d9a9daa9dba9dca9dda9dea9dfa9e0a9e1a9e2a9e3a9e4a9e5a9e6a9e7a9e8a9e9a9eaa9eba9eca9eda9eea9efa9f0a9f1a9f2a9f3a9f4a9f5a9f6a9f7a9f8a9f9a9faa9fba9fca9fda9fea9ffa900aa01aa02aa03aa04aa05aa06aa07aa08aa09aa0aaa0baa0caa0daa0eaa0faa10aa11aa12aa13aa14aa15aa16aa17aa18aa19aa1aaa1baa1caa1daa1eaa1faa20aa21aa22aa23aa24aa25aa26aa27aa28aa29aa2aaa2baa2caa2daa2eaa2faa30aa31aa32aa33aa34aa35aa36aa37aa38aa39aa3aaa3baa3caa3daa3eaa3faa40aa41aa42aa43aa44aa45aa46aa47aa48aa49aa4aaa4baa4caa4daa4eaa4faa50aa51aa52aa53aa54aa55aa56aa57aa58aa59aa5aaa5baa5caa5daa5eaa5faa60aa61aa62aa63aa64aa65aa66aa67aa68aa69aa6aaa6baa6caa6daa6eaa6faa70aa71aa72aa73aa74aa75aa76aa77aa78aa79aa7aaa7baa7caa7daa7eaa7faa80aa81aa82aa83aa84aa85aa86aa87aa88aa89aa8aaa8baa8caa8daa8eaa8faa90aa91aa92aa93aa94aa95aa96aa97aa98aa99aa9aaa9baa9caa9daa9eaa9faaa0aaa1aaa2aaa3aaa4aaa5aaa6aaa7aaa8aaa9aaaaaaabaaacaaadaaaeaaafaab0aab1aab2aab3aab4aab5aab6aab7aab8aab9aabaaabbaabcaabdaabeaabfaac0aac1aac2aac3aac4aac5aac6aac7aac8aac9aacaaacbaaccaacdaaceaacfaad0aad1aad2aad3aad4aad5aad6aad7aad8aad9aadaaadbaadcaaddaadeaadfaae0aae1aae2aae3aae4aae5aae6aae7aae8aae9aaeaaaebaaecaaedaaeeaaefaaf0aaf1aaf2aaf3aaf4aaf5aaf6aaf7aaf8aaf9aafaaafbaafcaafdaafeaaffaa00ab01ab02ab03ab04ab05ab06ab07ab08ab09ab0aab0bab0cab0dab0eab0fab10ab11ab12ab13ab14ab15ab16ab17ab18ab19ab1aab1bab1cab1dab1eab1fab20ab21ab22ab23ab24ab25ab26ab27ab28ab29ab2aab2bab2cab2dab2eab2fab30ab31ab32ab33ab34ab35ab36ab37ab38ab39ab3aab3bab3cab3dab3eab3fab40ab41ab42ab43ab44ab45ab46ab47ab48ab49ab4aab4bab4cab4dab4eab4fab50ab51ab52ab53ab54ab55ab56ab57ab58ab59ab5aab5bab5cab5dab5eab5fab60ab61ab62ab63ab64ab65ab66ab67ab68ab69ab6aab6bab6cab6dab6eab6fab70ab71ab72ab73ab74ab75ab76ab77ab78ab79ab7aab7bab7cab7dab7eab7fab80ab81ab82ab83ab84ab85ab86ab87ab88ab89ab8aab8bab8cab8dab8eab8fab90ab91ab92ab93ab94ab95ab96ab97ab98ab99ab9aab9bab9cab9dab9eab9faba0aba1aba2aba3aba4aba5aba6aba7aba8aba9abaaabababacabadabaeabafabb0abb1abb2abb3abb4abb5abb6abb7abb8abb9abbaabbbabbcabbdabbeabbfabc0abc1abc2abc3abc4abc5abc6abc7abc8abc9abcaabcbabccabcdabceabcfabd0abd1abd2abd3abd4abd5abd6abd7abd8abd9abdaabdbabdcabddabdeabdfabe0abe1abe2abe3abe4abe5abe6abe7abe8abe9abeaabebabecabedabeeabefabf0abf1abf2abf3abf4abf5abf6abf7abf8abf9abfaabfbabfcabfdabfeabffab00ac01ac02ac03ac04ac05ac06ac07ac08ac09ac0aac0bac0cac0dac0eac0fac10ac11ac12ac13ac14ac15ac16ac17ac18ac19ac1aac1bac1cac1dac1eac1fac20ac21ac22ac23ac24ac25ac26ac27ac28ac29ac2aac2bac2cac2dac2eac2fac30ac31ac32ac33ac34ac35ac36ac37ac38ac39ac3aac3bac3cac3dac3eac3fac40ac41ac42ac43ac44ac45ac46ac47ac48ac49ac4aac4bac4cac4dac4eac4fac50ac51ac52ac53ac54ac55ac56ac57ac58ac59ac5aac5bac5cac5dac5eac5fac60ac61ac62ac63ac64ac65ac66ac67ac68ac69ac6aac6bac6cac6dac6eac6fac70ac71ac72ac73ac74ac75ac76ac77ac78ac79ac7aac7bac7cac7dac7eac7fac80ac81ac82ac83ac84ac85ac86ac87ac88ac89ac8aac8bac8cac8dac8eac8fac90ac91ac92ac93ac94ac95ac96ac97ac98ac99ac9aac9bac9cac9dac9eac9faca0aca1aca2aca3aca4aca5aca6aca7aca8aca9acaaacabacacacadacaeacafacb0acb1acb2acb3acb4acb5acb6acb7acb8acb9acbaacbbacbcacbdacbeacbfacc0acc1acc2acc3acc4acc5acc6acc7acc8acc9accaaccbacccaccdacceaccfacd0acd1acd2acd3acd4acd5acd6acd7acd8acd9acdaacdbacdcacddacdeacdface0ace1ace2ace3ace4ace5ace6ace7ace8ace9aceaacebacecacedaceeacefacf0acf1acf2acf3acf4acf5acf6acf7acf8acf9acfaacfbacfcacfdacfeacffac00ad01ad02ad03ad04ad05ad06ad07ad08ad09ad0aad0bad0cad0dad0ead0fad10ad11ad12ad13ad14ad15ad16ad17ad18ad19ad1aad1bad1cad1dad1ead1fad20ad21ad22ad23ad24ad25ad26ad27ad28ad29ad2aad2bad2cad2dad2ead2fad30ad31ad32ad33ad34ad35ad36ad37ad38ad39ad3aad3bad3cad3dad3ead3fad40ad41ad42ad43ad44ad45ad46ad47ad48ad49ad4aad4bad4cad4dad4ead4fad50ad51ad52ad53ad54ad55ad56ad57ad58ad59ad5aad5bad5cad5dad5ead5fad60ad61ad62ad63ad64ad65ad66ad67ad68ad69ad6aad6bad6cad6dad6ead6fad70ad71ad72ad73ad74ad75ad76ad77ad78ad79ad7aad7bad7cad7dad7ead7fad80ad81ad82ad83ad84ad85ad86ad87ad88ad89ad8aad8bad8cad8dad8ead8fad90ad91ad92ad93ad94ad95ad96ad97ad98ad99ad9aad9bad9cad9dad9ead9fada0ada1ada2ada3ada4ada5ada6ada7ada8ada9adaaadabadacadadadaeadafadb0adb1adb2adb3adb4adb5adb6adb7adb8adb9adbaadbbadbcadbdadbeadbfadc0adc1adc2adc3adc4adc5adc6adc7adc8adc9adcaadcbadccadcdadceadcfadd0add1add2add3add4add5add6add7add8add9addaaddbaddcadddaddeaddfade0ade1ade2ade3ade4ade5ade6ade7ade8ade9adeaadebadecadedadeeadefadf0adf1adf2adf3adf4adf5adf6adf7adf8adf9adfaadfbadfcadfdadfeadffad00ae01ae02ae03ae04ae05ae06ae07ae08ae09ae0aae0bae0cae0dae0eae0fae10ae11ae12ae13ae14ae15ae16ae17ae18ae19ae1aae1bae1cae1dae1eae1fae20ae21ae22ae23ae24ae25ae26ae27ae28ae29ae2aae2bae2cae2dae2eae2fae30ae31ae32ae33ae34ae35ae36ae37ae38ae39ae3aae3bae3cae3dae3eae3fae40ae41ae42ae43ae44ae45ae46ae47ae48ae49ae4aae4bae4cae4dae4eae4fae50ae51ae52ae53ae54ae55ae56ae57ae58ae59ae5aae5bae5cae5dae5eae5fae60ae61ae62ae63ae64ae65ae66ae67ae68ae69ae6aae6bae6cae6dae6eae6fae70ae71ae72ae73ae74ae75ae76ae77ae78ae79ae7aae7bae7cae7dae7eae7fae80ae81ae82ae83ae84ae85ae86ae87ae88ae89ae8aae8bae8cae8dae8eae8fae90ae91ae92ae93ae94ae95ae96ae97ae98ae99ae9aae9bae9cae9dae9eae9faea0aea1aea2aea3aea4aea5aea6aea7aea8aea9aeaaaeabaeacaeadaeaeaeafaeb0aeb1aeb2aeb3aeb4aeb5aeb6aeb7aeb8aeb9aebaaebbaebcaebdaebeaebfaec0aec1aec2aec3aec4aec5aec6aec7aec8aec9aecaaecbaeccaecdaeceaecfaed0aed1aed2aed3aed4aed5aed6aed7aed8aed9aedaaedbaedcaeddaedeaedfaee0aee1aee2aee3aee4aee5aee6aee7aee8aee9aeeaaeebaeecaeedaeeeaeefaef0aef1aef2aef3aef4aef5aef6aef7aef8aef9aefaaefbaefcaefdaefeaeffae00af01af02af03af04af05af06af07af08af09af0aaf0baf0caf0daf0eaf0faf10af11af12af13af14af15af16af17af18af19af1aaf1baf1caf1daf1eaf1faf20af21af22af23af24af25af26af27af28af29af2aaf2baf2caf2daf2eaf2faf30af31af32af33af34af35af36af37af38af39af3aaf3baf3caf3daf3eaf3faf40af41af42af43af44af45af46af47af48af49af4aaf4baf4caf4daf4eaf4faf50af51af52af53af54af55af56af57af58af59af5aaf5baf5caf5daf5eaf5faf60af61af62af63af64af65af66af67af68af69af6aaf6baf6caf6daf6eaf6faf70af71af72af73af74af75af76af77af78af79af7aaf7baf7caf7daf7eaf7faf80af81af82af83af84af85af86af87af88af89af8aaf8baf8caf8daf8eaf8faf90af91af92af93af94af95af96af97af98af99af9aaf9baf9caf9daf9eaf9fafa0afa1afa2afa3afa4afa5afa6afa7afa8afa9afaaafabafacafadafaeafafafb0afb1afb2afb3afb4afb5afb6afb7afb8afb9afbaafbbafbcafbdafbeafbfafc0afc1afc2afc3afc4afc5afc6afc7afc8afc9afcaafcbafccafcdafceafcfafd0afd1afd2afd3afd4afd5afd6afd7afd8afd9afdaafdbafdcafddafdeafdfafe0afe1afe2afe3afe4afe5afe6afe7afe8afe9afeaafebafecafedafeeafefaff0aff1aff2aff3aff4aff5aff6aff7aff8aff9affaaffbaffcaffdaffeafffaf00b001b002b003b004b005b006b007b008b009b00ab00bb00cb00db00eb00fb010b011b012b013b014b015b016b017b018b019b01ab01bb01cb01db01eb01fb020b021b022b023b024b025b026b027b028b029b02ab02bb02cb02db02eb02fb030b031b032b033b034b035b036b037b038b039b03ab03bb03cb03db03eb03fb040b041b042b043b044b045b046b047b048b049b04ab04bb04cb04db04eb04fb050b051b052b053b054b055b056b057b058b059b05ab05bb05cb05db05eb05fb060b061b062b063b064b065b066b067b068b069b06ab06bb06cb06db06eb06fb070b071b072b073b074b075b076b077b078b079b07ab07bb07cb07db07eb07fb080b081b082b083b084b085b086b087b088b089b08ab08bb08cb08db08eb08fb090b091b092b093b094b095b096b097b098b099b09ab09bb09cb09db09eb09fb0a0b0a1b0a2b0a3b0a4b0a5b0a6b0a7b0a8b0a9b0aab0abb0acb0adb0aeb0afb0b0b0b1b0b2b0b3b0b4b0b5b0b6b0b7b0b8b0b9b0bab0bbb0bcb0bdb0beb0bfb0c0b0c1b0c2b0c3b0c4b0c5b0c6b0c7b0c8b0c9b0cab0cbb0ccb0cdb0ceb0cfb0d0b0d1b0d2b0d3b0d4b0d5b0d6b0d7b0d8b0d9b0dab0dbb0dcb0ddb0deb0dfb0e0b0e1b0e2b0e3b0e4b0e5b0e6b0e7b0e8b0e9b0eab0ebb0ecb0edb0eeb0efb0f0b0f1b0f2b0f3b0f4b0f5b0f6b0f7b0f8b0f9b0fab0fbb0fcb0fdb0feb0ffb000b101b102b103b104b105b106b107b108b109b10ab10bb10cb10db10eb10fb110b111b112b113b114b115b116b117b118b119b11ab11bb11cb11db11eb11fb120b121b122b123b124b125b126b127b128b129b12ab12bb12cb12db12eb12fb130b131b132b133b134b135b136b137b138b139b13ab13bb13cb13db13eb13fb140b141b142b143b144b145b146b147b148b149b14ab14bb14cb14db14eb14fb150b151b152b153b154b155b156b157b158b159b15ab15bb15cb15db15eb15fb160b161b162b163b164b165b166b167b168b169b16ab16bb16cb16db16eb16fb170b171b172b173b174b175b176b177b178b179b17ab17bb17cb17db17eb17fb180b181b182b183b184b185b186b187b188b189b18ab18bb18cb18db18eb18fb190b191b192b193b194b195b196b197b198b199b19ab19bb19cb19db19eb19fb1a0b1a1b1a2b1a3b1a4b1a5b1a6b1a7b1a8b1a9b1aab1abb1acb1adb1aeb1afb1b0b1b1b1b2b1b3b1b4b1b5b1b6b1b7b1b8b1b9b1bab1bbb1bcb1bdb1beb1bfb1c0b1c1b1c2b1c3b1c4b1c5b1c6b1c7b1c8b1c9b1cab1cbb1ccb1cdb1ceb1cfb1d0b1d1b1d2b1d3b1d4b1d5b1d6b1d7b1d8b1d9b1dab1dbb1dcb1ddb1deb1dfb1e0b1e1b1e2b1e3b1e4b1e5b1e6b1e7b1e8b1e9b1eab1ebb1ecb1edb1eeb1efb1f0b1f1b1f2b1f3b1f4b1f5b1f6b1f7b1f8b1f9b1fab1fbb1fcb1fdb1feb1ffb100b201b202b203b204b205b206b207b208b209b20ab20bb20cb20db20eb20fb210b211b212b213b214b215b216b217b218b219b21ab21bb21cb21db21eb21fb220b221b222b223b224b225b226b227b228b229b22ab22bb22cb22db22eb22fb230b231b232b233b234b235b236b237b238b239b23ab23bb23cb23db23eb23fb240b241b242b243b244b245b246b247b248b249b24ab24bb24cb24db24eb24fb250b251b252b253b254b255b256b257b258b259b25ab25bb25cb25db25eb25fb260b261b262b263b264b265b266b267b268b269b26ab26bb26cb26db26eb26fb270b271b272b273b274b275b276b277b278b279b27ab27bb27cb27db27eb27fb280b281b282b283b284b285b286b287b288b289b28ab28bb28cb28db28eb28fb290b291b292b293b294b295b296b297b298b299b29ab29bb29cb29db29eb29fb2a0b2a1b2a2b2a3b2a4b2a5b2a6b2a7b2a8b2a9b2aab2abb2acb2adb2aeb2afb2b0b2b1b2b2b2b3b2b4b2b5b2b6b2b7b2b8b2b9b2bab2bbb2bcb2bdb2beb2bfb2c0b2c1b2c2b2c3b2c4b2c5b2c6b2c7b2c8b2c9b2cab2cbb2ccb2cdb2ceb2cfb2d0b2d1b2d2b2d3b2d4b2d5b2d6b2d7b2d8b2d9b2dab2dbb2dcb2ddb2deb2dfb2e0b2e1b2e2b2e3b2e4b2e5b2e6b2e7b2e8b2e9b2eab2ebb2ecb2edb2eeb2efb2f0b2f1b2f2b2f3b2f4b2f5b2f6b2f7b2f8b2f9b2fab2fbb2fcb2fdb2feb2ffb200b301b302b303b304b305b306b307b308b309b30ab30bb30cb30db30eb30fb310b311b312b313b314b315b316b317b318b319b31ab31bb31cb31db31eb31fb320b321b322b323b324b325b326b327b328b329b32ab32bb32cb32db32eb32fb330b331b332b333b334b335b336b337b338b339b33ab33bb33cb33db33eb33fb340b341b342b343b344b345b346b347b348b349b34ab34bb34cb34db34eb34fb350b351b352b353b354b355b356b357b358b359b35ab35bb35cb35db35eb35fb360b361b362b363b364b365b366b367b368b369b36ab36bb36cb36db36eb36fb370b371b372b373b374b375b376b377b378b379b37ab37bb37cb37db37eb37fb380b381b382b383b384b385b386b387b388b389b38ab38bb38cb38db38eb38fb390b391b392b393b394b395b396b397b398b399b39ab39bb39cb39db39eb39fb3a0b3a1b3a2b3a3b3a4b3a5b3a6b3a7b3a8b3a9b3aab3abb3acb3adb3aeb3afb3b0b3b1b3b2b3b3b3b4b3b5b3b6b3b7b3b8b3b9b3bab3bbb3bcb3bdb3beb3bfb3c0b3c1b3c2b3c3b3c4b3c5b3c6b3c7b3c8b3c9b3cab3cbb3ccb3cdb3ceb3cfb3d0b3d1b3d2b3d3b3d4b3d5b3d6b3d7b3d8b3d9b3dab3dbb3dcb3ddb3deb3dfb3e0b3e1b3e2b3e3b3e4b3e5b3e6b3e7b3e8b3e9b3eab3ebb3ecb3edb3eeb3efb3f0b3f1b3f2b3f3b3f4b3f5b3f6b3f7b3f8b3f9b3fab3fbb3fcb3fdb3feb3ffb300b401b402b403b404b405b406b407b408b409b40ab40bb40cb40db40eb40fb410b411b412b413b414b415b416b417b418b419b41ab41bb41cb41db41eb41fb420b421b422b423b424b425b426b427b428b429b42ab42bb42cb42db42eb42fb430b431b432b433b434b435b436b437b438b439b43ab43bb43cb43db43eb43fb440b441b442b443b444b445b446b447b448b449b44ab44bb44cb44db44eb44fb450b451b452b453b454b455b456b457b458b459b45ab45bb45cb45db45eb45fb460b461b462b463b464b465b466b467b468b469b46ab46bb46cb46db46eb46fb470b471b472b473b474b475b476b477b478b479b47ab47bb47cb47db47eb47fb480b481b482b483b484b485b486b487b488b489b48ab48bb48cb48db48eb48fb490b491b492b493b494b495b496b497b498b499b49ab49bb49cb49db49eb49fb4a0b4a1b4a2b4a3b4a4b4a5b4a6b4a7b4a8b4a9b4aab4abb4acb4adb4aeb4afb4b0b4b1b4b2b4b3b4b4b4b5b4b6b4b7b4b8b4b9b4bab4bbb4bcb4bdb4beb4bfb4c0b4c1b4c2b4c3b4c4b4c5b4c6b4c7b4c8b4c9b4cab4cbb4ccb4cdb4ceb4cfb4d0b4d1b4d2b4d3b4d4b4d5b4d6b4d7b4d8b4d9b4dab4dbb4dcb4ddb4deb4dfb4e0b4e1b4e2b4e3b4e4b4e5b4e6b4e7b4e8b4e9b4eab4ebb4ecb4edb4eeb4efb4f0b4f1b4f2b4f3b4f4b4f5b4f6b4f7b4f8b4f9b4fab4fbb4fcb4fdb4feb4ffb400b501b502b503b504b505b506b507b508b509b50ab50bb50cb50db50eb50fb510b511b512b513b514b515b516b517b518b519b51ab51bb51cb51db51eb51fb520b521b522b523b524b525b526b527b528b529b52ab52bb52cb52db52eb52fb530b531b532b533b534b535b536b537b538b539b53ab53bb53cb53db53eb53fb540b541b542b543b544b545b546b547b548b549b54ab54bb54cb54db54eb54fb550b551b552b553b554b555b556b557b558b559b55ab55bb55cb55db55eb55fb560b561b562b563b564b565b566b567b568b569b56ab56bb56cb56db56eb56fb570b571b572b573b574b575b576b577b578b579b57ab57bb57cb57db57eb57fb580b581b582b583b584b585b586b587b588b589b58ab58bb58cb58db58eb58fb590b591b592b593b594b595b596b597b598b599b59ab59bb59cb59db59eb59fb5a0b5a1b5a2b5a3b5a4b5a5b5a6b5a7b5a8b5a9b5aab5abb5acb5adb5aeb5afb5b0b5b1b5b2b5b3b5b4b5b5b5b6b5b7b5b8b5b9b5bab5bbb5bcb5bdb5beb5bfb5c0b5c1b5c2b5c3b5c4b5c5b5c6b5c7b5c8b5c9b5cab5cbb5ccb5cdb5ceb5cfb5d0b5d1b5d2b5d3b5d4b5d5b5d6b5d7b5d8b5d9b5dab5dbb5dcb5ddb5deb5dfb5e0b5e1b5e2b5e3b5e4b5e5b5e6b5e7b5e8b5e9b5eab5ebb5ecb5edb5eeb5efb5f0b5f1b5f2b5f3b5f4b5f5b5f6b5f7b5f8b5f9b5fab5fbb5fcb5fdb5feb5ffb500b601b602b603b604b605b606b607b608b609b60ab60bb60cb60db60eb60fb610b611b612b613b614b615b616b617b618b619b61ab61bb61cb61db61eb61fb620b621b622b623b624b625b626b627b628b629b62ab62bb62cb62db62eb62fb630b631b632b633b634b635b636b637b638b639b63ab63bb63cb63db63eb63fb640b641b642b643b644b645b646b647b648b649b64ab64bb64cb64db64eb64fb650b651b652b653b654b655b656b657b658b659b65ab65bb65cb65db65eb65fb660b661b662b663b664b665b666b667b668b669b66ab66bb66cb66db66eb66fb670b671b672b673b674b675b676b677b678b679b67ab67bb67cb67db67eb67fb680b681b682b683b684b685b686b687b688b689b68ab68bb68cb68db68eb68fb690b691b692b693b694b695b696b697b698b699b69ab69bb69cb69db69eb69fb6a0b6a1b6a2b6a3b6a4b6a5b6a6b6a7b6a8b6a9b6aab6abb6acb6adb6aeb6afb6b0b6b1b6b2b6b3b6b4b6b5b6b6b6b7b6b8b6b9b6bab6bbb6bcb6bdb6beb6bfb6c0b6c1b6c2b6c3b6c4b6c5b6c6b6c7b6c8b6c9b6cab6cbb6ccb6cdb6ceb6cfb6d0b6d1b6d2b6d3b6d4b6d5b6d6b6d7b6d8b6d9b6dab6dbb6dcb6ddb6deb6dfb6e0b6e1b6e2b6e3b6e4b6e5b6e6b6e7b6e8b6e9b6eab6ebb6ecb6edb6eeb6efb6f0b6f1b6f2b6f3b6f4b6f5b6f6b6f7b6f8b6f9b6fab6fbb6fcb6fdb6feb6ffb600b701b702b703b704b705b706b707b708b709b70ab70bb70cb70db70eb70fb710b711b712b713b714b715b716b717b718b719b71ab71bb71cb71db71eb71fb720b721b722b723b724b725b726b727b728b729b72ab72bb72cb72db72eb72fb730b731b732b733b734b735b736b737b738b739b73ab73bb73cb73db73eb73fb740b741b742b743b744b745b746b747b748b749b74ab74bb74cb74db74eb74fb750b751b752b753b754b755b756b757b758b759b75ab75bb75cb75db75eb75fb760b761b762b763b764b765b766b767b768b769b76ab76bb76cb76db76eb76fb770b771b772b773b774b775b776b777b778b779b77ab77bb77cb77db77eb77fb780b781b782b783b784b785b786b787b788b789b78ab78bb78cb78db78eb78fb790b791b792b793b794b795b796b797b798b799b79ab79bb79cb79db79eb79fb7a0b7a1b7a2b7a3b7a4b7a5b7a6b7a7b7a8b7a9b7aab7abb7acb7adb7aeb7afb7b0b7b1b7b2b7b3b7b4b7b5b7b6b7b7b7b8b7b9b7bab7bbb7bcb7bdb7beb7bfb7c0b7c1b7c2b7c3b7c4b7c5b7c6b7c7b7c8b7c9b7cab7cbb7ccb7cdb7ceb7cfb7d0b7d1b7d2b7d3b7d4b7d5b7d6b7d7b7d8b7d9b7dab7dbb7dcb7ddb7deb7dfb7e0b7e1b7e2b7e3b7e4b7e5b7e6b7e7b7e8b7e9b7eab7ebb7ecb7edb7eeb7efb7f0b7f1b7f2b7f3b7f4b7f5b7f6b7f7b7f8b7f9b7fab7fbb7fcb7fdb7feb7ffb700b801b802b803b804b805b806b807b808b809b80ab80bb80cb80db80eb80fb810b811b812b813b814b815b816b817b818b819b81ab81bb81cb81db81eb81fb820b821b822b823b824b825b826b827b828b829b82ab82bb82cb82db82eb82fb830b831b832b833b834b835b836b837b838b839b83ab83bb83cb83db83eb83fb840b841b842b843b844b845b846b847b848b849b84ab84bb84cb84db84eb84fb850b851b852b853b854b855b856b857b858b859b85ab85bb85cb85db85eb85fb860b861b862b863b864b865b866b867b868b869b86ab86bb86cb86db86eb86fb870b871b872b873b874b875b876b877b878b879b87ab87bb87cb87db87eb87fb880b881b882b883b884b885b886b887b888b889b88ab88bb88cb88db88eb88fb890b891b892b893b894b895b896b897b898b899b89ab89bb89cb89db89eb89fb8a0b8a1b8a2b8a3b8a4b8a5b8a6b8a7b8a8b8a9b8aab8abb8acb8adb8aeb8afb8b0b8b1b8b2b8b3b8b4b8b5b8b6b8b7b8b8b8b9b8bab8bbb8bcb8bdb8beb8bfb8c0b8c1b8c2b8c3b8c4b8c5b8c6b8c7b8c8b8c9b8cab8cbb8ccb8cdb8ceb8cfb8d0b8d1b8d2b8d3b8d4b8d5b8d6b8d7b8d8b8d9b8dab8dbb8dcb8ddb8deb8dfb8e0b8e1b8e2b8e3b8e4b8e5b8e6b8e7b8e8b8e9b8eab8ebb8ecb8edb8eeb8efb8f0b8f1b8f2b8f3b8f4b8f5b8f6b8f7b8f8b8f9b8fab8fbb8fcb8fdb8feb8ffb800b901b902b903b904b905b906b907b908b909b90ab90bb90cb90db90eb90fb910b911b912b913b914b915b916b917b918b919b91ab91bb91cb91db91eb91fb920b921b922b923b924b925b926b927b928b929b92ab92bb92cb92db92eb92fb930b931b932b933b934b935b936b937b938b939b93ab93bb93cb93db93eb93fb940b941b942b943b944b945b946b947b948b949b94ab94bb94cb94db94eb94fb950b951b952b953b954b955b956b957b958b959b95ab95bb95cb95db95eb95fb960b961b962b963b964b965b966b967b968b969b96ab96bb96cb96db96eb96fb970b971b972b973b974b975b976b977b978b979b97ab97bb97cb97db97eb97fb980b981b982b983b984b985b986b987b988b989b98ab98bb98cb98db98eb98fb990b991b992b993b994b995b996b997b998b999b99ab99bb99cb99db99eb99fb9a0b9a1b9a2b9a3b9a4b9a5b9a6b9a7b9a8b9a9b9aab9abb9acb9adb9aeb9afb9b0b9b1b9b2b9b3b9b4b9b5b9b6b9b7b9b8b9b9b9bab9bbb9bcb9bdb9beb9bfb9c0b9c1b9c2b9c3b9c4b9c5b9c6b9c7b9c8b9c9b9cab9cbb9ccb9cdb9ceb9cfb9d0b9d1b9d2b9d3b9d4b9d5b9d6b9d7b9d8b9d9b9dab9dbb9dcb9ddb9deb9dfb9e0b9e1b9e2b9e3b9e4b9e5b9e6b9e7b9e8b9e9b9eab9ebb9ecb9edb9eeb9efb9f0b9f1b9f2b9f3b9f4b9f5b9f6b9f7b9f8b9f9b9fab9fbb9fcb9fdb9feb9ffb900ba01ba02ba03ba04ba05ba06ba07ba08ba09ba0aba0bba0cba0dba0eba0fba10ba11ba12ba13ba14ba15ba16ba17ba18ba19ba1aba1bba1cba1dba1eba1fba20ba21ba22ba23ba24ba25ba26ba27ba28ba29ba2aba2bba2cba2dba2eba2fba30ba31ba32ba33ba34ba35ba36ba37ba38ba39ba3aba3bba3cba3dba3eba3fba40ba41ba42ba43ba44ba45ba46ba47ba48ba49ba4aba4bba4cba4dba4eba4fba50ba51ba52ba53ba54ba55ba56ba57ba58ba59ba5aba5bba5cba5dba5eba5fba60ba61ba62ba63ba64ba65ba66ba67ba68ba69ba6aba6bba6cba6dba6eba6fba70ba71ba72ba73ba74ba75ba76ba77ba78ba79ba7aba7bba7cba7dba7eba7fba80ba81ba82ba83ba84ba85ba86ba87ba88ba89ba8aba8bba8cba8dba8eba8fba90ba91ba92ba93ba94ba95ba96ba97ba98ba99ba9aba9bba9cba9dba9eba9fbaa0baa1baa2baa3baa4baa5baa6baa7baa8baa9baaabaabbaacbaadbaaebaafbab0bab1bab2bab3bab4bab5bab6bab7bab8bab9babababbbabcbabdbabebabfbac0bac1bac2bac3bac4bac5bac6bac7bac8bac9bacabacbbaccbacdbacebacfbad0bad1bad2bad3bad4bad5bad6bad7bad8bad9badabadbbadcbaddbadebadfbae0bae1bae2bae3bae4bae5bae6bae7bae8bae9baeabaebbaecbaedbaeebaefbaf0baf1baf2baf3baf4baf5baf6baf7baf8baf9bafabafbbafcbafdbafebaffba00bb01bb02bb03bb04bb05bb06bb07bb08bb09bb0abb0bbb0cbb0dbb0ebb0fbb10bb11bb12bb13bb14bb15bb16bb17bb18bb19bb1abb1bbb1cbb1dbb1ebb1fbb20bb21bb22bb23bb24bb25bb26bb27bb28bb29bb2abb2bbb2cbb2dbb2ebb2fbb30bb31bb32bb33bb34bb35bb36bb37bb38bb39bb3abb3bbb3cbb3dbb3ebb3fbb40bb41bb42bb43bb44bb45bb46bb47bb48bb49bb4abb4bbb4cbb4dbb4ebb4fbb50bb51bb52bb53bb54bb55bb56bb57bb58bb59bb5abb5bbb5cbb5dbb5ebb5fbb60bb61bb62bb63bb64bb65bb66bb67bb68bb69bb6abb6bbb6cbb6dbb6ebb6fbb70bb71bb72bb73bb74bb75bb76bb77bb78bb79bb7abb7bbb7cbb7dbb7ebb7fbb80bb81bb82bb83bb84bb85bb86bb87bb88bb89bb8abb8bbb8cbb8dbb8ebb8fbb90bb91bb92bb93bb94bb95bb96bb97bb98bb99bb9abb9bbb9cbb9dbb9ebb9fbba0bba1bba2bba3bba4bba5bba6bba7bba8bba9bbaabbabbbacbbadbbaebbafbbb0bbb1bbb2bbb3bbb4bbb5bbb6bbb7bbb8bbb9bbbabbbbbbbcbbbdbbbebbbfbbc0bbc1bbc2bbc3bbc4bbc5bbc6bbc7bbc8bbc9bbcabbcbbbccbbcdbbcebbcfbbd0bbd1bbd2bbd3bbd4bbd5bbd6bbd7bbd8bbd9bbdabbdbbbdcbbddbbdebbdfbbe0bbe1bbe2bbe3bbe4bbe5bbe6bbe7bbe8bbe9bbeabbebbbecbbedbbeebbefbbf0bbf1bbf2bbf3bbf4bbf5bbf6bbf7bbf8bbf9bbfabbfbbbfcbbfdbbfebbffbb00bc01bc02bc03bc04bc05bc06bc07bc08bc09bc0abc0bbc0cbc0dbc0ebc0fbc10bc11bc12bc13bc14bc15bc16bc17bc18bc19bc1abc1bbc1cbc1dbc1ebc1fbc20bc21bc22bc23bc24bc25bc26bc27bc28bc29bc2abc2bbc2cbc2dbc2ebc2fbc30bc31bc32bc33bc34bc35bc36bc37bc38bc39bc3abc3bbc3cbc3dbc3ebc3fbc40bc41bc42bc43bc44bc45bc46bc47bc48bc49bc4abc4bbc4cbc4dbc4ebc4fbc50bc51bc52bc53bc54bc55bc56bc57bc58bc59bc5abc5bbc5cbc5dbc5ebc5fbc60bc61bc62bc63bc64bc65bc66bc67bc68bc69bc6abc6bbc6cbc6dbc6ebc6fbc70bc71bc72bc73bc74bc75bc76bc77bc78bc79bc7abc7bbc7cbc7dbc7ebc7fbc80bc81bc82bc83bc84bc85bc86bc87bc88bc89bc8abc8bbc8cbc8dbc8ebc8fbc90bc91bc92bc93bc94bc95bc96bc97bc98bc99bc9abc9bbc9cbc9dbc9ebc9fbca0bca1bca2bca3bca4bca5bca6bca7bca8bca9bcaabcabbcacbcadbcaebcafbcb0bcb1bcb2bcb3bcb4bcb5bcb6bcb7bcb8bcb9bcbabcbbbcbcbcbdbcbebcbfbcc0bcc1bcc2bcc3bcc4bcc5bcc6bcc7bcc8bcc9bccabccbbcccbccdbccebccfbcd0bcd1bcd2bcd3bcd4bcd5bcd6bcd7bcd8bcd9bcdabcdbbcdcbcddbcdebcdfbce0bce1bce2bce3bce4bce5bce6bce7bce8bce9bceabcebbcecbcedbceebcefbcf0bcf1bcf2bcf3bcf4bcf5bcf6bcf7bcf8bcf9bcfabcfbbcfcbcfdbcfebcffbc00bd01bd02bd03bd04bd05bd06bd07bd08bd09bd0abd0bbd0cbd0dbd0ebd0fbd10bd11bd12bd13bd14bd15bd16bd17bd18bd19bd1abd1bbd1cbd1dbd1ebd1fbd20bd21bd22bd23bd24bd25bd26bd27bd28bd29bd2abd2bbd2cbd2dbd2ebd2fbd30bd31bd32bd33bd34bd35bd36bd37bd38bd39bd3abd3bbd3cbd3dbd3ebd3fbd40bd41bd42bd43bd44bd45bd46bd47bd48bd49bd4abd4bbd4cbd4dbd4ebd4fbd50bd51bd52bd53bd54bd55bd56bd57bd58bd59bd5abd5bbd5cbd5dbd5ebd5fbd60bd61bd62bd63bd64bd65bd66bd67bd68bd69bd6abd6bbd6cbd6dbd6ebd6fbd70bd71bd72bd73bd74bd75bd76bd77bd78bd79bd7abd7bbd7cbd7dbd7ebd7fbd80bd81bd82bd83bd84bd85bd86bd87bd88bd89bd8abd8bbd8cbd8dbd8ebd8fbd90bd91bd92bd93bd94bd95bd96bd97bd98bd99bd9abd9bbd9cbd9dbd9ebd9fbda0bda1bda2bda3bda4bda5bda6bda7bda8bda9bdaabdabbdacbdadbdaebdafbdb0bdb1bdb2bdb3bdb4bdb5bdb6bdb7bdb8bdb9bdbabdbbbdbcbdbdbdbebdbfbdc0bdc1bdc2bdc3bdc4bdc5bdc6bdc7bdc8bdc9bdcabdcbbdccbdcdbdcebdcfbdd0bdd1bdd2bdd3bdd4bdd5bdd6bdd7bdd8bdd9bddabddbbddcbdddbddebddfbde0bde1bde2bde3bde4bde5bde6bde7bde8bde9bdeabdebbdecbdedbdeebdefbdf0bdf1bdf2bdf3bdf4bdf5bdf6bdf7bdf8bdf9bdfabdfbbdfcbdfdbdfebdffbd00be01be02be03be04be05be06be07be08be09be0abe0bbe0cbe0dbe0ebe0fbe10be11be12be13be14be15be16be17be18be19be1abe1bbe1cbe1dbe1ebe1fbe20be21be22be23be24be25be26be27be28be29be2abe2bbe2cbe2dbe2ebe2fbe30be31be32be33be34be35be36be37be38be39be3abe3bbe3cbe3dbe3ebe3fbe40be41be42be43be44be45be46be47be48be49be4abe4bbe4cbe4dbe4ebe4fbe50be51be52be53be54be55be56be57be58be59be5abe5bbe5cbe5dbe5ebe5fbe60be61be62be63be64be65be66be67be68be69be6abe6bbe6cbe6dbe6ebe6fbe70be71be72be73be74be75be76be77be78be79be7abe7bbe7cbe7dbe7ebe7fbe80be81be82be83be84be85be86be87be88be89be8abe8bbe8cbe8dbe8ebe8fbe90be91be92be93be94be95be96be97be98be99be9abe9bbe9cbe9dbe9ebe9fbea0bea1bea2bea3bea4bea5bea6bea7bea8bea9beaabeabbeacbeadbeaebeafbeb0beb1beb2beb3beb4beb5beb6beb7beb8beb9bebabebbbebcbebdbebebebfbec0bec1bec2bec3bec4bec5bec6bec7bec8bec9becabecbbeccbecdbecebecfbed0bed1bed2bed3bed4bed5bed6bed7bed8bed9bedabedbbedcbeddbedebedfbee0bee1bee2bee3bee4bee5bee6bee7bee8bee9beeabeebbeecbeedbeeebeefbef0bef1bef2bef3bef4bef5bef6bef7bef8bef9befabefbbefcbefdbefebeffbe00bf01bf02bf03bf04bf05bf06bf07bf08bf09bf0abf0bbf0cbf0dbf0ebf0fbf10bf11bf12bf13bf14bf15bf16bf17bf18bf19bf1abf1bbf1cbf1dbf1ebf1fbf20bf21bf22bf23bf24bf25bf26bf27bf28bf29bf2abf2bbf2cbf2dbf2ebf2fbf30bf31bf32bf33bf34bf35bf36bf37bf38bf39bf3abf3bbf3cbf3dbf3ebf3fbf40bf41bf42bf43bf44bf45bf46bf47bf48bf49bf4abf4bbf4cbf4dbf4ebf4fbf50bf51bf52bf53bf54bf55bf56bf57bf58bf59bf5abf5bbf5cbf5dbf5ebf5fbf60bf61bf62bf63bf64bf65bf66bf67bf68bf69bf6abf6bbf6cbf6dbf6ebf6fbf70bf71bf72bf73bf74bf75bf76bf77bf78bf79bf7abf7bbf7cbf7dbf7ebf7fbf80bf81bf82bf83bf84bf85bf86bf87bf88bf89bf8abf8bbf8cbf8dbf8ebf8fbf90bf91bf92bf93bf94bf95bf96bf97bf98bf99bf9abf9bbf9cbf9dbf9ebf9fbfa0bfa1bfa2bfa3bfa4bfa5bfa6bfa7bfa8bfa9bfaabfabbfacbfadbfaebfafbfb0bfb1bfb2bfb3bfb4bfb5bfb6bfb7bfb8bfb9bfbabfbbbfbcbfbdbfbebfbfbfc0bfc1bfc2bfc3bfc4bfc5bfc6bfc7bfc8bfc9bfcabfcbbfccbfcdbfcebfcfbfd0bfd1bfd2bfd3bfd4bfd5bfd6bfd7bfd8bfd9bfdabfdbbfdcbfddbfdebfdfbfe0bfe1bfe2bfe3bfe4bfe5bfe6bfe7bfe8bfe9bfeabfebbfecbfedbfeebfefbff0bff1bff2bff3bff4bff5bff6bff7bff8bff9bffabffbbffcbffdbffebfffbf00c001c002c003c004c005c006c007c008c009c00ac00bc00cc00dc00ec00fc010c011c012c013c014c015c016c017c018c019c01ac01bc01cc01dc01ec01fc020c021c022c023c024c025c026c027c028c029c02ac02bc02cc02dc02ec02fc030c031c032c033c034c035c036c037c038c039c03ac03bc03cc03dc03ec03fc040c041c042c043c044c045c046c047c048c049c04ac04bc04cc04dc04ec04fc050c051c052c053c054c055c056c057c058c059c05ac05bc05cc05dc05ec05fc060c061c062c063c064c065c066c067c068c069c06ac06bc06cc06dc06ec06fc070c071c072c073c074c075c076c077c078c079c07ac07bc07cc07dc07ec07fc080c081c082c083c084c085c086c087c088c089c08ac08bc08cc08dc08ec08fc090c091c092c093c094c095c096c097c098c099c09ac09bc09cc09dc09ec09fc0a0c0a1c0a2c0a3c0a4c0a5c0a6c0a7c0a8c0a9c0aac0abc0acc0adc0aec0afc0b0c0b1c0b2c0b3c0b4c0b5c0b6c0b7c0b8c0b9c0bac0bbc0bcc0bdc0bec0bfc0c0c0c1c0c2c0c3c0c4c0c5c0c6c0c7c0c8c0c9c0cac0cbc0ccc0cdc0cec0cfc0d0c0d1c0d2c0d3c0d4c0d5c0d6c0d7c0d8c0d9c0dac0dbc0dcc0ddc0dec0dfc0e0c0e1c0e2c0e3c0e4c0e5c0e6c0e7c0e8c0e9c0eac0ebc0ecc0edc0eec0efc0f0c0f1c0f2c0f3c0f4c0f5c0f6c0f7c0f8c0f9c0fac0fbc0fcc0fdc0fec0ffc000c101c102c103c104c105c106c107c108c109c10ac10bc10cc10dc10ec10fc110c111c112c113c114c115c116c117c118c119c11ac11bc11cc11dc11ec11fc120c121c122c123c124c125c126c127c128c129c12ac12bc12cc12dc12ec12fc130c131c132c133c134c135c136c137c138c139c13ac13bc13cc13dc13ec13fc140c141c142c143c144c145c146c147c148c149c14ac14bc14cc14dc14ec14fc150c151c152c153c154c155c156c157c158c159c15ac15bc15cc15dc15ec15fc160c161c162c163c164c165c166c167c168c169c16ac16bc16cc16dc16ec16fc170c171c172c173c174c175c176c177c178c179c17ac17bc17cc17dc17ec17fc180c181c182c183c184c185c186c187c188c189c18ac18bc18cc18dc18ec18fc190c191c192c193c194c195c196c197c198c199c19ac19bc19cc19dc19ec19fc1a0c1a1c1a2c1a3c1a4c1a5c1a6c1a7c1a8c1a9c1aac1abc1acc1adc1aec1afc1b0c1b1c1b2c1b3c1b4c1b5c1b6c1b7c1b8c1b9c1bac1bbc1bcc1bdc1bec1bfc1c0c1c1c1c2c1c3c1c4c1c5c1c6c1c7c1c8c1c9c1cac1cbc1ccc1cdc1cec1cfc1d0c1d1c1d2c1d3c1d4c1d5c1d6c1d7c1d8c1d9c1dac1dbc1dcc1ddc1dec1dfc1e0c1e1c1e2c1e3c1e4c1e5c1e6c1e7c1e8c1e9c1eac1ebc1ecc1edc1eec1efc1f0c1f1c1f2c1f3c1f4c1f5c1f6c1f7c1f8c1f9c1fac1fbc1fcc1fdc1fec1ffc100c201c202c203c204c205c206c207c208c209c20ac20bc20cc20dc20ec20fc210c211c212c213c214c215c216c217c218c219c21ac21bc21cc21dc21ec21fc220c221c222c223c224c225c226c227c228c229c22ac22bc22cc22dc22ec22fc230c231c232c233c234c235c236c237c238c239c23ac23bc23cc23dc23ec23fc240c241c242c243c244c245c246c247c248c249c24ac24bc24cc24dc24ec24fc250c251c252c253c254c255c256c257c258c259c25ac25bc25cc25dc25ec25fc260c261c262c263c264c265c266c267c268c269c26ac26bc26cc26dc26ec26fc270c271c272c273c274c275c276c277c278c279c27ac27bc27cc27dc27ec27fc280c281c282c283c284c285c286c287c288c289c28ac28bc28cc28dc28ec28fc290c291c292c293c294c295c296c297c298c299c29ac29bc29cc29dc29ec29fc2a0c2a1c2a2c2a3c2a4c2a5c2a6c2a7c2a8c2a9c2aac2abc2acc2adc2aec2afc2b0c2b1c2b2c2b3c2b4c2b5c2b6c2b7c2b8c2b9c2bac2bbc2bcc2bdc2bec2bfc2c0c2c1c2c2c2c3c2c4c2c5c2c6c2c7c2c8c2c9c2cac2cbc2ccc2cdc2cec2cfc2d0c2d1c2d2c2d3c2d4c2d5c2d6c2d7c2d8c2d9c2dac2dbc2dcc2ddc2dec2dfc2e0c2e1c2e2c2e3c2e4c2e5c2e6c2e7c2e8c2e9c2eac2ebc2ecc2edc2eec2efc2f0c2f1c2f2c2f3c2f4c2f5c2f6c2f7c2f8c2f9c2fac2fbc2fcc2fdc2fec2ffc200c301c302c303c304c305c306c307c308c309c30ac30bc30cc30dc30ec30fc310c311c312c313c314c315c316c317c318c319c31ac31bc31cc31dc31ec31fc320c321c322c323c324c325c326c327c328c329c32ac32bc32cc32dc32ec32fc330c331c332c333c334c335c336c337c338c339c33ac33bc33cc33dc33ec33fc340c341c342c343c344c345c346c347c348c349c34ac34bc34cc34dc34ec34fc350c351c352c353c354c355c356c357c358c359c35ac35bc35cc35dc35ec35fc360c361c362c363c364c365c366c367c368c369c36ac36bc36cc36dc36ec36fc370c371c372c373c374c375c376c377c378c379c37ac37bc37cc37dc37ec37fc380c381c382c383c384c385c386c387c388c389c38ac38bc38cc38dc38ec38fc390c391c392c393c394c395c396c397c398c399c39ac39bc39cc39dc39ec39fc3a0c3a1c3a2c3a3c3a4c3a5c3a6c3a7c3a8c3a9c3aac3abc3acc3adc3aec3afc3b0c3b1c3b2c3b3c3b4c3b5c3b6c3b7c3b8c3b9c3bac3bbc3bcc3bdc3bec3bfc3c0c3c1c3c2c3c3c3c4c3c5c3c6c3c7c3c8c3c9c3cac3cbc3ccc3cdc3cec3cfc3d0c3d1c3d2c3d3c3d4c3d5c3d6c3d7c3d8c3d9c3dac3dbc3dcc3ddc3dec3dfc3e0c3e1c3e2c3e3c3e4c3e5c3e6c3e7c3e8c3e9c3eac3ebc3ecc3edc3eec3efc3f0c3f1c3f2c3f3c3f4c3f5c3f6c3f7c3f8c3f9c3fac3fbc3fcc3fdc3fec3ffc300c401c402c403c404c405c406c407c408c409c40ac40bc40cc40dc40ec40fc410c411c412c413c414c415c416c417c418c419c41ac41bc41cc41dc41ec41fc420c421c422c423c424c425c426c427c428c429c42ac42bc42cc42dc42ec42fc430c431c432c433c434c435c436c437c438c439c43ac43bc43cc43dc43ec43fc440c441c442c443c444c445c446c447c448c449c44ac44bc44cc44dc44ec44fc450c451c452c453c454c455c456c457c458c459c45ac45bc45cc45dc45ec45fc460c461c462c463c464c465c466c467c468c469c46ac46bc46cc46dc46ec46fc470c471c472c473c474c475c476c477c478c479c47ac47bc47cc47dc47ec47fc480c481c482c483c484c485c486c487c488c489c48ac48bc48cc48dc48ec48fc490c491c492c493c494c495c496c497c498c499c49ac49bc49cc49dc49ec49fc4a0c4a1c4a2c4a3c4a4c4a5c4a6c4a7c4a8c4a9c4aac4abc4acc4adc4aec4afc4b0c4b1c4b2c4b3c4b4c4b5c4b6c4b7c4b8c4b9c4bac4bbc4bcc4bdc4bec4bfc4c0c4c1c4c2c4c3c4c4c4c5c4c6c4c7c4c8c4c9c4cac4cbc4ccc4cdc4cec4cfc4d0c4d1c4d2c4d3c4d4c4d5c4d6c4d7c4d8c4d9c4dac4dbc4dcc4ddc4dec4dfc4e0c4e1c4e2c4e3c4e4c4e5c4e6c4e7c4e8c4e9c4eac4ebc4ecc4edc4eec4efc4f0c4f1c4f2c4f3c4f4c4f5c4f6c4f7c4f8c4f9c4fac4fbc4fcc4fdc4fec4ffc400c501c502c503c504c505c506c507c508c509c50ac50bc50cc50dc50ec50fc510c511c512c513c514c515c516c517c518c519c51ac51bc51cc51dc51ec51fc520c521c522c523c524c525c526c527c528c529c52ac52bc52cc52dc52ec52fc530c531c532c533c534c535c536c537c538c539c53ac53bc53cc53dc53ec53fc540c541c542c543c544c545c546c547c548c549c54ac54bc54cc54dc54ec54fc550c551c552c553c554c555c556c557c558c559c55ac55bc55cc55dc55ec55fc560c561c562c563c564c565c566c567c568c569c56ac56bc56cc56dc56ec56fc570c571c572c573c574c575c576c577c578c579c57ac57bc57cc57dc57ec57fc580c581c582c583c584c585c586c587c588c589c58ac58bc58cc58dc58ec58fc590c591c592c593c594c595c596c597c598c599c59ac59bc59cc59dc59ec59fc5a0c5a1c5a2c5a3c5a4c5a5c5a6c5a7c5a8c5a9c5aac5abc5acc5adc5aec5afc5b0c5b1c5b2c5b3c5b4c5b5c5b6c5b7c5b8c5b9c5bac5bbc5bcc5bdc5bec5bfc5c0c5c1c5c2c5c3c5c4c5c5c5c6c5c7c5c8c5c9c5cac5cbc5ccc5cdc5cec5cfc5d0c5d1c5d2c5d3c5d4c5d5c5d6c5d7c5d8c5d9c5dac5dbc5dcc5ddc5dec5dfc5e0c5e1c5e2c5e3c5e4c5e5c5e6c5e7c5e8c5e9c5eac5ebc5ecc5edc5eec5efc5f0c5f1c5f2c5f3c5f4c5f5c5f6c5f7c5f8c5f9c5fac5fbc5fcc5fdc5fec5ffc500c601c602c603c604c605c606c607c608c609c60ac60bc60cc60dc60ec60fc610c611c612c613c614c615c616c617c618c619c61ac61bc61cc61dc61ec61fc620c621c622c623c624c625c626c627c628c629c62ac62bc62cc62dc62ec62fc630c631c632c633c634c635c636c637c638c639c63ac63bc63cc63dc63ec63fc640c641c642c643c644c645c646c647c648c649c64ac64bc64cc64dc64ec64fc650c651c652c653c654c655c656c657c658c659c65ac65bc65cc65dc65ec65fc660c661c662c663c664c665c666c667c668c669c66ac66bc66cc66dc66ec66fc670c671c672c673c674c675c676c677c678c679c67ac67bc67cc67dc67ec67fc680c681c682c683c684c685c686c687c688c689c68ac68bc68cc68dc68ec68fc690c691c692c693c694c695c696c697c698c699c69ac69bc69cc69dc69ec69fc6a0c6a1c6a2c6a3c6a4c6a5c6a6c6a7c6a8c6a9c6aac6abc6acc6adc6aec6afc6b0c6b1c6b2c6b3c6b4c6b5c6b6c6b7c6b8c6b9c6bac6bbc6bcc6bdc6bec6bfc6c0c6c1c6c2c6c3c6c4c6c5c6c6c6c7c6c8c6c9c6cac6cbc6ccc6cdc6cec6cfc6d0c6d1c6d2c6d3c6d4c6d5c6d6c6d7c6d8c6d9c6dac6dbc6dcc6ddc6dec6dfc6e0c6e1c6e2c6e3c6e4c6e5c6e6c6e7c6e8c6e9c6eac6ebc6ecc6edc6eec6efc6f0c6f1c6f2c6f3c6f4c6f5c6f6c6f7c6f8c6f9c6fac6fbc6fcc6fdc6fec6ffc600c701c702c703c704c705c706c707c708c709c70ac70bc70cc70dc70ec70fc710c711c712c713c714c715c716c717c718c719c71ac71bc71cc71dc71ec71fc720c721c722c723c724c725c726c727c728c729c72ac72bc72cc72dc72ec72fc730c731c732c733c734c735c736c737c738c739c73ac73bc73cc73dc73ec73fc740c741c742c743c744c745c746c747c748c749c74ac74bc74cc74dc74ec74fc750c751c752c753c754c755c756c757c758c759c75ac75bc75cc75dc75ec75fc760c761c762c763c764c765c766c767c768c769c76ac76bc76cc76dc76ec76fc770c771c772c773c774c775c776c777c778c779c77ac77bc77cc77dc77ec77fc780c781c782c783c784c785c786c787c788c789c78ac78bc78cc78dc78ec78fc790c791c792c793c794c795c796c797c798c799c79ac79bc79cc79dc79ec79fc7a0c7a1c7a2c7a3c7a4c7a5c7a6c7a7c7a8c7a9c7aac7abc7acc7adc7aec7afc7b0c7b1c7b2c7b3c7b4c7b5c7b6c7b7c7b8c7b9c7bac7bbc7bcc7bdc7bec7bfc7c0c7c1c7c2c7c3c7c4c7c5c7c6c7c7c7c8c7c9c7cac7cbc7ccc7cdc7cec7cfc7d0c7d1c7d2c7d3c7d4c7d5c7d6c7d7c7d8c7d9c7dac7dbc7dcc7ddc7dec7dfc7e0c7e1c7e2c7e3c7e4c7e5c7e6c7e7c7e8c7e9c7eac7ebc7ecc7edc7eec7efc7f0c7f1c7f2c7f3c7f4c7f5c7f6c7f7c7f8c7f9c7fac7fbc7fcc7fdc7fec7ffc700c801c802c803c804c805c806c807c808c809c80ac80bc80cc80dc80ec80fc810c811c812c813c814c815c816c817c818c819c81ac81bc81cc81dc81ec81fc820c821c822c823c824c825c826c827c828c829c82ac82bc82cc82dc82ec82fc830c831c832c833c834c835c836c837c838c839c83ac83bc83cc83dc83ec83fc840c841c842c843c844c845c846c847c848c849c84ac84bc84cc84dc84ec84fc850c851c852c853c854c855c856c857c858c859c85ac85bc85cc85dc85ec85fc860c861c862c863c864c865c866c867c868c869c86ac86bc86cc86dc86ec86fc870c871c872c873c874c875c876c877c878c879c87ac87bc87cc87dc87ec87fc880c881c882c883c884c885c886c887c888c889c88ac88bc88cc88dc88ec88fc890c891c892c893c894c895c896c897c898c899c89ac89bc89cc89dc89ec89fc8a0c8a1c8a2c8a3c8a4c8a5c8a6c8a7c8a8c8a9c8aac8abc8acc8adc8aec8afc8b0c8b1c8b2c8b3c8b4c8b5c8b6c8b7c8b8c8b9c8bac8bbc8bcc8bdc8bec8bfc8c0c8c1c8c2c8c3c8c4c8c5c8c6c8c7c8c8c8c9c8cac8cbc8ccc8cdc8cec8cfc8d0c8d1c8d2c8d3c8d4c8d5c8d6c8d7c8d8c8d9c8dac8dbc8dcc8ddc8dec8dfc8e0c8e1c8e2c8e3c8e4c8e5c8e6c8e7c8e8c8e9c8eac8ebc8ecc8edc8eec8efc8f0c8f1c8f2c8f3c8f4c8f5c8f6c8f7c8f8c8f9c8fac8fbc8fcc8fdc8fec8ffc800c901c902c903c904c905c906c907c908c909c90ac90bc90cc90dc90ec90fc910c911c912c913c914c915c916c917c918c919c91ac91bc91cc91dc91ec91fc920c921c922c923c924c925c926c927c928c929c92ac92bc92cc92dc92ec92fc930c931c932c933c934c935c936c937c938c939c93ac93bc93cc93dc93ec93fc940c941c942c943c944c945c946c947c948c949c94ac94bc94cc94dc94ec94fc950c951c952c953c954c955c956c957c958c959c95ac95bc95cc95dc95ec95fc960c961c962c963c964c965c966c967c968c969c96ac96bc96cc96dc96ec96fc970c971c972c973c974c975c976c977c978c979c97ac97bc97cc97dc97ec97fc980c981c982c983c984c985c986c987c988c989c98ac98bc98cc98dc98ec98fc990c991c992c993c994c995c996c997c998c999c99ac99bc99cc99dc99ec99fc9a0c9a1c9a2c9a3c9a4c9a5c9a6c9a7c9a8c9a9c9aac9abc9acc9adc9aec9afc9b0c9b1c9b2c9b3c9b4c9b5c9b6c9b7c9b8c9b9c9bac9bbc9bcc9bdc9bec9bfc9c0c9c1c9c2c9c3c9c4c9c5c9c6c9c7c9c8c9c9c9cac9cbc9ccc9cdc9cec9cfc9d0c9d1c9d2c9d3c9d4c9d5c9d6c9d7c9d8c9d9c9dac9dbc9dcc9ddc9dec9dfc9e0c9e1c9e2c9e3c9e4c9e5c9e6c9e7c9e8c9e9c9eac9ebc9ecc9edc9eec9efc9f0c9f1c9f2c9f3c9f4c9f5c9f6c9f7c9f8c9f9c9fac9fbc9fcc9fdc9fec9ffc900ca01ca02ca03ca04ca05ca06ca07ca08ca09ca0aca0bca0cca0dca0eca0fca10ca11ca12ca13ca14ca15ca16ca17ca18ca19ca1aca1bca1cca1dca1eca1fca20ca21ca22ca23ca24ca25ca26ca27ca28ca29ca2aca2bca2cca2dca2eca2fca30ca31ca32ca33ca34ca35ca36ca37ca38ca39ca3aca3bca3cca3dca3eca3fca40ca41ca42ca43ca44ca45ca46ca47ca48ca49ca4aca4bca4cca4dca4eca4fca50ca51ca52ca53ca54ca55ca56ca57ca58ca59ca5aca5bca5cca5dca5eca5fca60ca61ca62ca63ca64ca65ca66ca67ca68ca69ca6aca6bca6cca6dca6eca6fca70ca71ca72ca73ca74ca75ca76ca77ca78ca79ca7aca7bca7cca7dca7eca7fca80ca81ca82ca83ca84ca85ca86ca87ca88ca89ca8aca8bca8cca8dca8eca8fca90ca91ca92ca93ca94ca95ca96ca97ca98ca99ca9aca9bca9cca9dca9eca9fcaa0caa1caa2caa3caa4caa5caa6caa7caa8caa9caaacaabcaaccaadcaaecaafcab0cab1cab2cab3cab4cab5cab6cab7cab8cab9cabacabbcabccabdcabecabfcac0cac1cac2cac3cac4cac5cac6cac7cac8cac9cacacacbcacccacdcacecacfcad0cad1cad2cad3cad4cad5cad6cad7cad8cad9cadacadbcadccaddcadecadfcae0cae1cae2cae3cae4cae5cae6cae7cae8cae9caeacaebcaeccaedcaeecaefcaf0caf1caf2caf3caf4caf5caf6caf7caf8caf9cafacafbcafccafdcafecaffca00cb01cb02cb03cb04cb05cb06cb07cb08cb09cb0acb0bcb0ccb0dcb0ecb0fcb10cb11cb12cb13cb14cb15cb16cb17cb18cb19cb1acb1bcb1ccb1dcb1ecb1fcb20cb21cb22cb23cb24cb25cb26cb27cb28cb29cb2acb2bcb2ccb2dcb2ecb2fcb30cb31cb32cb33cb34cb35cb36cb37cb38cb39cb3acb3bcb3ccb3dcb3ecb3fcb40cb41cb42cb43cb44cb45cb46cb47cb48cb49cb4acb4bcb4ccb4dcb4ecb4fcb50cb51cb52cb53cb54cb55cb56cb57cb58cb59cb5acb5bcb5ccb5dcb5ecb5fcb60cb61cb62cb63cb64cb65cb66cb67cb68cb69cb6acb6bcb6ccb6dcb6ecb6fcb70cb71cb72cb73cb74cb75cb76cb77cb78cb79cb7acb7bcb7ccb7dcb7ecb7fcb80cb81cb82cb83cb84cb85cb86cb87cb88cb89cb8acb8bcb8ccb8dcb8ecb8fcb90cb91cb92cb93cb94cb95cb96cb97cb98cb99cb9acb9bcb9ccb9dcb9ecb9fcba0cba1cba2cba3cba4cba5cba6cba7cba8cba9cbaacbabcbaccbadcbaecbafcbb0cbb1cbb2cbb3cbb4cbb5cbb6cbb7cbb8cbb9cbbacbbbcbbccbbdcbbecbbfcbc0cbc1cbc2cbc3cbc4cbc5cbc6cbc7cbc8cbc9cbcacbcbcbcccbcdcbcecbcfcbd0cbd1cbd2cbd3cbd4cbd5cbd6cbd7cbd8cbd9cbdacbdbcbdccbddcbdecbdfcbe0cbe1cbe2cbe3cbe4cbe5cbe6cbe7cbe8cbe9cbeacbebcbeccbedcbeecbefcbf0cbf1cbf2cbf3cbf4cbf5cbf6cbf7cbf8cbf9cbfacbfbcbfccbfdcbfecbffcb00cc01cc02cc03cc04cc05cc06cc07cc08cc09cc0acc0bcc0ccc0dcc0ecc0fcc10cc11cc12cc13cc14cc15cc16cc17cc18cc19cc1acc1bcc1ccc1dcc1ecc1fcc20cc21cc22cc23cc24cc25cc26cc27cc28cc29cc2acc2bcc2ccc2dcc2ecc2fcc30cc31cc32cc33cc34cc35cc36cc37cc38cc39cc3acc3bcc3ccc3dcc3ecc3fcc40cc41cc42cc43cc44cc45cc46cc47cc48cc49cc4acc4bcc4ccc4dcc4ecc4fcc50cc51cc52cc53cc54cc55cc56cc57cc58cc59cc5acc5bcc5ccc5dcc5ecc5fcc60cc61cc62cc63cc64cc65cc66cc67cc68cc69cc6acc6bcc6ccc6dcc6ecc6fcc70cc71cc72cc73cc74cc75cc76cc77cc78cc79cc7acc7bcc7ccc7dcc7ecc7fcc80cc81cc82cc83cc84cc85cc86cc87cc88cc89cc8acc8bcc8ccc8dcc8ecc8fcc90cc91cc92cc93cc94cc95cc96cc97cc98cc99cc9acc9bcc9ccc9dcc9ecc9fcca0cca1cca2cca3cca4cca5cca6cca7cca8cca9ccaaccabccacccadccaeccafccb0ccb1ccb2ccb3ccb4ccb5ccb6ccb7ccb8ccb9ccbaccbbccbcccbdccbeccbfccc0ccc1ccc2ccc3ccc4ccc5ccc6ccc7ccc8ccc9cccacccbcccccccdcccecccfccd0ccd1ccd2ccd3ccd4ccd5ccd6ccd7ccd8ccd9ccdaccdbccdcccddccdeccdfcce0cce1cce2cce3cce4cce5cce6cce7cce8cce9cceaccebccecccedcceeccefccf0ccf1ccf2ccf3ccf4ccf5ccf6ccf7ccf8ccf9ccfaccfbccfcccfdccfeccffcc00cd01cd02cd03cd04cd05cd06cd07cd08cd09cd0acd0bcd0ccd0dcd0ecd0fcd10cd11cd12cd13cd14cd15cd16cd17cd18cd19cd1acd1bcd1ccd1dcd1ecd1fcd20cd21cd22cd23cd24cd25cd26cd27cd28cd29cd2acd2bcd2ccd2dcd2ecd2fcd30cd31cd32cd33cd34cd35cd36cd37cd38cd39cd3acd3bcd3ccd3dcd3ecd3fcd40cd41cd42cd43cd44cd45cd46cd47cd48cd49cd4acd4bcd4ccd4dcd4ecd4fcd50cd51cd52cd53cd54cd55cd56cd57cd58cd59cd5acd5bcd5ccd5dcd5ecd5fcd60cd61cd62cd63cd64cd65cd66cd67cd68cd69cd6acd6bcd6ccd6dcd6ecd6fcd70cd71cd72cd73cd74cd75cd76cd77cd78cd79cd7acd7bcd7ccd7dcd7ecd7fcd80cd81cd82cd83cd84cd85cd86cd87cd88cd89cd8acd8bcd8ccd8dcd8ecd8fcd90cd91cd92cd93cd94cd95cd96cd97cd98cd99cd9acd9bcd9ccd9dcd9ecd9fcda0cda1cda2cda3cda4cda5cda6cda7cda8cda9cdaacdabcdaccdadcdaecdafcdb0cdb1cdb2cdb3cdb4cdb5cdb6cdb7cdb8cdb9cdbacdbbcdbccdbdcdbecdbfcdc0cdc1cdc2cdc3cdc4cdc5cdc6cdc7cdc8cdc9cdcacdcbcdcccdcdcdcecdcfcdd0cdd1cdd2cdd3cdd4cdd5cdd6cdd7cdd8cdd9cddacddbcddccdddcddecddfcde0cde1cde2cde3cde4cde5cde6cde7cde8cde9cdeacdebcdeccdedcdeecdefcdf0cdf1cdf2cdf3cdf4cdf5cdf6cdf7cdf8cdf9cdfacdfbcdfccdfdcdfecdffcd00ce01ce02ce03ce04ce05ce06ce07ce08ce09ce0ace0bce0cce0dce0ece0fce10ce11ce12ce13ce14ce15ce16ce17ce18ce19ce1ace1bce1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x89000}, {&(0x7f000003c900)="46494c4530000300000000000000000001000100380001009801000000040000000000000000000004000000000000000800000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd6010070000000000000006c0000000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000120000000000000040000000000000000030010000000000001801000000000000180100000000001113040000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00"/416, 0x1a0, 0xff000}, {&(0x7f000003cb00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff1e0}, {&(0x7f000003cc00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000300000000000000000001000100380001005801000000040000000000000000000003000000010000000200000000000000100000006000000000001800000000004800000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff0000000000ffffffff00"/384, 0x180, 0xff3e0}, {&(0x7f000003ce00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xff5e0}, {&(0x7f000003cf00)="000000000000000000000000000000000000000000000000000000000000020046494c4530000300000000000000000002000100380001005801000000040000000000000000000003000000020000000200000000000000100000006000000000001800000000004800000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140000100000000ffffffff00"/384, 0x180, 0xff7e0}, {&(0x7f000003d100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xff9e0}, {&(0x7f000003d200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e001000000040000000000000000000006000000030000000200000000000000100000004800000000001800000000003000000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0xffbe0}, {&(0x7f000003d500)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0xfffe0}, {&(0x7f000007da00)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f6000000010000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007db00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="082bb6f91f0eb133f4a8e48c8f7c43b1ea86d5824e3bd8c6c547e8e4f5324a6fd83bf47a007edfe604aeba6e18b51b0053e9f729ae436e0791523f67e87850628bd5d35d58fcecdfc0c4c08486675735322353722ca4e9105ca452d1fce3fc2afab86b13d0dbcb9414dbc54c9663a4c62c1f"]) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000000c0)={0xffffffffffffffff}) sendmmsg(r0, &(0x7f0000002bc0)=[{{&(0x7f0000000140)=@nl=@proc={0x10, 0x0, 0x25dfdbfe, 0x52fe94c546dfafba}, 0x80, &(0x7f0000001340)=[{&(0x7f00000001c0)="ad03ec2964b850701052c4a69736127874827770edcf9b38d2789d22c1c0ade2e55dd4910c", 0x25}, {&(0x7f0000001240)="4811ff128f51fe3c4e6fe7436b8bbda03d1f375ab32b2faf7dcf5d708804269c5d49c499d2eb61c9e9a878d4c9e8434eaa263a5e78ecbe4a3879b127994c3352aba6979dc2e12f9051c30b2d5d55a14ab2a9e48366b80e39", 0x58}, {&(0x7f00000012c0)="ddc90a406860ea6a699b6fe183c49dbe4b8edb32dd627c3b3a769e868773b10ecf47cc84b4872c78f06f496a04fef8efc0c74215c8bb1ccefdee0b19d62f4bdc7dd0a10136a98975190322b13d7e12e9b4e233425989ee7eaa5e25da96e3ff3db747cc1327a3d628259a2cbb043c99a7d59ccd07935d44b3bf5df3b9e12a", 0x7e}], 0x3, &(0x7f0000001380)=[{0x30, 0x10d, 0x1ff, "8a038ae4a0710f00d4b927c67a9059f574302f19285b2ba0528e54eea4c7"}, {0x70, 0x1, 0x40, "f1d5a621f5dd53bb107ddd4365d588a6b955878a61d1d66345ce8047bdf0e9309a9bf6ee83c35994f1368f1459f4ffbd6047ea876e899de65b22e47d2b40cb36339a1d92d9bfdbb07b43ba054074f966c6dc0e3e93c3f072711c"}, {0x98, 0x111, 0x101, "16092ac5418813624fa59c94f83580159083805be31aac7cea014d2bcc33c8228f29afe9dfd6f448bc63015a8c6a4fcac0b5205ecc0b7ac8fbf1725a0e366c2116ba0763b46013285d38a9edc31341dae9ccf766668a3b1ab9f615900e137c1e90126c042d98bae75421043845c54bef134e5210df2b449cff17cf171752e5c419436e9e"}, {0x38, 0x10c, 0x6, "94ccfe03488f602f3d3a5c0ff71326c4a980b04397c6b9cc97897c535941234511fa"}], 0x170}}, {{&(0x7f0000001500)=@l2tp6={0xa, 0x0, 0x5, @mcast2, 0x4, 0x1}, 0x80, &(0x7f0000001a80)=[{&(0x7f0000001580)="32d10966f746d005df062b4c2b6c9ddf2108986953e77177685071d57452cb49c2ec1ccf282fc2f3e6ce77a57d9431c07a073dee10934ee2fa21e264895dce1cf641668c402c8edef3ad84d7bd8989031481b780b98e42ab19a7176d5822819f0f0dfbc419e69b570c3e8121a6f2a1e668139ba457483f93e9680d74dab3655b0ecaf0b931bed405953fe73e75a499721f8b499bb48cf89b3e33ea3fc24631e784d979187b1680d3344742607504221ef2435f9b7b3af0cb23b1e161ee257531d239c88f64d702f851d1f7d5c6929359dd99367318205f", 0xd7}, {&(0x7f0000001680)="177032365863d589cafc50bf6b7e1c7e4b2a24fe8056e66f0d3b6b22e3c480e5f00b5e97e1d2884928163a125fa72d1b97d18c876a7551c32bffdb2875e92d3b31cb9fbac08b84e9ecf2f5f112dacf2a7bb1a4cf43a0f0e4e2fa23e33f40d12a344d2e244d864704680fc474d81d6341ded24eb9f86913e4c42ae6d41ec46d070778d67ae9d1ed9bef411d9fe9658f96d357398e551cbda2e6bba0ca61de11117ef51a0cb87df5a7a65f94c9ba5b4fb194217e5dd7bb60d12075cf3ae89a461e52498d1a412e6b540c5e", 0xca}, {&(0x7f0000001780)="537e59df6629c4935cb3b8a2", 0xc}, {&(0x7f00000017c0)="c669b20b3b8b1dd9057dab5d922a5c315a4e982e2baa5de097d04008a6e9a61ede66acb2e42032fe3b801cf1da115de417c6b29e063129294ce871e805e88c632c6facb438327f4503b89cabbafc4fb975f4a4ac2a8c0b7666f8e9da2eed307e80fd5caa583be53b07ddd12ef94b2170f473ed75ca92fbddf41d9b7cfc13b69e71c21d66f1357e3c58bff44925054034ddc9a439154ee8e53ead153fb477e4870183a433f9", 0xa5}, {&(0x7f0000001880)="912b3b1d4bbc70b6d9fecb995432e4745a0bd9850543288e1651b6006b47a904d71808d9710eeb63be48ad89b7fc8a4bcd32843295b7f2e3acb47d31151e7e4c79cdfcc65d61a15d19db48cbf50fd3171e55af22d5c5ed6ee326fb96c73789aa64a36aaf7cbb8243fcd2a7342ce27dbec06d904602e9729bc444b7a5a3065dc33ba69a30c2d7a87a2374a693f05ac5cc715a0c658c8f9e568056f99cddc9785a10d1c1ea0081ff0c3661b6ef15ae36a164f5fbfb4735363f8598a5860d18b181a83931b26a93c43276d1cf537f1fce7894e47708a2116b81bc083e05e5fdc95340c9a665784dd3211d8e4068911533fe923f2f0184902823f85eae9445", 0xfd}, {&(0x7f0000001980)="b8c7f63d55ef89442e2e9e3c0586357f72e2ee671c27e4e5a00739fc64f3eca4ffdef4c677fa353b68e67c31b21016eda5c7fcebd494f22aa38f72e1d7e520d8d21537ec425a2bcb000ff65b0463d776b68db1c1f04435c02287e34f43cc8abce90cf19f63f265d6d473bcceed00c5dfc72145506a1c86e4210ee3262947ef363bb51537a697b32cf713f54cc62163347f9b77bba6921290146a92f8dd7e7506fadcaf18c4b8c8abaaffb0d803078d0cb7c4896386a826c676e96df27a32873c1e0f538e25a466918e", 0xc9}], 0x6, &(0x7f0000001b00)=[{0xb0, 0x104, 0x603, "2384b474b21d09f9b0d5521a00f683476ea645360f26153bb2b2ac4e05b1ff91c942799a105b36b62eeaeafdd34a9d189d0ad82050eb4cc2a1a2252a856d0a428bd8f678ebc13c5d4311e8b23d97d9598e7d048f5fd1e1c19a5af1d92e99a7fd864d6d66304c6eac991122f014c8cff447c9882fc0cb5f85e754ec6426e12c4ea543f0091a6169a2f1aafd7d61fb0fbfed2037812740e4c7c3"}, {0x1010, 0x101, 0xb83, "9df8cffbb65f567f442dce989b23b493bc68bfe8aaee997a60e174450b6a456edd027b62d51c48f02b6b5c358808b095945baafe84deb127acd1a59577108db2f1af2174051f09eb22981e1d99d4f8f048aaaf56567898402bd546c46bd78e2e35efed1905af448bd51740b6740f397e8f64051662e2b85677da410b840eaf6937e6fc9db22d4e12e76148b85728d1b2bf2cb229321f3413d036bd2418f1d2d29386f3530db9efb8e4dc11de581546645620d54cb3fa1ebf53e19893630158b211ab6800d33fac4fb6353eeedf839a2fdfaddc9b96b31838c12da3dc0efc158983267c25aadbed6a105bede148763e9ad34b9158c72462469b16f8ea852b6ecc40c3bc890af118c7ea62a5bc25392c84aa65f4bacf4a518022d49fb06f80448c66d29fac2a051a647b6fd7d04a6f42bc246ab33d5319520812b34eab7954936d7ea04c4962764388fb1f8e748378d66c7913f571df22a5ee0d307c4547e0c32e2bfdbfe6fded2cc5383fcb928a8d3ac3add166a9bf97c1d4a03faa3894f2853f796b141dda1baa6300768a1a0f8b9cbb20fc6f60235b541488d0ce3a338aaf0dd1cf80404fd686c5a1eefe8f5583eb1c247bc8cbf01e6a92520760c6520b33505d06f62766b4f0a206c288ddca72286eeec45d144fd8f0ace08077b889f0ded1e60d98c6996afdb6505f387cfd5fe7614c24c9a24f3049f7ac9b34e35a33387af8175d790b05bc3ba02a93fd7ae5fc4f8eda1ead63388abfc470b0122356869b31447617abe41320756a9d27df2f4ba4124d268c1150e747b320b3c7d964d0ab5e1615b1bab41461c700d3862da19577354132432deef8bfb18692b78a1b7e7364490eabd135a1ea1bdcc81768fb748097ebe56ad596678ca6ad85d6fdd0fb18c529333cc50787ed40fd7532414588199b236a98fc8c425635a50c022a9c3e8d6b417175802d4776ada7ed670e2c7af7b88026d6b9e817b29be7b26967e3b1210b1194ce7b34aa3faa92bed4d68c89c3b4621d590a1f0a687c47ce0ceb7adb6054ea6110429eebd70d2839cfe05aa29efd9937cbe6cd7dcded0e83506ecf327ae74078d65b3fe82ed3be7a8df9a0978e9bcd6310732ac40f1c38bef6ffd3980efbf6dbf1ec108740f5035e8f95bd8665490de00ccac41dd54e1847ac24f5b9cecb8e73d168febaf7a3a002fb3e18ffa3f7ef6fdcd61cfab078c0eb58b19b6dd53bf1cb3c3445b5e2225642b8f0b6a029d95903ddf622b6c4bebb8c3898ad87da5236980f6feffae2fc7d7dcf46408c20827966875518109aa08fa9ee87d4b206b9e76dcc0f3f153e75c31a907b0108b7a160b35098261b54a729ec3548d25ba6f5776723c3e5ad4ff1667a3df6a2a75ff272ba54653c094b7f54cb52c75bcb032ec880f874b4830ade0761dd988735fc5dc44b856c96b373a8dc626c599068736e7eda87a26d931ebceb9ed8d359ec56f6b00b68f5c6d13b353385cd982df0f59492f5c9c564cccad2a4168869284186d2580b2bc9dcbc68c16dbbe87f748e6c73e1d47976c87b6e348695440c0b5605f39431c301b1f66793d7845c2f7693f7ba54687ae192589bda0bbe653eadebfbb0599e2e74be057a52d269650f7752d16d4f70afc20a432b2f5ce26c68e3519a2879c3a9605736ad03af45573416eceb37972b213b6979d89b7415d68f1c4ce748ec2b9aba07ffc6c4087aa4abf9746d00af0c85853a10373170415530bc53f292dae23cb92b7154fc763d780df2ba6d8926af805bed2a4948f5870c974f75672799617c84b70ab8b0eb0a8c7ad615a13ece3acbb2b30d601a96447199d48720f49454936fb91f2e066e5505bc857af8688a7e869d9f067ccdf3085b5922f1a557b2ebffe9cfcc4912a1b102034488967033694ec9b4b4ca90fa3d9b4221138c06aaadba47f396687db8d703143e863e456b6b8d02eae0ca250d657dfdc7042ec51e65dca5a5a274d49802bd38d6bce6f28c4a8b3efcfffa7db161ff2295dd9bdf4e5c3b73dfdf92447609066121b21c299b4b2ba81b4ed94e06ab837033bae3daa674013e3619f19986cdc672fdf287d914285fe070ea211d07c06b5b4b224ec7048d03a83bfecff2bda9d902b897a6292aea522bb40e6dd17a4683b99a133ce6efad04996c88cad8f2e40ee149562e4e946671bb9af57f7bca7b868d838eb602f11ed2f1ce08b58a06cb8c44f47b7d985cb718781d08119481ab4ca763e56d6b23dfe4c3a6eb85d09946cfb72525206ed8aa60b36cd9ab51747f498a3941e65bbcb9d5e57c285ca6f367972bab95810ae0324f27db1252541b90aa5c00957cee51d46053d42515fdabdafdabeebd99c1bae72a4072707519ea216be57a5c8e3ffeb71468fb64c0683999e173b102507db3c8d203ee4e1419d9bb1612b727a5b15a5e4cdd9e82e2b1d263dbfa032a75384321559396d1f4fd57ec0b745df9a2e178429d1ee6ea3df3866cd0e2ad1d909d37b34f0deb672d2cd52a11bd5452bf1fecd44aa96262111d17d27a99a5854ad41111e86e1244233fedc9742b2e319f1a7a2f2179ba60ba88f66e267f02f08e660e77a40c02063926cb5bfc4997e60d587a987143ea710488d2fab93f61d06e941aa43bd1edef347b57a6dd1f2c8c4cb9d0542f17be248a965c00f9209fda7fb595876c88f2dc43f2ea65006bb3cb8a155e73a208460919c0a9204c30d7f8fe076cd871005950f2090606331f9c93144bacbad1f90dbb8316cbed24b06e10cdc2a84c80c91cc6f4baa5d5dc03863d08fb2a6d10c69957cbccf0ddcf5598f56d101ce86036bd68a8ef165060a2fe31ef939d1fc6fb350ba58d001425e13044ec2e2c0381991de168ee55858f65bf49fddff972272fed7eaca436dc8b326f707b5a6a177c66f83cb018c89b42ad53895ff14812501f8804deaa0cb43b721db60bb343d90f9163dc7dc14861ca72a250b793f3111fe00bd1f9f7cfa55eb4e03d0f3842ccc4255158437ece55b353529eb75e421e3da75ab8c82660668727755adae11f4110c90c3ea05412e28d7cae56dc71d467783a91a8664abe77a9f4e63163e6cd76ecbf10589e9b6cf5c8af15456321e6509c18ebdf208b4fd5bd5945bc02ecf50d6e3dd3b80df79515775df2546b897b7d31fcf2786de8213c0187990847e82d7995ebd9ecabe65d9b3ad0ea15e4bfe57c3c355bd26653ca13fb4e5f98f3aa7bc860386caa2590af6cf99f3ebf83eae5406b7dfedd49a28837f9406810c6b1a7cc76167d0298855f4cee435a1421d6b8b7f41be9daed827ba39545d8c8c1a3139ea6e6f07d0235961728996bc09783f6e1f7f67ca0cf032d1843789033edef47431e0b4738fece21e062b2079f5dfb0c8d75268863755a5049ee59d89d73c86f2b8d50ec7ef7b5efd491b5591475551140bacb29c7c697c339628f6d3dbceae878747b41cace32a6bac140dbf489de7f3ebad73114e0709525342a8084da7dc6212289071f5b78312cf4eae59276d24124242c625d4f69f78e35163871090110e70624d9356b584d22a7b553231da65cd081dcf5f2ac5507a9cc11c9e81c5097567c96854edc6c5afe3398e274e3a0644cc16df4f0c1f07dd31d67b00b812b37660a8844f398ee77653a807e710bf11eb892106e49ce88632fa18739c7253ebe19edb18391ca04d2dc469477c85b5ec3d99adcf2960a0249bbf959dd57efc386787a15d7e48f2589bd7e03c18d12e7626f720c89f3dd34abad13d12383fac81289f36e63387b3ef593f742e2388ebbdbbf4a1555ca28046a2b46ae6b64c8b92e21d21da7a7880ff88eab05e024d0b0fc07587f4c3ac29dd7046ea27eea2cccaa43640c2f7493afc5497887c837e21c9c04c87d42cf45bbdeb9546a45c073961351ed316b03b2614c850be46d14e2dd69892297cc407f29cff7168ee6b60aeb1d498f9134948e194bcf59e2572c0a03a1336e6775a6da2b4118577855e461d9add389952602e75606f4310fbc1c94fda96963fc01b1dbba2b78ecd388c65a396ab4a36bfc192f2c249dff8c9c1d860abafb4e4984e9e59418ce2ba62c6a72d627231206871826b96e435b37186042d504f2f678f32086185c82fee713883eb9b3d885f00e21793c8199f06de64559b27f07a4dd4850bbf7e18bd8d00ba3dba25a82a63a9257ffbe1c92c4b26f03e7be9a26174ebe77abb6273c063b38cd1318f31b12a0b84b09e47d39b67642dbe63959206aec6fa5cfe4f9b4a250243c0052472954b5fb3a85358f6f6fad7eba1584d6cd1c17f8319a769aaf1578212affcb56dd0464629b7325e49137f2826f948a2ad820c1a61504243e7ffada6631aad124c4bd7687d11e0c5836023c0acbb6a2fed1ffebf3766bdfe53b0b6980c61da5e5af8e3d316c0929dcd32e3ff7a66cb60aec90995ea96f37d5f0afc875b96e1e613691d49760563f924b660d1a100ad723e89107f64809a48d8cab0b43998b793b0e7a3a6b8b0ffe7d97037c581f795d7146e9f33addaadc6b23212a350b8318cc6cb8286e12558dd3281f509867029e7bf45e99d09c5a497a16eba2095ec76d37153cee334e9c3473a640c8c84ab5768766279c93957fb491900bdaf93ca3f9c24d8ecd25ebe3c577f0f78588b3f7dc12913faa7f233ff061d61edb11477444a6a9ebc3be8040920446b4f59cf2dafcd3ae5d519e25384a2a5233b5ddaf3b3fcd8fe44f353ac4ca6eb707c311484e47d5ed410046cd8cfdc5aca047fc7e61caf4ec036befa6d7b865f020797e63a3862f08475b7eb196d920f36114f602918aff997ec42dedc2ba072fd306f57fbc0f52d09e077a718c9857eac4bcf27ce9b8aaac7eb809de9e0f99bf9b6728d89734e29f0b7beb47463a766a6b8b42b259e41115b1e50d6a09cf796bafbe47bc163d131ab53d1253a76d5cfece4bbb0b3e29c28efbe5b1f756c98cd64d04024b33cc602d8e2f0eb966f9b7718d54500704684f0c5636be0dd2014e82fef11f52ef2200662ad61ee0e3c55050c002286455525fb8ccd1027fe25b8225888edef8050e6bbdf7aa3a6a3668cf0b81edc3b00acd17e64f159ca809b584e1c97591c3e89560387c53f5041fbe7f10072cff129b95712aa33c3acc021c6c35591f02110338981003fb9c891c72687a6841a37e2ff964346caaf6f1d77b6a58e5e4848b8cbb62205b25d93211003a01093938a051e1d30f4725d8997ee5ce5a26cf88a91fe88aaa98712e74bd844ba5291b2d457e7ce471dc3de8f570220da5a96332af6963d0a1ae108f7ca1dfc029332478b5db7874a5ee4d9e689339b9c30ce95cc5e261125395f12dba9ce35537e2919d8ec56fdada67fabb1eb8e490baede674c96476ae3800901468ea3e246fac34fda26bbb8fb98e99e9746eb6ee70a159692a02d146bd519d6e5cc85d716ec891eca6663c24a7ab2bf8d79ea90f0fd34a37782691333f82e2ab1c5c9b4690bbc2b134bdaae3ee06a13fd9ca97ae769590e0f7efad27b0d4225f79bc64f28b106b667655a9e283d4c27cdd1c21b81c7005347d7a02a8c1860bd02e3b01ce9e0ec293c0ca5a4b4670905f9efc7fb841c41b8286e726ce140f8ef2649644916fa2234eea7313d48d158718052d23746b1ea77fd1ccad852ccc5aee7fce91166fb9a065c33a69fd4e66dbfd5137a80e932f29a434c52d4913ac69bf2a00eb247e7ffe66457e8c0e900b9ed0ccc935a2f09f0a6935c3a80ee656524101582f4efc463099cdad758b601e0efa1d3764a9d32ef4f014e07fd544f6a0ed90e1cab5bcbc5c64a754"}], 0x10c0}}], 0x2, 0x20040040) 07:08:15 executing program 4: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000002180)=0xfd, 0x4) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000340)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff0081abaee054764b4af76b53d3913110484e3c930dc218478fcf39851f380fdd69b933df7474705d1727b43ff1954136cbef9782bda58942bae8b1249f09505b2d1774f3444d410453f3d244a6ec390e33d1499440da9fd51ef9de2f", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000540)=ANY=[@ANYBLOB="4400000024000b0e00"/20, @ANYRES32=r4, @ANYBLOB="00000000ffffffff0014000200080011008000000008000b0001000000"], 0x44}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @multicast}, 0x14) sendto$inet6(r0, &(0x7f0000000080)="0303ff1f5c0060004003002cfff57b016d2763bd56373780398d537503e50602591f031ee616d5c0184374a7ffe4ec55e0654786a70100935ba514d40808efa000801601842fd08d49a47eff71bc4131fe4c1f99bf00a900000008d1843e770afd6e9ef5837dbd0000000053", 0x3287, 0x4000002, 0x0, 0x2ff) [ 2024.723010][T18523] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.4'. 07:08:15 executing program 2: r0 = socket$inet6_udp(0xa, 0x2, 0x0) sendmmsg$sock(r0, &(0x7f0000002680)=[{{&(0x7f0000000080)=@l2tp={0x2, 0x7, @remote}, 0x80, 0x0}}, {{&(0x7f0000000000)=@llc={0x1a, 0x5, 0x8, 0x81, 0xc7, 0x0, @remote}, 0x80, 0x0, 0x0, &(0x7f0000002640)=[@timestamping={{0x14, 0x1, 0x25, 0x210001}}], 0x18}}], 0x2, 0x0) [ 2024.804742][T18525] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2024.846097][T18523] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2024.878289][T18525] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. 07:08:17 executing program 5: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clone(0x1008100, &(0x7f0000000040)="427b3a2f6d5c291f99662ee08b5e2121b36817ed9fb10f475f9e57c68cdfa3c15230e9b9b70f5ff43e1c3de7e5dccb22893becca4b8cac273c7a6ae664e34cee347e6564ee9ad5e6b841775716ce66af134ca7c18b2cbb79a41a6751c4af03b9cd6dd93853ee556b219b0e492c42ae7cb94eaae642716e4a8b230d0c45bbbe2d63533d2717053616991d240ab8295daecb6d67dc16efff0865bc087c939b1c7c3e7fabd36e4e2180d08302a37a", &(0x7f0000000240), &(0x7f0000000140), &(0x7f0000000180)="cb0216437fc55d16fc34f2aae9bc84c95182089bfe92a4da19a71eef9e972a410160931fbab2b0dcc0cd2102595bb4be7e3c7af23d5dbf09c76dd737773fa3d77a527c7f46fce1bf7cf4984de89abc58c21a0abad6a23f1a4f7c62e4177b4a1efe9133efc41138b39d73342fcd6832eea371f145a3513c353a43b2199594078b1ee3b14510eb65d9049f3b70ba76e7faab5139fdca09d4cdf1c14482b4998d801762bbb1fe8eeed0ec11d37ce5cad28986a5") r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) syz_open_procfs(r1, &(0x7f0000000000)='auxv\x00') ioctl$sock_bt_hci(r0, 0x400448e4, &(0x7f00000000c0)) 07:08:17 executing program 1: setsockopt$SO_BINDTODEVICE_wg(0xffffffffffffffff, 0x1, 0x19, 0x0, 0x0) socket$inet_udp(0x2, 0x2, 0x0) r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) connect$inet6(0xffffffffffffffff, &(0x7f0000000140)={0xa, 0x0, 0x4, @local, 0x400}, 0x1c) ioctl$KVM_SET_VAPIC_ADDR(0xffffffffffffffff, 0x4008ae93, &(0x7f00000001c0)) bind$inet6(r0, &(0x7f00000000c0)={0xa, 0x4e21, 0x0, @empty}, 0x1c) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x4e21, 0x0, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x38}}}, 0x1c) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000000, 0x0, 0x0, 0x1000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r0, 0x84, 0x9, &(0x7f0000000300)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x0, 0x0, 0x0, 0xb3550aa4ba878254}, 0x9c) 07:08:17 executing program 4: syz_mount_image$nilfs2(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x29, &(0x7f0000000200)=[{&(0x7f0000010000)="0200000000003434180100007a4a7934348920aa000000001f000000000000000000200000000000040000000000000040000000050000000200000000000000100000000000000000000000000000004007000000000000561b675f00000000571b675f00000000571b675f000000000100320001000100561b675f00000000004eed0000000000000000000b00000080002000c0001000d9f388573a654b5ea8c31500cff204ea", 0xa8, 0x400}, {&(0x7f0000010100)="000000000000000001", 0x9, 0x500}, {0x0}, {0x0}, {&(0x7f0000011e00)="945c87d9e313f9db11faaf1e400007000000000000000000571b675f000000004000000000000000230000000b000000100300000000000002000000000000000c000000000000000200000000000000010000000100000000100000000000000000000000000000020000000000000002000000000000000100000001000000120000000000000000000000000000000d000000000000000200000000000000020000000200000000140000000000000000000000000000011400000000000001000000000000000e0000000000000002000000000000000100000001000000001800000000000000000000000000000f0000000000000002000000000000000100000001000000001c0000000000000000000000000000100000000000000002000000000000000a0000000900000008000000000000000000000000000000090000000000000001000000000000000a0000000000000002000000000000000b0000000000000003000000000000000c0000000000000004000000000000000d0000000000000005000000000000000e00000000000000060000000000000010000000000000000700000000000000110000000000000008000000000000000f00000000000000110000000000000002000000000000000100000001000000000400000000000000000000000000000600000000000000020000000000000005000000050000001300000000000000000000000000000014000000000000000100000000000000150000000000000002000000000000001600000000000000030000000000000001180000000000000400000000000000040000000000000000000000000000000100000001000000170000000000000000000000000000000500000000000000000000000000000001000000010000001800000000000000000000000000000003000000000000000000000000000000090000000800000000000000000000000100000000000000020000000000000022000000000000008200000000000000a200000000000000c200000000000000e200000000000000000000000000000001", 0x309, 0x4000}, {&(0x7f0000012200)="0c00000000000000100001022e0000000200000000000000100002022e2e00000d000000000000001800050166696c6530000000000000000e00000000000000c803050766696c6531", 0x49, 0x4400}, {&(0x7f0000012300)="0200000000000000100001022e0000000200000000000000100002022e2e00000b00000000000000180006012e6e696c66730000000000000c000000000000001800050266696c6530000000000000000f000000000000001800050166696c65310000000000000010000000000000001800050166696c65320000000000000010000000000000001800050166696c65330000000000000011000000000000006803090166696c652e636f6c64", 0xad, 0x4800}, {&(0x7f0000012400)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal', 0x41a, 0x4c00}, {&(0x7f0000012900)='/tmp/syz-imagegen650000614/file0/file0', 0x26, 0x5400}, {&(0x7f0000012a00)='syzkallers', 0xa, 0x5800}, {&(0x7f0000012b00)="0001090000000000000000000000000000000000000000000100000000000000020000000000000003000000000000000400000000000000050000000000000006000000000000000700000000000000080000", 0x53, 0x8000}, {&(0x7f0000012c00)="0000000000000000080000000000000009000000000000000a000000000000000b000000000000000c000000000000000d000000000000000e00000000000000100000000000000011", 0x49, 0x8200}, {&(0x7f0000012d00)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers', 0x64, 0x8400}, {&(0x7f0000012e00)="ee1f0000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000ffff03", 0x403, 0x8800}, {&(0x7f0000013300)="00000000000000000000000000000000561b675f00000000561b675f000000000000000000000000000000000000000000800100", 0x34, 0x9080}, {&(0x7f0000013400)="01000000000000000004000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000ed41030000000000000000000000000012", 0x41, 0x9100}, {&(0x7f0000013500)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x9380}, {&(0x7f0000013600)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x9400}, {&(0x7f0000013700)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0xfffffffffffffecb, 0x9480}, {&(0x7f0000013800)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x9500}, {&(0x7f0000013900)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000a48101", 0x33, 0x9580}, {&(0x7f0000013a00)="02000000000000000004000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000ed41020000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ac63d3e0000000004000000000000001a04000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000ed81010000000000000000000000000000140000000000000114000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004bc63d3e0000000002000000000000002600000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000eda1010000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004cc63d3e0000000002000000000000000a00000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000ed810100000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004dc63d3e0000000014000000000000002823000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000ed810200000000000102010000000000000000000000000009000000000000000a000000000000000f000000000000000c000000000000000d0000000000000000000000000000004ec63d3e0000000002000000000000006400000000000000571b675f00000000571b675f00000000fab84305fab843050000000000000000ed81010000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004fc63d3e", 0x2fc, 0x9600}, {&(0x7f0000013d00)="02", 0x1, 0x9c00}, {&(0x7f0000013e00)="0000000000000000000000000000000000000000000000000100000000000000561b675f000000000c000000000000000200000000000000050000000000000004000000000000000000000000000000561b675f00000000561b675f000000000000000000000000000000000000000000800100000000000000000000000000020000000000000003000000000000000400000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000571b675f0000000023000000000000000800000000000000160000000000000006000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000001300000000000000140000000000000015000000000000001600000000000000011800000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000003", 0x199, 0x9cc0}, {&(0x7f0000014000)="02000000000000000000000000000000000000000000000004", 0x19, 0x9f00}, {&(0x7f0000014100)="1d0000000000000002000000000000001e000000000000000000000000000000571b675f000000002f0000000300000000000000000000000000000003", 0x3d, 0xa000}, {&(0x7f0000014200)="e01f0000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000ffffff01", 0x404, 0xa400}, {&(0x7f0000014700)="01", 0x1, 0xa880}, {&(0x7f0000014800)="01", 0x1, 0xaa00}, {&(0x7f0000014900)="03", 0x1, 0xaa80}, {&(0x7f0000014a00)="03", 0x1, 0xab00}, {&(0x7f0000014b00)="01", 0x1, 0xab80}, {&(0x7f0000014c00)="050000000000000001000000000000000200000000000000000000000000000006000000000000000100000000000000020000000000000000000000000000000700000000000000010000000000000002000000000000000000000000000000080000000000000001000000000000000200000000000000000000000000000009000000000000000100000000000000020000000000000000000000000000000a000000000000000100000000000000010000000000000000000000000000000b0000000000000001000000000000000100000000000000000000000000000017000000000000000200000000000000ffffffffffffffff000000000000000018000000000000000200000000000000ffffffffffffffff000000000000000019000000000000000200000000000000ffffffffffffffff00000000000000001a000000000000000200000000000000ffffffffffffffff00000000000000001b000000000000000200000000000000ffffffffffffffff00000000000000001c000000000000000200000000000000ffffffffffffffff00000000000000001d000000000000000200000000000000ffffffffffffffff000000000000000020000000000000000200000000000000ffffffffffffffff00000000000000001e000000000000000200000000000000ffffffffffffffff00000000000000001f000000000000000200000000000000ffffffffffffffff000000000000000012000000000000000200000000000000ffffffffffffffff000000000000000022000000000000000200000000000000ffffffffffffffff000000000000000023000000000000000200000000000000ffffffffffffffff000000000000000024000000000000000200000000000000ffffffffffffffff000000000000000025000000000000000200000000000000ffffffffffffffff000000000000000027000000000000000200000000000000ffffffffffffffff000000000000000028000000000000000200000000000000ffffffffffffffff", 0x2f8, 0xac20}, {&(0x7f0000014f00)="21000000000000000200000000000000ffffffffffffffff", 0x18, 0xb000}, {&(0x7f0000015000)="11000000000000000200000000000000ffffffffffffffff", 0x18, 0xb400}, {&(0x7f0000015100)="13000000000000000200000000000000ffffffffffffffff000000000000000014000000000000000200000000000000ffffffffffffffff", 0x38, 0xb800}, {&(0x7f0000015200)="15000000000000000200000000000000ffffffffffffffff000000000000000026000000000000000200000000000000ffffffffffffffff", 0x38, 0xbc00}, {&(0x7f0000015300)="16000000000000000200000000000000ffffffffffffffff", 0x18, 0xc000}, {&(0x7f0000015400)="0001080000000000000000000000000000000000000000000100000000000000020000000000000022000000000000008200000000000000a200000000000000c200000000000000e2", 0x49, 0xc400}, {&(0x7f0000015500)='\x00\x00\x00\x00\x00\x00\x00\x00)\x00\x00\x00\x00\x00\x00\x00*\x00\x00\x00\x00\x00\x00\x00+\x00\x00\x00\x00\x00\x00\x00,\x00\x00\x00\x00\x00\x00\x00-\x00\x00\x00\x00\x00\x00\x00.\x00\x00\x00\x00\x00\x00\x00/\x00\x00\x00\x00\x00\x00\x000', 0x41, 0xc600}, {&(0x7f0000015600)="ee4c5e0290010000571b675f000000000f000000000000000000000000000000561b675f00000000561b675f00000000000000000000000000000000000000000080010000000000010201000000000000000000000000000d000000000000000e000000000000003100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000561b675f00000000561b675f00000000000000000000000000000000000000000080010000000000000000000000000018", 0x151, 0xc800}], 0x0, &(0x7f0000015a00)) 07:08:17 executing program 2: r0 = perf_event_open(&(0x7f0000000040)={0x0, 0x80, 0x0, 0xff, 0x0, 0x0, 0x0, 0xffffffffc6553532, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @perf_bp={0x0}, 0x0, 0x4, 0x0, 0x4}, 0xffffffffffffffff, 0x3, 0xffffffffffffffff, 0x0) r1 = openat$tun(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, 0x0, 0x0, &(0x7f00000019c0)=ANY=[@ANYBLOB="50000000000000000000000000000000e377bb95dbdc9e3a8a6f9034754629010e16315300003b3d82a7883651304385b696c5f536578fee3bb6e8e09d893d4c758e953cb01f9d5ebe7a0e2becf500000000000000100000000011ed5168000017c21eb862b416dfb745d26060423e0e268a631af2c1516ed4df50f80f045191a0f46d9cd0ffb28847708af4ab50e052c07224cace776e7298acd85672aec865e6d1c2eb5ff019bb3feb6bb76dd7bdd177743bd7951436597ff0500d7dd7ac28bbfe198c361695dca7cee687de6cbdecff35c64b24cdffd25fe8bbe84f7f9a4e87d6467712511cf6b3efa24f339389ab3937fcd9ebc621ae124b0632b0976bf7b5d2ac9c2da22ebaf4176bfc5d240961cbfc53cc3c45798bfe48acbfb1743785d27086159981727f3303998493f425b748b32615ae6bf76f348f01afd6b2facfa50fc9be9b3d8d2adafea6d830ede3c17e6db9814fa1a200"/355], 0x60}, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000040)={'syzkaller1\x00'}) r2 = socket$kcm(0x2, 0xa, 0x2) ioctl$TUNATTACHFILTER(r1, 0x401054d5, &(0x7f0000000240)={0x4, &(0x7f0000000200)=[{0xea38, 0x79, 0x1, 0x5183}, {0x1, 0x45, 0x1e}, {0xfff, 0x40, 0x9, 0x11a}, {0x7, 0x4, 0x3, 0x7}]}) ioctl$TIOCGSID(0xffffffffffffffff, 0x5429, &(0x7f0000000a80)=0x0) r4 = perf_event_open(&(0x7f0000000a00)={0x4, 0x80, 0x8, 0x0, 0x4, 0x20, 0x0, 0x7, 0x8000, 0x2, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x6, 0x4, @perf_bp={&(0x7f00000009c0), 0x1}, 0x10, 0x6b9, 0x5, 0x4, 0xe76, 0x402, 0x47e, 0x0, 0x6, 0x0, 0x8000}, r3, 0xc, r0, 0x1) ioctl$SIOCSIFHWADDR(r2, 0x8943, &(0x7f0000000780)={'syzkaller1\x00', @link_local}) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000280)={'team_slave_0\x00'}) sendmsg$kcm(r2, &(0x7f0000000740)={&(0x7f00000000c0)=@ethernet={0x6, @random="d5b6d255a44b"}, 0x80, &(0x7f0000000940)=[{&(0x7f0000000340)="9b15165ea3b3b61e8fa5bedfbb3cc84ce856c3954dd4f1774e8726270588b909d7f058749aa71689a542675b7ad5e9ca54ec4c0401a9a14b89ed2f8652a811fd6dbf9836071c2a885f54f230d3d9437b3543df6b7bfb1fdeb4035184de1e", 0x5e}, {&(0x7f00000003c0)="f1e4d47a129a0da71d8dc9eace8cf84dde3b3edbd11da41663ea6506ab98d2573f0e474402864c3f6223da56f3b1d3c9c27fa72e46fbb6153b4f4d9756978f92f9d39b1612febbe139239b0426f55df63b4252fd5eecac7693f07859d9deb63aed54cf12451bd524ff49f7db8722f87ddbfb6f12f4817b4801aa86686832816dcea15fbd08789bb914bddac1b32377101624e957456147fc2a562203be9f2a4b1d5b068c34394f5a630ce379d1fecce095542b241fbbc2454be33c2e86a9ec89f448f02859e747995c78cd177ad752ad7bd50fc4ccf09b2e93", 0xd9}, {&(0x7f00000004c0)="daa5b1fe1ec71e09d97e54c6d62d31c30268825e304f850a5c12891f28b8a8383eece460f30abb9b82aeb31777074e6154e0d5e8e40288096ac30ad5d25e367014605bb01c1335928c111dc881a8fc93218b256b1ac37ced66aa82fa6d333144529ff6be5e21780bb0be4414badcfe706929a0facdab5606733c356972c1988ad9ad5e880a4c30a46547e2c338b1a8da0eef321fea43e20a184d2afbaf6263e99cd870cd5d2bf37e1746131b3d6f4656e71abac8", 0xb4}, {&(0x7f0000000580)="0b0de9ca5c2c3888a93822960fbcee7a5b060dc79f6569b7dc9dcda92fea68feed5ef625ae4a7dc822643cb63ab85226a2985a93575a823cf6e28be04b486e561beed78ffaceeb632d4935d1bdb681a908b5f2b1031c54fa9a051bae60b239edf3bfacd3f811796a5f5d600398748ff238c17aa12fde0874e5008bd43a238858908df9fd3b3d9e0cd61a5db8c640599d2f1ff3694d", 0x95}, {&(0x7f0000000640)="0c5adfb447fc2014de34d89a0af808fba5a51ff8e50450ca9917ee0ad6ec9e060b88cdd43a9eca9c732a8f7348653ebb1d24740391dea22668a081e452f63cab6717d2fa3cc4492801c10a5d45ad9db85472e047712d3287e491658c8c1f8ab9569b70a2334c045a3a7acd5c4e6b8a069dee77adb39b786ea80ac9cb047fc73cae9f9519d1520eecd947b3835b90ddc391ba54079783b97a4409331b24f741584f455dba913627641b2414a39502e0eaa42863f8aeeca82b5f948a91a3b8a9ad1751c045e7e19fd8ee6afceedb5a3e57b8393067cbbbb8c6", 0xd8}, {&(0x7f0000000140)="063605f5f23b5e2a4198eda0b312", 0xe}, {&(0x7f00000007c0)="ec121a36fa8eed15c98213b1b177d5925ab30ab587ad6d0a349b501d6920bb22fdd370e3b3b10bded20e1b2aee5c889e713829cbfd0d287e2934895b26aba00d338e95d644f76c2ec84559661f22dea6ea4fb4a010fefa5de79467ab902cab56b6b12dadc0c872831750f9dbb413ded2dfeeaa31dadf984c6135a91fee8f135ffabf50cf0cf5912f0155c5100bf8bee1172a6afa6fc78e717a5ff27ee2e43f323dc51852165bfe1d241e82b251202976bc0d38b8d181ec73f2da66c4929233", 0xbf}, {&(0x7f0000000880)="5a2bf527b62a18bd2aa57c61372fe0054837d2bfe22bd50782b339485fe6bedb4153e539e7d001d65cfadffc329c5445121bf585e25f5134baa6241852bd51b3cd1757781464f9ea13424c6d87dc196e4e1018856e385d38d92fa08906d061451738ffbc7e2ac1b54458d35cd1bf3f51cd0ae9ce606b900cfc0fea9a3081afeaa288295e11c1f2", 0x87}], 0x8}, 0x24008004) perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xfffff7ffffffffff, 0xffffffffffffffff, 0x0) r5 = accept$inet6(0xffffffffffffffff, &(0x7f00000002c0)={0xa, 0x0, 0x0, @local}, &(0x7f0000000ac0)=0x1c) ioctl$AUTOFS_DEV_IOCTL_SETPIPEFD(0xffffffffffffffff, 0xc0189378, &(0x7f0000000b00)={{0x1, 0x1, 0x18, r5, {r4}}, './file0\x00'}) fcntl$setownex(r1, 0xf, &(0x7f00000016c0)={0x1, r3}) r6 = socket$kcm(0x2, 0xa, 0x2) ioctl$SIOCSIFHWADDR(r6, 0x8914, &(0x7f0000000180)={'syzkaller1\x00', @link_local}) r7 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') preadv(r7, &(0x7f00000017c0), 0xcd, 0x5000000, 0x0) 07:08:17 executing program 0: perf_event_open(&(0x7f00000001c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = openat$vcsa(0xffffffffffffff9c, 0x0, 0x0, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, &(0x7f0000000440)=ANY=[@ANYRES64=0x0, @ANYBLOB="00000000000000000000000000000000000000000000000004000000000000000000100000000000ffffffffffffffff0002000003000000010100000080000008000000000000000000000000000000d400000000000000ff00"/104]) syz_usb_connect(0x0, 0x3f, &(0x7f0000001680)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d000100000000090400710e605b830ffa310002285f5b00082400000905030300e9a6000009f9880200f2323581826d04db9f05000000e96b1b5ac0d665aa2b2efd521ce7d251ea92e83894c97b2abcde4bb8d21f86c3167ab338fa53012a40b7a86a7d69dda563c7077c0000000001000000528f414d45"], 0x0) r1 = getpgid(0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r2 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000640), 0xc4fbb2bc2be321b1, 0x0) ioctl$TIOCSETD(r2, 0x5423, &(0x7f0000000540)=0x11) r3 = getpid() sched_setscheduler(r1, 0x0, &(0x7f0000000380)=0x7) r4 = getpid() sched_setscheduler(r4, 0x5, &(0x7f0000000380)) clone3(&(0x7f0000000300)={0x0, &(0x7f0000000040), &(0x7f00000000c0), &(0x7f0000000100), {0x2c}, &(0x7f0000000680)=""/4096, 0x1000, &(0x7f0000000240)=""/185, &(0x7f0000000140)=[0x0, 0x0, 0x0, r1, r1, r3, r4], 0x7, {r0}}, 0x58) ioctl$TIOCVHANGUP(r2, 0x5437, 0x0) r5 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000640), 0x0, 0x0) ioctl$TIOCSETD(r5, 0x5423, &(0x7f0000000540)=0x11) ioctl$TIOCVHANGUP(r5, 0x5437, 0x0) ioctl$EXT4_IOC_MOVE_EXT(r2, 0xc028660f, &(0x7f0000000000)={0x0, r5, 0x96, 0x0, 0x101, 0x7f}) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000180), 0x74041, 0x0) [ 2026.911195][T18566] syzkaller1: default qdisc (pfifo_fast) fail, fallback to noqueue [ 2026.958922][ T20] usb 1-1: new high-speed USB device number 63 using dummy_hcd [ 2027.217996][ T20] usb 1-1: Using ep0 maxpacket: 8 [ 2027.231336][T18566] device syzkaller1 entered promiscuous mode [ 2027.340002][ T20] usb 1-1: config 0 has an invalid descriptor of length 250, skipping remainder of the config [ 2027.372805][ T20] usb 1-1: config 0 interface 0 altsetting 113 has 0 endpoint descriptors, different from the interface descriptor's value: 14 [ 2027.433097][ T20] usb 1-1: config 0 interface 0 has no altsetting 0 07:08:18 executing program 1: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(0xffffffffffffffff, 0x29, 0x20, &(0x7f0000000000)={@private2, 0x3ff, 0x0, 0xff, 0x2, 0x3c00, 0x40}, 0x20) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @loopback}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0x2000000, &(0x7f0000001500)=[{&(0x7f0000000040)="d3622fe131479cee20fb607a9585dc0f411519fd3b65066522d73df58b9257b566c6fc626776defc3a2e249c910ccab00220bc31d41e44f96f67971b8ed8a3dc9eb4133a903d58da02dd1eca653150422bc91e9585fbf8", 0x57}, {&(0x7f00000011c0)="7cc3be44ec866303c11f9ec49c2fe80d4ccef580f3bf717b5e129f1dc7766fdf864b7bc35924f34bb5fd1dd89172a4b0db90eea51bdfec78bb53e8d41773cba7f1305a8a40b7368445a71ef7870273f1544930baf73a8bfa6ece09d54376b821b65fdf1e0704f1f3c5a823fa67f635159af010053f5b909f8e944c43d6fb1c4fca639b470d3e6ad140d0838958ecf0fc98a780205474fdeb93a97d27b4f3314a9585129aaec893d7fe36d87fd746841ac5c60b31e1732a1a3ca0afcc4068cdde63b142700c563c1ab59dc0b7200723bf21c694583ed8fed1b2bc5c204df3812c223ce0de2f40b69e7f4e8ba1c3ebc31de2f4190e3f1ceb", 0xf7}, {&(0x7f00000012c0), 0x80fe}, {&(0x7f0000000280)="0c22fcc306e8a4d628dc3f33cd1758b784d34ef62ecd943b96c5573b05e34886b55507a08eeac42aafc204e9fec654b4b0853f4c32d8d6f8968a96b81710a9ed49ae96ea22eb0caccdc99ed31fb48b921b4c9af7278829eb32247169da3593e5e73371e82e3558cd87b9c876b91e091e933496ae3a6b5a00a79f50110980c83af2fd44e0f08908f806be4146080def894a3ac87c3d214e32b0e031c8873b6ed3cdb9c160ee236576cb5a749ee356d4f5df961b35ec3667bcfa641e2c812a5eefbd78546783b6bd280dc4ec1cd015bee7d07f0993d6", 0xd5}, {&(0x7f0000001440)="7b18908bcd34b2f4eef2193c5f89bb79551b5d7000ccc31628374b03e7f0b8bbfe45", 0x22}], 0x5, 0x0, 0x0, 0xffffffe0}}], 0x400000000000132, 0x4000000) [ 2027.630815][ T20] usb 1-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 2027.649702][ T20] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2027.664403][ T20] usb 1-1: Product: syz [ 2027.670257][ T20] usb 1-1: Manufacturer: syz [ 2027.674904][ T20] usb 1-1: SerialNumber: syz [ 2027.739043][ T20] usb 1-1: config 0 descriptor?? 07:08:19 executing program 4: ioctl$sock_inet_SIOCGIFDSTADDR(0xffffffffffffffff, 0x8917, &(0x7f0000000200)={'ip6_vti0\x00'}) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x8420, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x2000, 0x0, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) unshare(0x40000000) ioctl$PERF_EVENT_IOC_PERIOD(r0, 0x40082404, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0xb635773f06ebbeee, 0x8031, 0xffffffffffffffff, 0x0) readv(0xffffffffffffffff, 0x0, 0x0) timer_settime(0x0, 0x0, 0x0, 0x0) ppoll(0x0, 0x0, 0x0, &(0x7f00000000c0), 0x8) madvise(&(0x7f0000000000/0x600000)=nil, 0x600003, 0x9) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0xffffffffffffffb5, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000100)=ANY=[], 0x2bcf) clone(0x20210000, &(0x7f0000000180)="1342884370bcb70e56e4e7a8884988c4dc7eb9907d78a8", &(0x7f0000000040), &(0x7f0000000080), &(0x7f0000000240)="eba5af6c42e4dd1e44b587ff6f344e9ee41db26341ee1274a1e815a0712599028546d4dc90db1b1a56d202cb760f01f051032c2cf27e77200ea4d254e17a11c6940755eb2fd417318fb84dd75aee8da8b3561d514c57911cf89d90cc20405c3be26efb018a171dd8463ed2f25666f0fead3ea1348ace7188112523a150340bc52e36e2de159e33b27a39436a930375984f664ebef1dcc9c5dfcdff986618d867f6806e9e48f5fbac3fdb29f425cfbc67ace52685cb10f9a1d4b979fa28ccd0693e3f6959cf4c1a4a01872b226b9153f68a996a3841557de1109448e24cf583d1ab5a1462e0a4491ef537bd3ada677a") ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x40082406, &(0x7f00000001c0)='\xbe--*\x00') shutdown(0xffffffffffffffff, 0x1) openat$zero(0xffffffffffffff9c, &(0x7f0000000340), 0x0, 0x0) recvmsg(r1, &(0x7f0000001440)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7115}, 0x0) readahead(0xffffffffffffffff, 0xffffffff, 0x8) unshare(0x38020c00) [ 2028.658940][T18599] syzkaller1: default qdisc (pfifo_fast) fail, fallback to noqueue [ 2028.775859][T18599] device syzkaller1 entered promiscuous mode 07:08:20 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) pipe(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$FIBMAP(r2, 0x1, &(0x7f00000000c0)=0x8) perf_event_open(&(0x7f00000002c0)={0x5, 0x80, 0xf9, 0x0, 0x9, 0x3f, 0x0, 0x8, 0x82254, 0x8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x4, @perf_config_ext={0x3, 0x101}, 0x182, 0x3, 0x5, 0x9, 0xff, 0x7f, 0x20, 0x0, 0x800, 0x0, 0x80}, 0xffffffffffffffff, 0x9, r2, 0x9) r3 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r3, 0x6, 0x10000000013, &(0x7f0000000200)=0x1, 0x4) setuid(0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) statx(0xffffffffffffff9c, &(0x7f0000000140)='./file0\x00', 0x2000, 0x1, &(0x7f0000004d40)) setsockopt$sock_timeval(r3, 0x1, 0x15, &(0x7f0000000040)={0x0, 0x2710}, 0x10) setsockopt$SO_BINDTODEVICE(r3, 0x1, 0x19, &(0x7f0000000000)='vcan0\x00', 0x10) getpeername$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x0, @mcast1}, 0x0) connect$inet(r3, &(0x7f00000000c0)={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10) getsockopt$inet_tcp_buf(0xffffffffffffffff, 0x6, 0x1a, 0x0, &(0x7f0000000480)=0xffffffffffffff03) setsockopt$inet_tcp_TCP_REPAIR_WINDOW(r3, 0x6, 0x1d, &(0x7f0000000100)={0x0, 0x81, 0x1fe}, 0x14) write$binfmt_misc(r1, &(0x7f0000002400)=ANY=[], 0xff01) splice(r0, 0x0, r3, 0x0, 0x10003, 0x200000000000) getsockopt$inet_int(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) 07:08:20 executing program 1: r0 = bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff, 0x7}, 0x10) bpf$ITER_CREATE(0x21, &(0x7f0000000040)={r0}, 0x8) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xfffffffdffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet6_sctp(0xa, 0x1, 0x84) sendto$inet6(r1, &(0x7f0000847fff)='X', 0xa80c, 0xf5ffffff, &(0x7f000005ffe4)={0xa, 0x0, 0x0, @loopback={0xe4}}, 0x1c) 07:08:20 executing program 1: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x20000, 0x1d, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f000000050000003412341200010000090301804900"/128, 0x80}, {&(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)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f0000000500000034123412000100000903018000"/640, 0x280, 0x1600}, {&(0x7f0000010d00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x19e0}, {&(0x7f0000010e00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1be0}, {&(0x7f0000010f00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1de0}, {&(0x7f0000011000)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fe0}, {&(0x7f0000011100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x21e0}, {&(0x7f0000011200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x23e0}, {&(0x7f0000011300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x25e0}, {&(0x7f0000011400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x27e0}, {&(0x7f0000011500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x29e0}, {&(0x7f0000011600)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x2e00}, {&(0x7f0000011800)="f8ffffffffffffffffffffff04000000ffffffffffffffff0000000000000000000000000a0000000b000000ffffffff00"/64, 0x40, 0x10000}, {&(0x7f0000011900)="ff0700"/32, 0x20, 0x11000}, {&(0x7f0000011a00)="00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e001f0020002100220023002400250026002700280029002a002b002c002d002e002f0030003100320033003400350036003700380039003a003b003c003d003e003f0040004100420043004400450046004700480049004a004b004c004d004e004f0050005100520053005400550056005700580059005a005b005c005d005e005f0060004100420043004400450046004700480049004a004b004c004d004e004f0050005100520053005400550056005700580059005a007b007c007d007e007f0080008100820083008400850086008700880089008a008b008c008d008e008f0090009100920093009400950096009700980099009a009b009c009d009e009f00a000a100a200a300a400a500a600a700a800a900aa00ab00ac00ad00ae00af00b000b100b200b300b400b500b600b700b800b900ba00bb00bc00bd00be00bf00c000c100c200c300c400c500c600c700c800c900ca00cb00cc00cd00ce00cf00d000d100d200d300d400d500d600d700d800d900da00db00dc00dd00de00df00c000c100c200c300c400c500c600c700c800c900ca00cb00cc00cd00ce00cf00d000d100d200d300d400d500d600f700d800d900da00db00dc00dd00de00780100010001020102010401040106010601080108010a010a010c010c010e010e0110011001120112011401140116011601180118011a011a011c011c011e011e0120012001220122012401240126012601280128012a012a012c012c012e012e01300131013201320134013401360136013801390139013b013b013d013d013f013f014101410143014301450145014701470149014a014a014c014c014e014e0150015001520152015401540156015601580158015a015a015c015c015e015e0160016001620162016401640166016601680168016a016a016c016c016e016e01700170017201720174017401760176017801790179017b017b017d017d017f0143028101820182018401840186018701870189018a018b018b018d018e018f0190019101910193019401f60196019701980198013d029b019c019d0120029f01a001a001a201a201a401a401a601a701a701a901aa01ab01ac01ac01ae01af01af01b101b201b301b301b501b501b701b801b801ba01bb01bc01bc01be01f701c001c101c201c301c401c501c401c701c801c701ca01cb01ca01cd01cd01cf01cf01d101d101d301d301d501d501d701d701d901d901db01db018e01de01de01e001e001e201e201e401e401e601e601e801e801ea01ea01ec01ec01ee01ee01f001f101f201f101f401f401f601f701f801f801fa01fa01fc01fc01fe01fe0100020002020202020402040206020602080208020a020a020c020c020e020e0210021002120212021402140216021602180218021a021a021c021c021e021e0220022102220222022402240226022602280228022a022a022c022c022e022e023002300232023202340235023602370238023902652c3b023b023d02662c3f0240024102410243024402450246024602480248024a024a024c024c024e024e0250025102520281018601550289018a0158028f015a0290015c025d025e025f0293016102620294016402650266026702970196016a02622c6c026d026e029c01700271029d01730274029f0176027702780279027a027b027c02642c7e027f02a60181028202a9018402850286028702ae014402b101b20145028d028e028f0290029102b70193029402950296029702980299029a029b029c029d029e029f02a002a102a202a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af02b002b102b202b302b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c002c102c202c302c402c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d102d202d302d402d502d602d702d802d902da02db02dc02dd02de02df02e002e102e202e302e402e502e602e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f302f402f502f602f702f802f902fa02fb02fc02fd02fe02ff0200030103020303030403050306030703080309030a030b030c030d030e030f0310031103120313031403150316031703180319031a031b031c031d031e031f0320032103220323032403250326032703280329032a032b032c032d032e032f0330033103320333033403350336033703380339033a033b033c033d033e033f0340034103420343034403450346034703480349034a034b034c034d034e034f0350035103520353035403550356035703580359035a035b035c035d035e035f0360036103620363036403650366036703680369036a036b036c036d036e036f0370037103720373037403750376037703780379037a03fd03fe03ff037e037f0380038103820383038403850386038703880389038a038b038c038d038e038f0390039103920393039403950396039703980399039a039b039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa03ab038603880389038a03b0039103920393039403950396039703980399039a039b039c039d039e039f03a003a103a303a303a403a503a603a703a803a903aa03ab038c038e038f03cf03d003d103d203d303d403d503d603d703d803d803da03da03dc03dc03de03de03e003e003e203e203e403e403e603e603e803e803ea03ea03ec03ec03ee03ee03f003f103f903f303f403f503f603f703f703f903fa03fa03fc03fd03fe03ff0300040104020403040404050406040704080409040a040b040c040d040e040f0410041104120413041404150416041704180419041a041b041c041d041e041f0420042104220423042404250426042704280429042a042b042c042d042e042f0410041104120413041404150416041704180419041a041b041c041d041e041f0420042104220423042404250426042704280429042a042b042c042d042e042f0400040104020403040404050406040704080409040a040b040c040d040e040f0460046004620462046404640466046604680468046a046a046c046c046e046e0470047004720472047404740476047604780478047a047a047c047c047e047e0480048004820483048404850486048704880489048a048a048c048c048e048e0490049004920492049404940496049604980498049a049a049c049c049e049e04a004a004a204a204a404a404a604a604a804a804aa04aa04ac04ac04ae04ae04b004b004b204b204b404b404b604b604b804b804ba04ba04bc04bc04be04be04c004c104c104c304c304c504c504c704c704c904c904cb04cb04cd04cd04c004d004d004d204d204d404d404d604d604d804d804da04da04dc04dc04de04de04e004e004e204e204e404e404e604e604e804e804ea04ea04ec04ec04ee04ee04f004f004f204f204f404f404f604f604f804f804fa04fa04fc04fc04fe04fe0400050005020502050405040506050605080508050a050a050c050c050e050e0510051005120512051405150516051705180519051a051b051c051d051e051f0520052105220523052405250526052705280529052a052b052c052d052e052f0530053105320533053405350536053705380539053a053b053c053d053e053f0540054105420543054405450546054705480549054a054b054c054d054e054f0550055105520553055405550556055705580559055a055b055c055d055e055f0560053105320533053405350536053705380539053a053b053c053d053e053f0540054105420543054405450546054705480549054a054b054c054d054e054f055005510552055305540555055605fffff617632c7e1d7f1d801d811d821d831d841d851d861d871d881d891d8a1d8b1d8c1d8d1d8e1d8f1d901d911d921d931d941d951d961d971d981d991d9a1d9b1d9c1d9d1d9e1d9f1da01da11da21da31da41da51da61da71da81da91daa1dab1dac1dad1dae1daf1db01db11db21db31db41db51db61db71db81db91dba1dbb1dbc1dbd1dbe1dbf1dc01dc11dc21dc31dc41dc51dc61dc71dc81dc91dca1dcb1dcc1dcd1dce1dcf1dd01dd11dd21dd31dd41dd51dd61dd71dd81dd91dda1ddb1ddc1ddd1dde1ddf1de01de11de21de31de41de51de61de71de81de91dea1deb1dec1ded1dee1def1df01df11df21df31df41df51df61df71df81df91dfa1dfb1dfc1dfd1dfe1dff1d001e001e021e021e041e041e061e061e081e081e0a1e0a1e0c1e0c1e0e1e0e1e101e101e121e121e141e141e161e161e181e181e1a1e1a1e1c1e1c1e1e1e1e1e201e201e221e221e241e241e261e261e281e281e2a1e2a1e2c1e2c1e2e1e2e1e301e301e321e321e341e341e361e361e381e381e3a1e3a1e3c1e3c1e3e1e3e1e401e401e421e421e441e441e461e461e481e481e4a1e4a1e4c1e4c1e4e1e4e1e501e501e521e521e541e541e561e561e581e581e5a1e5a1e5c1e5c1e5e1e5e1e601e601e621e621e641e641e661e661e681e681e6a1e6a1e6c1e6c1e6e1e6e1e701e701e721e721e741e741e761e761e781e781e7a1e7a1e7c1e7c1e7e1e7e1e801e801e821e821e841e841e861e861e881e881e8a1e8a1e8c1e8c1e8e1e8e1e901e901e921e921e941e941e961e971e981e991e9a1e9b1e9c1e9d1e9e1e9f1ea01ea01ea21ea21ea41ea41ea61ea61ea81ea81eaa1eaa1eac1eac1eae1eae1eb01eb01eb21eb21eb41eb41eb61eb61eb81eb81eba1eba1ebc1ebc1ebe1ebe1ec01ec01ec21ec21ec41ec41ec61ec61ec81ec81eca1eca1ecc1ecc1ece1ece1ed01ed01ed21ed21ed41ed41ed61ed61ed81ed81eda1eda1edc1edc1ede1ede1ee01ee01ee21ee21ee41ee41ee61ee61ee81ee81eea1eea1eec1eec1eee1eee1ef01ef01ef21ef21ef41ef41ef61ef61ef81ef81efa1efb1efc1efd1efe1eff1e081f091f0a1f0b1f0c1f0d1f0e1f0f1f081f091f0a1f0b1f0c1f0d1f0e1f0f1f181f191f1a1f1b1f1c1f1d1f161f171f181f191f1a1f1b1f1c1f1d1f1e1f1f1f281f291f2a1f2b1f2c1f2d1f2e1f2f1f281f291f2a1f2b1f2c1f2d1f2e1f2f1f381f391f3a1f3b1f3c1f3d1f3e1f3f1f381f391f3a1f3b1f3c1f3d1f3e1f3f1f481f491f4a1f4b1f4c1f4d1f461f471f481f491f4a1f4b1f4c1f4d1f4e1f4f1f501f591f521f5b1f541f5d1f561f5f1f581f591f5a1f5b1f5c1f5d1f5e1f5f1f681f691f6a1f6b1f6c1f6d1f6e1f6f1f681f691f6a1f6b1f6c1f6d1f6e1f6f1fba1fbb1fc81fc91fca1fcb1fda1fdb1ff81ff91fea1feb1ffa1ffb1f7e1f7f1f881f891f8a1f8b1f8c1f8d1f8e1f8f1f881f891f8a1f8b1f8c1f8d1f8e1f8f1f981f991f9a1f9b1f9c1f9d1f9e1f9f1f981f991f9a1f9b1f9c1f9d1f9e1f9f1fa81fa91faa1fab1fac1fad1fae1faf1fa81fa91faa1fab1fac1fad1fae1faf1fb81fb91fb21fbc1fb41fb51fb61fb71fb81fb91fba1fbb1fbc1fbd1fbe1fbf1fc01fc11fc21fc31fc41fc51fc61fc71fc81fc91fca1fcb1fc31fcd1fce1fcf1fd81fd91fd21fd31fd41fd51fd61fd71fd81fd91fda1fdb1fdc1fdd1fde1fdf1fe81fe91fe21fe31fe41fec1fe61fe71fe81fe91fea1feb1fec1fed1fee1fef1ff01ff11ff21ff31ff41ff51ff61ff71ff81ff91ffa1ffb1ff31ffd1ffe1fff1f00200120022003200420052006200720082009200a200b200c200d200e200f2010201120122013201420152016201720182019201a201b201c201d201e201f2020202120222023202420252026202720282029202a202b202c202d202e202f2030203120322033203420352036203720382039203a203b203c203d203e203f2040204120422043204420452046204720482049204a204b204c204d204e204f2050205120522053205420552056205720582059205a205b205c205d205e205f2060206120622063206420652066206720682069206a206b206c206d206e206f2070207120722073207420752076207720782079207a207b207c207d207e207f2080208120822083208420852086208720882089208a208b208c208d208e208f2090209120922093209420952096209720982099209a209b209c209d209e209f20a020a120a220a320a420a520a620a720a820a920aa20ab20ac20ad20ae20af20b020b120b220b320b420b520b620b720b820b920ba20bb20bc20bd20be20bf20c020c120c220c320c420c520c620c720c820c920ca20cb20cc20cd20ce20cf20d020d120d220d320d420d520d620d720d820d920da20db20dc20dd20de20df20e020e120e220e320e420e520e620e720e820e920ea20eb20ec20ed20ee20ef20f020f120f220f320f420f520f620f720f820f920fa20fb20fc20fd20fe20ff2000210121022103210421052106210721082109210a210b210c210d210e210f2110211121122113211421152116211721182119211a211b211c211d211e211f2120212121222123212421252126212721282129212a212b212c212d212e212f2130213121322133213421352136213721382139213a213b213c213d213e213f2140214121422143214421452146214721482149214a214b214c214d2132214f2150215121522153215421552156215721582159215a215b215c215d215e215f2160216121622163216421652166216721682169216a216b216c216d216e216f2160216121622163216421652166216721682169216a216b216c216d216e216f2180218121822183218321ffff4b03b624b724b824b924ba24bb24bc24bd24be24bf24c024c124c224c324c424c524c624c724c824c924ca24cb24cc24cd24ce24cf24ffff4607002c012c022c032c042c052c062c072c082c092c0a2c0b2c0c2c0d2c0e2c0f2c102c112c122c132c142c152c162c172c182c192c1a2c1b2c1c2c1d2c1e2c1f2c202c212c222c232c242c252c262c272c282c292c2a2c2b2c2c2c2d2c2e2c5f2c602c602c622c632c642c652c662c672c672c692c692c6b2c6b2c6d2c6e2c6f2c702c712c722c732c742c752c752c772c782c792c7a2c7b2c7c2c7d2c7e2c7f2c802c802c822c822c842c842c862c862c882c882c8a2c8a2c8c2c8c2c8e2c8e2c902c902c922c922c942c942c962c962c982c982c9a2c9a2c9c2c9c2c9e2c9e2ca02ca02ca22ca22ca42ca42ca62ca62ca82ca82caa2caa2cac2cac2cae2cae2cb02cb02cb22cb22cb42cb42cb62cb62cb82cb82cba2cba2cbc2cbc2cbe2cbe2cc02cc02cc22cc22cc42cc42cc62cc62cc82cc82cca2cca2ccc2ccc2cce2cce2cd02cd02cd22cd22cd42cd42cd62cd62cd82cd82cda2cda2cdc2cdc2cde2cde2ce02ce02ce22ce22ce42ce52ce62ce72ce82ce92cea2ceb2cec2ced2cee2cef2cf02cf12cf22cf32cf42cf52cf62cf72cf82cf92cfa2cfb2cfc2cfd2cfe2cff2ca010a110a210a310a410a510a610a710a810a910aa10ab10ac10ad10ae10af10b010b110b210b310b410b510b610b710b810b910ba10bb10bc10bd10be10bf10c010c110c210c310c410c510ffff1bd221ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff00"/5856, 0x16e0, 0x12000}, {&(0x7f0000013100)="03000000000000000000000000000000000000000000000000000000000000008100000000000000000000000000000000000000020000000200000000000000820000000dd319e600000000000000000000000003000000cc16000000000000850267a410000000658132516581325165813251000000000000000000000000c003000523b50000001000000000000000000000060000000010000000000000c100660069006c006500300000000000000000000000000000000000000000008502c73620000000658132516581325165813251000000000000000000000000c0030005243500000a0000000000000000000000080000000a00000000000000c100660069006c006500310000000000000000000000000000000000000000008502e0ee20000000658132516581325165813251000000000000000000000000c001000524b50000282300000000000000000000090000002823000000000000c100660069006c006500320000000000000000000000000000000000000000008502649e20000000658132516581325165813251000000000000000000000000c0030009e3a000006400000000000000000000000c0000006400000000000000c100660069006c0065002e0063006f006c006400"/480, 0x1e0, 0x14000}, {&(0x7f0000013300)="850287ae20000000658132516581325165813251000000000000000000000000c003000523b500001a0400000000000000000000070000001a04000000000000c100660069006c0065003000"/96, 0x60, 0x15000}, {&(0x7f0000013400)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x16000}, {&(0x7f0000013900)='syzkallers\x00'/32, 0x20, 0x17000}, {&(0x7f0000013a00)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x1b000}], 0x810088, &(0x7f0000013b00)) lstat(&(0x7f0000000040)='./file0\x00', &(0x7f0000000080)) 07:08:21 executing program 1: sendmsg$nl_generic(0xffffffffffffffff, 0x0, 0x88c0) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x80000000, 0x1ff}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet6(0xa, 0x3, 0x4) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) dup3(r2, r1, 0x0) perf_event_open(&(0x7f0000000080)={0x0, 0x80, 0x0, 0x80, 0x0, 0x3f, 0x0, 0x8, 0x0, 0xa, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, @perf_bp={&(0x7f00000001c0), 0x2}, 0x1264d, 0x0, 0xfff, 0x0, 0x1f, 0x2, 0x101, 0x0, 0x0, 0x0, 0xffffffffffffffff}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendmsg$ETHTOOL_MSG_WOL_SET(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f0000000200)={&(0x7f0000000580)={0x88, 0x0, 0x10, 0x70bd29, 0x25dfdbfd, {}, [@ETHTOOL_A_WOL_HEADER={0x74, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'bond_slave_0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_vlan\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth0_vlan\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_virt_wifi\x00'}]}]}, 0x88}, 0x1, 0x0, 0x0, 0x4040810}, 0x0) sendmmsg$alg(0xffffffffffffffff, &(0x7f0000000640)=[{0x0, 0x0, &(0x7f0000001a40)=[{&(0x7f0000000240)="33571b512d1b74ef14e22396e1ccb9ec8cc33c0c541397e7c1f4f93007fdcd5f6524d44f535c6c10acb669a53594cd042bc9db42f24b8a9366c18487f6e0e59965075bf68029381e8d7330aad010ecd6b98088606411f237f3fc944e277e4aa9f9e6ebe3a41ea89b7dcc382da55eaa9ce736caf1927a0b75539baf3a11c5a7640b81", 0x82}, {&(0x7f0000000000)="d6dcc373cb2f519684d461b97ba1bc822a253630f9cb1f12584d767de909b1fdf14992156a150ebb0b9de712", 0x2c}, {&(0x7f00000015c0)="ebc97cfc013312d1045a0ed09272d9e9984a4e82d78ae50f2f3483bfba1bca6c76d173ffe6595a7c905a5913a8a1b676c76faffdde0772b618336e62d2df39789ff0b47835f2ab98d06ca7dff4df88e8a0913d249b52ed08e609835788608f2f6e28173a1870c2a2d6c21ad79852461b3029", 0x72}, {&(0x7f00000000c0)="47f860d5e1c5036d9dcd3ff887fa88fae1ce838e23c9eadbc48c3a", 0x1b}, {0x0}, {&(0x7f0000001840)}, {&(0x7f00000001c0)}], 0x7, &(0x7f0000000440)=ANY=[@ANYBLOB="68000000000000001701004002000000540000008e37fb04bec988c1c45a0e66bd858169ef46bb0e6eb1c04d0497fcb8a3c49865d55c64c91bfc449618c1e12887d4f33c5bbe91b5daebfc326400e73628d88544129296f509bc57d26988d60acf933dfce67f5748f55ed6cf623b1789454d4d500000000000000017010000020000003a000000be91721e087106b85f8565fc4776da00d1bcf04575473254a78735d49da3f62e13151013f65273025de7bdc19a3fa56201ccf5a8cf8cf28fd13d000018010000000000001701000002000000fe000000db1968cf4096fb66be4acb2b5e3f1818bcaf943b4f8003a41648c4808e4fcfb66fd81468b5d6f772f291925e2633fe02e5c9683f6387ca8935b2d33a29b9d8c2c43c7fbb1bd91162a9b2870359f24f0818"], 0x1d0}, {0x0, 0x0, &(0x7f0000000140)=[{&(0x7f0000001d00)="af6fa8aed8e87665dab0752962a466d7ca46ee13c945c5e144b32ff1cefb7c76ac2c793122a86d1a63732ebfef38", 0x2e}, {&(0x7f0000001dc0)}], 0x2, &(0x7f0000001ec0), 0x0, 0x4084}], 0x2, 0x40) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x180cf061, 0x0, @perf_bp={0x0, 0x13}, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x4, 0x0, 0x3d5a5b5d}, 0xffffffffffffffff, 0x200000000000000c, r0, 0x2) fgetxattr(0xffffffffffffffff, 0x0, 0x0, 0x0) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_DEFAULT_SEND_PARAM(r1, 0x84, 0xa, &(0x7f0000000300)={0x0, 0x20, 0x205}, 0x20) r3 = open(&(0x7f0000000340)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r2, 0x84, 0x72, &(0x7f0000000100)={0x0, 0x0, 0x20}, 0xc) ftruncate(r3, 0x600004) mmap(&(0x7f000073f000/0x2000)=nil, 0x2000, 0x0, 0x10, 0xffffffffffffffff, 0x0) getsockopt$inet_sctp6_SCTP_PR_STREAM_STATUS(0xffffffffffffffff, 0x84, 0x74, 0x0, 0x0) sendmsg$IPCTNL_MSG_TIMEOUT_GET(0xffffffffffffffff, 0x0, 0x0) sendfile(r1, r3, 0x0, 0x80001d00c0d0) 07:08:21 executing program 3: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f00000001c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x80, 0x0, 0x0, 0x7f, 0x8008, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x400}, 0x2401, 0x0, 0xfffffff8, 0x2, 0x0, 0x2, 0x0, 0x0, 0x100}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r2, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000023c0)=[@textreal={0x8, &(0x7f0000000280)="66b9550800000f32baf80c66b85494ed8a66efbafc0c66ed2e670f744d9bbaf80c66b8f015b78066efbafc0c66b8489a53a966ef0f01b6e110670fc5c3330f0d2a440f20c0663504000000440f22c08b366634baf80c66b8f470438666efbafc0c66ed", 0x63}], 0x1, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) r4 = syz_open_procfs(0xffffffffffffffff, &(0x7f00000001c0)='net/dev_mcast\x00') syz_kvm_setup_cpu$x86(r4, r3, &(0x7f0000fe8000/0x18000)=nil, &(0x7f00000000c0)=[@text64={0x40, &(0x7f0000000240)="470f01d166ba2100ed0f01ca0f01720866ba4200ec0fc75c3f1e44f4640fc7b9000000006766470f38819792f803e266baf80cb8f60bfc8def66bafc0cb0c9ee", 0x40}], 0x1, 0x0, 0x0, 0x0) ioctl$PERF_EVENT_IOC_SET_OUTPUT(0xffffffffffffffff, 0x2405, 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, 0x0) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_FIOGETOWN(r5, 0x8903, &(0x7f0000000480)=0x0) perf_event_open(&(0x7f0000000400)={0x0, 0x80, 0x8, 0x0, 0x80, 0xbf, 0x0, 0x4822, 0x48800, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x4, 0x4, @perf_bp={&(0x7f00000003c0)}, 0x422, 0x200, 0x20, 0x4, 0xffffffff00000000, 0x0, 0xaf3, 0x0, 0x99, 0x0, 0x5}, r7, 0x0, r5, 0x0) syz_kvm_setup_cpu$x86(r6, r3, &(0x7f0000fe3000/0x18000)=nil, &(0x7f0000000100)=[@text16={0x10, &(0x7f0000000300)="0f011966b9040300000f3266f30fa7d8f2f20f013d67f30f1ed364660f78c3001cbaf80c66b840bbf98266efbafc0ced66b8dc0000000f23c00f21f8663502000c000f23f8ab0fae7706", 0x4a}], 0x1, 0x1f, &(0x7f0000000380)=[@vmwrite={0x8, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x0, 0x5}], 0x1) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000fe3000/0x18000)=nil, &(0x7f0000000000)=[@text32={0x20, &(0x7f0000000140)="0f01c30f01cf0fc799d5000000b8001000000f23d00f21f835100000030f23f8c4c2319a74c0f066baf80cb8e080e58def66bafc0cb8af6ccb0eefc4c3955fcff0eaee1ae12a2000660fed2a0f20c035000004000f22c0", 0x57}], 0x1, 0x2, &(0x7f0000000200)=[@cr4={0x1, 0x40080}], 0x1) ioctl$KVM_INTERRUPT(0xffffffffffffffff, 0x4004ae86, 0x0) [ 2030.921199][ T26] audit: type=1800 audit(1638169702.033:260): pid=18658 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed comm="syz-executor.1" name="bus" dev="sda1" ino=14616 res=0 errno=0 07:08:23 executing program 5: r0 = perf_event_open(&(0x7f0000000380)={0x0, 0x80, 0x2, 0x0, 0x0, 0x0, 0x0, 0x8, 0x20804, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_config_ext, 0x91, 0x0, 0x0, 0x0, 0x3, 0xfffffffc}, 0x0, 0xfffffffffffffffe, 0xffffffffffffffff, 0x0) mkdir(0x0, 0x0) mount(0x0, &(0x7f0000000200)='\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', &(0x7f0000000640)='sysfs\x00', 0x0, 0x0) unlink(&(0x7f0000000300)='\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//../file0\x00') r1 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') setxattr$security_evm(&(0x7f0000000000)='\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//../file0\x00', &(0x7f0000000080), &(0x7f0000000400)=ANY=[@ANYBLOB="0503010000000200485816fb7a64375c0443b6bdbe932cac3847ae6972c5e99aaf8a35753cb6ab095bc8656338d524f1deb9fc78912a238830194dbb0b43638715a24dffb0ebf989a851a6534c00000000"], 0x51, 0x2) ioctl$KDGETLED(r1, 0x4b31, 0x0) setsockopt$IP_VS_SO_SET_ADD(0xffffffffffffffff, 0x0, 0x482, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_emit_ethernet(0x86, &(0x7f0000000580)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaaaaaaaaa86dd60d610000010840020010000000000000010000000000002fe8000000000000000000000000000aacade35a21cd01a5eb622efc602010412118d48477ae7235ee46d39e41d9d62b60df038c8a30813ec6b6af608c6adc28e2eb0f1d1e4edd3bc116dc387354009ce4fd3bd76eae01c223103991029c1bc95fd5f8771a8a5c2718ef7a5312aa713200f78b40dd94c924eb96f90e8c3d3593a248eb0db2e3b0b019efee3"], 0x0) ioctl$PERF_EVENT_IOC_REFRESH(r0, 0x2402, 0x6) mount(0x0, 0x0, &(0x7f0000000280)='ecryptfs\x00', 0x0, 0x0) mount(&(0x7f00000002c0)=@sr0, &(0x7f0000000480)='\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', &(0x7f0000000500)='openpromfs\x00', 0x90, &(0x7f0000000540)='-(\x00') 07:08:23 executing program 2: pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000000)=@newqdisc={0x3c, 0x24, 0x0, 0x0, 0x0, {}, [@qdisc_kind_options=@q_gred={{0x9}, {0xc, 0x2, [@TCA_GRED_MAX_P={0x8}]}}]}, 0x3c}}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000180)=ANY=[@ANYBLOB="4800000010001fff752b056800080000faff8141", @ANYRES32=0x0, @ANYBLOB="67a9fde500000000280012800a07000000786c616e7ea06df46edf277e923cf09f7d6869d19ca5d4674d49"], 0x3}}, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) socket$nl_route(0x10, 0x3, 0x0) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) splice(r0, 0x0, r2, 0x0, 0x4ffe6, 0x0) 07:08:23 executing program 1: r0 = socket$inet6(0xa, 0x6, 0x0) r1 = socket$inet6(0xa, 0x3, 0x3c) connect$inet6(r1, &(0x7f0000000000)={0xa, 0x0, 0x0, @loopback}, 0x1c) sendmsg(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000440)=[{&(0x7f0000000080)='+', 0x1}], 0x1}, 0xc100) writev(r1, &(0x7f0000000400)=[{&(0x7f0000000480)="a9772d9bea4824cc3854a62ffb84c4fb114d80fe462fd727b6f682cf0f9ccfe45f46ed18fc8af0505df86b4230370bfac91f7266fae5859a3608357c69f51cfa473ef19a9dc2aeb43f9ed68acc034cf841229fbbe3f57130fe2ad707c56a92dbe64e59aa78e24db8e9b50597ab0024ca2564fbdb50e7b8cfa5c7028d556977ad6a90adf768a5ac0505ab07f8256368c6e71dd4b5a1c2e3c9946b610ab2b324099beb706b6a510c134ad18c928be3af6cf20e5016c9a050e35e30716e4913c882272bbfc8f0e1ee9c31484af6953e7d967640eff8accacee6daf3f98051a3ee281555a41340273dcb0bd8cc8cd549676f3ec23cbca42d4b76a178376eefb3da036d60cb88b5cb9c0ae0135be1d4f598c564fbe97ad4b691f59ba4063b898482d9cde4497009884d75b1965874e9c4d5a7cf8a640433c02acd340a98eff73e5948611184c7c60da3b233367d58aaf4e407e2e2c506b871fd822ec231389734d23a2aa5dc197831d8fee19361e5b99d0b51e5b1f0cadf296b91aa9477fa72879b4a3a3040777cf778cee1de32619701d71cb5316c7234a910b497b5f1b2cd2a0d39e92b6b92e091b470da2cec0e1b1fd3ce1a15d559b3733b97b2ddb1dd2aa73c9e03f189b8dd48c9093daddcd2c3fd0e1a9d16046d85c8934d2f9094aa5fa7b8ff061cb753dea2637ac2a8d523c9791ae454ea2e8cb10ce4a3ad8937ed583cd653bdb05b965e658f9c5f06a43bb1e61cfa4cb9be2cb4ef264d10f37e5292576bfdc97b2e1f8b692f0b64f76287e67805df914273677a9c39bd1e4f73d3c1afd99ad18a210caee42ab5c87969f6f99d7423dbb72d436ef3a3dead8eda03274d2e8e7f107eb04fdc3e36d6d4022dbc5c2fe388aaa3234950588ef56362708189826b98d3c9ed4dabcb33582a7e55327e82686aac973a5d0292afd7175a9c57b4fc1e5ba7cb0a34e35e50526d40bdb51a224e5b89e74e8752c1b39ab250b178adfab91c73c04d3c012b244cb7745dde4f716203ffcddaa096186ed0403b323c3aaa79aa4a0e6d1231ce99f83788ba0dc86da01cdad25816c26bf8e523b287d7ee83b5d0c55599ddbd202f743a1bc3d107a9c9610dc62537af48eecdd174ee4e796943250b81af0da28c57955aea149010ede13eb973dbe959500afe5e77b32ad5a11a353555b48eb7684596eadc481c291f185d0d47c639fa5bcb2dffe859a9d4a0e184a640e30f0afe83f2096faef9c0129289688a5267e0d2dadadd0f8cb13f35827f0337d2edf6220a244dd8c135563051f6fcd7fdad7879ff3ef01975938bc6e47aee745d4701cfc5e5546f05903bbcde0120ad847c32658c1384a6d8f188544df337a25f806051a346fb980a4e84fee06b0d367bc81161e96072b2e7e47999ac93437749d11864fa4c03a2d333135660aa17bd421623e6654eeae956e51a0157cb876db3e9cb324641d132cda7aabd9dcaa51f090c1955d20c2618466a0ea5acbaeac5a46e00b8869ca9a337eb5d9406592a790678a1f0bbe729054abb4810f4fdf50c517d4dd312b2d382412d45b9f60464c107c0735b16ceced73484f37cdcc8b9a4a62bc997bbd1d23b993fc5cfed9a43d2f4d335570e76715b020664bedb0db88816bc97ec37d13d64f604b71fc73f3c38954ae554e45997209afb0ff102dc170986e2d72e4178a7e6131308afa29ba732e251ebdf6254c0589752bfca3bef7fd0fc60ba683c6016b16234216bdcf8975bebafd8ee4606a96c1993d1f096b435fa84279344b914dec8e56566e103592a7ed44c63c8b5c18e01fa873032b1087622f225747339d38fa89e7008695ce0b3d6f505ab7ecdf99182ab7aa264d9108af35b0a373da18a8183f696dc70a8ac88c5663a866e89c7d7dbdf7296d63e5167978b38463ae9f36fe4121229e92cce", 0xfdef}], 0x1) bind$inet6(r1, &(0x7f0000000080)={0xa, 0x4e24, 0xffffffed, @empty}, 0x1c) listen(r0, 0x80000001) r2 = socket$inet6(0xa, 0x6, 0x0) setsockopt$inet6_icmp_ICMP_FILTER(r2, 0x1, 0x1, &(0x7f0000000100)={0x4}, 0x4) connect$inet6(r2, &(0x7f0000000040)={0xa, 0x4e20, 0x0, @ipv4={'\x00', '\xff\xff', @local}}, 0x1c) 07:08:23 executing program 4: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) prlimit64(0x0, 0x0, &(0x7f0000000280)={0x9, 0x20000009}, 0x0) r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000002180)=0xfd, 0x4) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='pagemap\x00') read$FUSE(r3, &(0x7f0000004c80)={0x2020}, 0x2020) r4 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x34}}, 0x0) syz_io_uring_setup(0x5783, &(0x7f00000002c0)={0x0, 0x0, 0x1, 0x0, 0x2b6}, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000ffc000/0x2000)=nil, &(0x7f00000003c0), &(0x7f0000000400)=0x0) syz_io_uring_submit(0x0, r5, &(0x7f0000000440)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f0000ffd000/0x2000)=nil, 0x2000, 0x11}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000740)={&(0x7f00000006c0)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000700)={0x0}, 0x1, 0x0, 0x0, 0x20000000}, 0x100048c5) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r6, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000340)=@newqdisc={0x40, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r6, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_cake={{0x9}, {0x10, 0x2, [@TCA_CAKE_BASE_RATE64={0xc, 0x2, 0x100000000000401}]}}]}, 0x40}, 0x1, 0x0, 0x0, 0x2002c060}, 0x0) bind$packet(r0, &(0x7f0000000240)={0x11, 0x0, r6, 0x1, 0x0, 0x6, @multicast}, 0x14) sendmsg$BATADV_CMD_GET_MESH(r1, &(0x7f0000000580)={&(0x7f0000000480)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000540)={&(0x7f00000004c0)={0x40, 0x0, 0x200, 0x70bd29, 0x0, {}, [@BATADV_ATTR_MULTICAST_FANOUT={0x8, 0x3c, 0x800}, @BATADV_ATTR_ORIG_ADDRESS={0xa, 0x9, @remote}, @BATADV_ATTR_MULTICAST_FORCEFLOOD_ENABLED={0x5}, @BATADV_ATTR_HOP_PENALTY={0x5, 0x35, 0xdd}, @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED={0x5}]}, 0x40}, 0x1, 0x0, 0x0, 0x480c1}, 0x40) sendto$inet6(r0, &(0x7f0000000080)="03044e095c0060004003002cfff57b016d2763bd56373780398d537503e50602591f031ee616d5c0184374a7ffe4ec55e0654786a70100935ba514d40808efa000801601842fd08d49a47eff71bc4131fe4c1f99bf00a900000008d1843e770afd6e9ef5837dbd0000000053", 0x3287, 0x4000002, 0x0, 0x2ff) socket(0x8, 0x80000, 0xfff) [ 2032.991077][ T20] snd-usb-audio: probe of 1-1:0.0 failed with error -2 [ 2033.385937][T18652] KVM: KVM_SET_CPUID{,2} after KVM_RUN may cause guest instability [ 2033.396311][T18652] KVM: KVM_SET_CPUID{,2} will fail after KVM_RUN starting with Linux 5.16 [ 2033.415884][T18690] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.4'. [ 2033.518615][T18698] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.4'. 07:08:25 executing program 0: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) bind$inet6(r0, &(0x7f0000000140)={0xa, 0x4e23}, 0x1c) listen(r0, 0x10003) r1 = openat$mice(0xffffffffffffff9c, &(0x7f0000000040), 0x2000) openat$proc_mixer(0xffffffffffffff9c, 0x0, 0x20000, 0x0) r2 = socket$inet6_sctp(0xa, 0x800000000000001, 0x84) r3 = getpid() sched_setscheduler(r3, 0x5, &(0x7f0000000380)) r4 = syz_mount_image$squashfs(&(0x7f00000000c0), &(0x7f0000000200)='./file0\x00', 0x6, 0x7, &(0x7f0000002b80)=[{&(0x7f0000002480)="88e11d1ee43d073e56e61c7110a27c78b264a515aab0ee4bf31bebd79d3b8983eabb79520d6d3e59f0eeaee4b539d43c20c7bc49c70869eae6a1d1e06af5c7d1acad7ea093280410e182b6be2aa53041858b576d7715fc3586d5f872cf5c62e80f724dc3d722be78", 0x68, 0xfffffffffffffffe}, {0x0, 0x0, 0x1}, {&(0x7f00000003c0)="22c15f340afca29ec3b9359c9555952feca825169f83c5ae1b7da545e24dae7e95326a58cc5a1d98f6232dfe0b84b722fe761c941a8a32852046595e5efe07ba389150022bebce1ae1556d44882a82b890a5746f1aa663bbfbf625ba63695d65c5d5578ffdbd6ee6", 0x68}, {&(0x7f0000002680), 0x0, 0x800}, {&(0x7f0000002740)="55bc99eb3b45618eaa5517687cd43c39374fe56aa3d0ac9e9fadbc32dff9d253452f62c7a6d1b0cbd61303efbf664974fb483102f1c7bb08604d41302ae3144a9b6fb492d4bd14fb88586e12095878c54e024385258e398ad96b93e7b2", 0x5d}, {&(0x7f00000028c0)="67b2249abe41fc6a0a034741e58be7571f8c8f195d4dbcea687be9cbdb39f42f5616cf9957a44c65912b37f6ed75692df33338dd026fa2de6bcc54d94cf9512cabbd1284ebb311a36bbcc242bfc5176751ce08810df6c023aaaa0c70665b1a61a76392825da1381f4da255ce7987081559f6f88613cf708669dec57425fbc351fb937b2f0a87b239ce2faa8f87a6d650173e78c8f2b891b3aa406b8676ff3fa58ec996d797a2e8a6a592ad010022048e7091c1da47dce3512576f2e1d802a1eb887e7e1cbeb0eca852543b3d587d3ef442d2547ee8dcdbdbf5", 0xd9, 0xfffffffffffffffa}, {0x0}], 0x0, 0x0) writev(r4, &(0x7f0000000340)=[{&(0x7f0000002d00)="fe4dcecca15b5176907ca6b28271f2acc030f04daa8a79b59667c7673806eaca6a369aa1ef03f55b07b77d57df29ae6072eb2028fd6154ece13a955415f68347e0c85f7846d5b9fcb2c64a83c5a8c76783ff1753aecdf880e5963b5510615cf94d10e9e19ba5e9dc5f2cec01943052ed5449257815c6960f1c97755ffacab4dd4c1c8eed3ef7fc057ff4e986", 0x8c}], 0x1) setsockopt$inet_sctp6_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000440)=[@in6={0xa, 0x4e22, 0x0, @loopback, 0x7}, @in6={0xa, 0x4e24, 0x8, @remote, 0x30}, @in6={0xa, 0x4e23, 0x6, @mcast2, 0x100}], 0x54) r5 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r5, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000600)=ANY=[@ANYBLOB="1c0000002000010000000000000000000a00000000000000000000006b0eb689d156431b3f2581e7070075022180aef2cf2810904e270076691c18065fab56ecd28ad5cb612414aca2f43c2aa8073ee81961ed1b4543988c22ba7f0ae4630ba6824501b0a57d13c28e1a9ab080b5f524f62512438ba29f61a47c4ebc9b3c33defddca29052d8f0369a1c2457563916ebfbdd66d51c30ac2465030900000000000000000000000000980e1896d63f19bd196d0c03c1dcdb7d417e60ba030f49e859004b9f59410a43745b3e71011db2f35dc30cca38a6d7075741d1e4c7adb3792f"], 0x1c}}, 0x0) shutdown(r5, 0x1) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX_OLD(r2, 0x84, 0x6b, &(0x7f000055bfe4)=[@in6={0xa, 0x4e23, 0x0, @private2={0xfc, 0x2, '\x00', 0x1}, 0x6}], 0x1c) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000280)={0x7, 0x69, {}, {0xee01}, 0x3, 0xd}) setsockopt$inet6_opts(r2, 0x29, 0x3b, &(0x7f0000000280)=ANY=[], 0x48) ioctl$BLKPBSZGET(r1, 0x127b, &(0x7f0000000000)) mmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0x10, r2, 0x1c34a000) 07:08:25 executing program 5: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000400), 0x4) perf_event_open(0x0, 0x0, 0x10, 0xffffffffffffffff, 0x8) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x1, 0x6, 0x2, 0x7, 0x0, 0x9, 0x0, 0x8, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, @perf_bp={0x0}, 0x0, 0xcd, 0x0, 0x2, 0x80000000, 0x9, 0x8, 0x0, 0xc6f, 0x0, 0x5}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) setsockopt$inet_int(r0, 0x0, 0xca, &(0x7f0000000000)=0x10001, 0x10) r1 = socket$inet(0x2, 0x3, 0x2) setsockopt$inet_int(r1, 0x0, 0xcb, &(0x7f0000000000)=0x10001, 0x10) perf_event_open(0x0, 0xffffffffffffffff, 0x8, 0xffffffffffffffff, 0x1) ioctl$MON_IOCT_RING_SIZE(0xffffffffffffffff, 0x9204, 0x234d7) writev(0xffffffffffffffff, &(0x7f0000000140)=[{&(0x7f0000000440)="7574de2981b16ef14b9c185aeec4091a6b259994627eac4adc8481e093a3453ac5651cdd7c92000e58a5d5d9d1d10ee3858a93885748f10e961931898bdc1343bec7f1aa9af09780ae0f848b0e31b13a30e95b4dd57db2eadc1eb98f30b9374be231b3b7cb9e4ef27d62a471d8f7b28f934561574c499579745d7e50d8db6a4e2fff9fd8f8b6eea7db04569eae7e479aa2f9876686ebe646824896fb69d12e1a675c1ce27b9c2f3de513dd37f13aa6409c8f7513e3438bbe3be60f668f9c4ec95a99ef20d3aa845dda42199c2895009791e7cd", 0xd3}, {&(0x7f0000000540)="1280493a1b152c93f6aaedae20de5c2cc21076722452281672966cc2681ae4a3c537c9f9f7cf11bfde46a33cb99eb65bf436e8d6694288fce1d425e71bf7ed211319432629b9980f103b898a59ab561934d597dccb94cf7f7b007523958ed411c2adb896eb2d684aea0aba90bd865c05b83775832f7a8f4984ec6cc80a537fdb7b58f0d8fa5cc4c4ad3a8740a28b5dd935d031ad23cc4671ec7b4ba502b939268d203fef0c3125094f5a758436aae1ac722475065165049612761c7a54cc06363a47308debb417357037777f0fa8ba6957af25d3ecd4b21e99004fbfae29d7457dea0ce9ab2f151b29e0403b16131c2d8184a41c63cca8d728ce3e48c55142", 0xff}, {&(0x7f0000000040)="b59635ad9a62dfee9b6dfaf41d5f60088b307ff24f13dff9d355f0f2d1fdf47316a972f56a083bf3312114a343124dfddcc606452aed5df38b180fc3b41c90e7cfda51319996faaf5ab126830e02a8f5fe0cf4ea555e5e64822630ccb1b1ff62b2d4a986ef2ec04fd327d69ba4638ca4b62b981c3b4c66b03bf69d98b7f31ff18016c6d4d5961cf9614bf1", 0x8b}], 0x3) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x8) bind$inet6(0xffffffffffffffff, &(0x7f0000000000), 0x1c) openat$dlm_monitor(0xffffffffffffff9c, 0x0, 0x0, 0x0) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(0xffffffffffffffff, 0x84, 0x7b, &(0x7f0000000280)={0x0, 0x1000}, 0x0) 07:08:25 executing program 1: perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000240)='/sys/kernel/mm/ksm/run\x00', 0x1, 0x0) write$sysctl(r0, &(0x7f0000000000)='2\x00', 0x2) sendmsg$GTP_CMD_NEWPDP(0xffffffffffffffff, 0x0, 0x0) r1 = accept4$llc(0xffffffffffffffff, &(0x7f0000000040)={0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, @random}, &(0x7f0000000100)=0x10, 0x0) ftruncate(r1, 0x7f) mremap(&(0x7f0000052000/0x12000)=nil, 0x12000, 0x2000, 0x3, &(0x7f000016f000/0x2000)=nil) bind$packet(0xffffffffffffffff, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @link_local}, 0x14) getsockopt$inet_pktinfo(0xffffffffffffffff, 0x0, 0x8, &(0x7f00000004c0)={0x0, @empty}, &(0x7f0000000500)=0xc) r3 = socket(0x1d, 0x2, 0x6) ioctl$sock_SIOCGIFINDEX(r3, 0x8933, &(0x7f0000000080)={'vcan0\x00', 0x0}) bind$packet(r3, &(0x7f0000000040)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @link_local}, 0x14) r5 = socket$packet(0x11, 0x3, 0x300) ioctl$sock_SIOCGIFINDEX(r5, 0x8933, &(0x7f0000001180)={'sit0\x00', 0x0}) bind$packet(r3, &(0x7f0000000000)={0x11, 0x0, r6, 0x1, 0x0, 0x6, @link_local}, 0x14) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000000540)={{{@in6=@initdev, @in=@private, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@empty}, 0x0, @in=@loopback}}, &(0x7f0000000640)=0xe8) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000680)={'batadv_slave_1\x00', 0x0}) getsockopt$inet_pktinfo(0xffffffffffffffff, 0x0, 0x8, &(0x7f00000006c0)={0x0, @multicast2, @empty}, &(0x7f0000000700)=0xc) sendmsg$ETHTOOL_MSG_CHANNELS_GET(0xffffffffffffffff, &(0x7f0000000a00)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f00000009c0)={&(0x7f0000000d00)={0x26c, 0x0, 0x100, 0x70bd2a, 0x25dfdbff, {}, [@HEADER={0x6c, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x0, 0x2, 'macvtap0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x0, 0x2, 'netpci0\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'netpci0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}]}, @HEADER={0x2c, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_to_bond\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'geneve0\x00'}]}, @HEADER={0x58, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'ip6gretap0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r2}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}, @HEADER={0x68, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'virt_wifi0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_DEV_INDEX={0x43, 0x1, r6}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r7}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'caif0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_to_hsr\x00'}]}, @HEADER={0x24, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r8}, @ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}, @HEADER={0x58, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'bridge0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'vcan0\x00'}, @ETHTOOL_A_HEADER_FLAGS, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'ip6gre0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x3}]}, @HEADER={0x84, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x0, 0x2, 'gre0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'bond_slave_1\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_virt_wifi\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r9}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'vlan1\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'wg0\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}]}]}, 0x26c}, 0x1, 0x0, 0x0, 0x80}, 0x20048000) 07:08:25 executing program 4: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x5}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$msdos(0x0, &(0x7f0000000000)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="e10900000000000000"]) open$dir(&(0x7f0000000080)='./file0\x00', 0x20040, 0x146) open(0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r2, &(0x7f0000000580)=ANY=[@ANYBLOB="1500"/19], 0x15) r3 = dup(r2) bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) write$FUSE_BMAP(r3, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r3, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f0000000180)={'trans=fd,', {'rfdno', 0x3d, r1}, 0x2c, {'wfdno', 0x3d, r3}, 0x2c, {[], [], 0x6b}}) 07:08:25 executing program 2: r0 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) r1 = open(&(0x7f0000000780)='./bus\x00', 0x14117e, 0x0) r2 = creat(&(0x7f00000001c0)='./bus\x00', 0x0) lseek(r2, 0x0, 0x0) write$binfmt_elf64(r2, &(0x7f00000002c0)=ANY=[], 0x1a0) r3 = openat$nvram(0xffffffffffffff9c, &(0x7f0000000100), 0x801, 0x0) setsockopt$RDS_CANCEL_SENT_TO(r0, 0x114, 0x1, &(0x7f0000000180)={0x2, 0x4e23, @empty}, 0x10) write$P9_RREADLINK(r3, &(0x7f0000000140)={0xe, 0x17, 0x1, {0x5, './bus'}}, 0xe) write$char_usb(r2, &(0x7f0000000080)="3b017f883f6903b8d4f463097f1b3f06feacf158800604d30413e9ec6601dbe56d4fad667a9fcd003ca3664188f6946acd5cbd2e192f187ce697d75a99183da37af0db91545fdf3d2778cf59c400697bd00b319232d9c21ef325", 0x5a) mmap(&(0x7f00001f1000/0x2000)=nil, 0x2000, 0x17ffff7, 0x4002011, r1, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0xc}, 0xd420, 0x0, 0x0, 0x0, 0xfffffffffffffffe}, 0x0, 0x7, 0xffffffffffffffff, 0x0) ioctl$EXT4_IOC_SWAP_BOOT(r0, 0x6611) creat(&(0x7f0000000040)='./bus\x00', 0xc5) openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000000)='/sys/kernel/debug/binder/transaction_log\x00', 0x0, 0x0) [ 2033.953326][T27380] usb 1-1: USB disconnect, device number 63 07:08:25 executing program 5: bpf$PROG_LOAD(0x5, 0x0, 0x0) r0 = openat$vcsu(0xffffffffffffff9c, 0x0, 0x40302, 0x0) sendmsg$kcm(r0, &(0x7f0000000640)={&(0x7f0000000140)=@in={0x2, 0x0, @loopback}, 0x80, &(0x7f0000000580)=[{&(0x7f00000000c0)="bc7b3aae5e1e55e4f70594db0eef763c56e1518dc8caa88ec3afd2fb8af27a063004fe94218e4d730813", 0x2a}, {&(0x7f00000007c0)="4c0e439c7bd3cbcf54f629d35076a6898e7d42aa8823c3892a91d269e512a144e4744d24180b9fb87f4dedcd469671ce494eb993b9cd1536fa8f755901407977f220f9ce5f207dd12b805b5b7db2ccd65ee6929de6ca4a3639bab2acfad6700ed9463b52b32272ed5eb8aab21ce4847b9b4b3999aa818396bd4720182c2499332db01d7706638650ccd4dd2d0201950c52252856feaafd58655395444bd2828b5f1e160f0186dd2ff6a2346b8b11efd8fce25461eb0ad23f2b1b13eaea768c9006b7951d0fd98ed05c81a7f51e46c78ef141ffcebc1ba2c7a96faf3b4ca543ab9e6dfdc42816773456fe72bdc530f4ea750c6db1c32d3a96d6b1a6fbe5389da50def27d0a4019f9942b6ad6bbf4589e12416e3fff33a626fca4cbaff34e65cbb0b29c612ec3c694f5227e07edcc42059e0ed5a419d9a292684d35159ae6b7db15ead8ce6eda6c60f38d8dc3037633d556fc8fe766deb4a58b94a53c1f21a4c1d098da42305cc1a8382ff796068812eabc1dc6bf1d6d694cbdb1d60fab0c4e3655a15745306ab70f45376d02b79910df495eaa18e1da7d4f8fc2fd2badeeab15cbd2fbe1af14ebcf2b7ca5236f50f8ad5cde37a9880a9043a8352fe6dea650691d050fcf6c348de9fa35cc2059b7de58b95443e5dd86e93c3d3ee011f6ecab70098991ba470da5c053d675b0e8ef7393bdaf59e2460d6c45890bdb4b7ec36a625e78e41f4fa95c8ea15cb4ad2d267af32576245fe038732b84429210a5ec7a37d24ecd45fa44ae271e900cef6dfb8ff8977866475700b914e4657bcbc8ccb3a5cafc23fe80a6843b7e933a64ce3a0e584e263ab20087bf439174b27e0a045208964b264794a39ba9f4fe21ea43799a3db9a4b382c47c855441555685f720ac5131f0f0083fd758f1319c8eba69121932db314a92d201be26a83c9cfd26bf20900148fb800af9a790079578b4f6cabc0104250cda4e43b85f5ad69764d0d651e641b09352dbbf39663f22e051a516fe1a1dc09e9a77847df9be6c375ef2935b1133bb2bb45c05fbe5f97b01b032003d70926c1f0194f6e33c258d3aca6e011829859f1059fab3e05bafac5293fc9db0ea3083bf02cfecdd5f30529b635495ff7b6e9ec8055d891578f39eb1e4050255595be24bb907a46128be1983b1a9c22649df6754b8c8ce83fe74cb91481ec81b6b0691d74031544fe1969902f8b858146f3730a335021a71537f0c4b7e625292745a047b257b4ada885eb09e2538a9454ae04605d2468b117a76cf5d345239363a6007a519e1e279c14e76b2299120ed3f1da40fa96d4e62a1a435ffa0635a84878c8130526ecfaf2324bcc197e69b9c8c99ee774d271febf08f427cadece3b11e04087fb0c044fbe71815228b5de35d43bb7515cef52e83b3211b7efee80372a47fddd41d8ed9557bb8f696bfaeed2609438e4dbe1680b60ea8cab0aa1b66be6507bd4898648af78890df83213a5cf6ddff30532b375dc6c7850c82e51b32eea8dfa284959c36b552a7e3b0a8c0b0826ed2edac82b6ad74c50f33ca7ca12d55e3e939499ac625040d0a5007101b893a69d3faa116f98de2f14e4b46202f334b39d56b80836d85460596012cf16adc9a64b3274a656a1961f9185b9ffc10c8a1ecc3568d6ce30faff5eff29b260115eef13693f625b0761df86488eb8063af892b65485600212c82042666a409a4c5632ad2b2c8d505fa79941156a7051170d946214d614bb9bc643d45e5d863de9944e31ef410bf8829463d83a6cf9b9d772628850607f7d0a3452befce1895be189383ed6b6def1736696d0131bb9d8a5aee2a2e50689bf1ded010d5403f81706d4cf0259b1024479de126bb712138383867149e8dcacaafa5577533cc5b758876441263fb66d0ab881cbeddb9a3f2b90e2114caf1ff317999d99a5239fe387dc946eb82f993344ea680b3b95ce403bddc736aed92fd70f3c6dd2343d9ae9ab61eaeb9d8ad70de0c82fe399447e52203b025e6570ed05219db421002ac1d49ce47027144181f562b66fe24c1813ab9ee1c70f5830de4278a0067b481677193d8880ec06c088d682aa27ff10071e5065c4739cd3f4dd8442fd072c844bf7befbe66cbc99c372fb7d6db26eb0c932a3aad04c3b4eac40e02a1f1ea84a435c060bc8ab633cc84bf75364354f951ef6e8be0329020052dcdccaeb6598e19d2c9922916e78808a59d8fabedcf6f6351ee2c75218b4108a54bd0794375093bde0c8f2b957c2289a45cbfe923687890a2bb3388fb1ac3f03808f5a9f103d5a5747942dfdf0774a318a005c23fa8826502e409af2c3e4ea8cb91f7cf463f11833c7e2e60b4aa62ab30ce24deba9e622fc6cec9cd94c77e6c6d430d14c1d5a62d54f0b5d2862f08d3f381970f8e904143dd18be67142afbba8db2d57b3f73f874c8915633187654e03414dda56cf1b5ffc78790c723c1e43bfc9beaed70a805f23d634fe2f6bbfcf479b3426d81c99b13e4bb9ca850438f10299402b776c116dd97c92b408bf5fa58e0e9ce78cfea4f0d8fb6340035b61b8c2294e0a1b8578b5ff5e91351536d62e2de02c3b7185a7ad4c0e7db02f26d08d579e1573c102b05454bb5bcb5ba149a451954d409bf7108a00b69aa0641bdf128919c3d633e5f5846a948795c2c8f083f5e17102c035e15076101f3adcdf935c50bb4a1e4a2408dd294945476ec2c53e9b8ffd985b07cea92a474b656c7c938e0660b6dda263fc22e7b3c474001b72b79c34dfe953170b36fc147a9c3f39af9fac334fb20e918f27b42158687be0fadf55dc2018bfbe32d5558dc4f22a68363e7ddb518948290359fae624daf75ed9a81acdaa87debba4c5de75f670018dd12fbd4dbcd1daf91dc37313e79d3bad187973f7fcf79b59b92981841a737b17189083d0873ced0747ba67f239ebc0f062224198acf8321a9680d450c456a8b109cb0cb2222a429d09f3a40a09631cebbf94ff521b82262fb27a86f7652b1797f0f5e431c06d5e434253e706c2624bc857a85e806d270c827b137b53528abec5c8435fd1ab5d6859177e7c0f32b1a855601db529b608fa401a3dfb0c10986022d25093599791d0ab9b8c89f23904bc2fa52ed4d25f49132aec074e9bec5425ad5a75372c8e7ef99072627e9142778db684e02aad8f73ac96b8e055f5bb4b2b60ca87987559147cb1d6669c3773d03dd092ea4a60293c322e4b00c5e782fe266f44a07d4b9ef6a5391d7915ead21ed2f11a1168d6bdb5bbde0e5a95fffa59e0ea69c155a04eb0efdbe006b296e84cfbe0661cd2d0abde0c08664433e1ffac27de3321ebff468303b37ab956084ff4c16880516740d8fa47db4f483e5dd58f6755ddc12e407e92ef379d8cf619ab6eeb773c7e0480194c6b02341a4f4a46c6bead8119d1ac8a89ac85387b720d8868c195f3f6238c0d1ce21006648cfac062d779e2b7bbcb9c770aab956ef857d76c39a9c624e6e0993288e0369b4223929e209c422e4897a9922e08af579bd530ae1c15305057a92f4fb4dae0e8729ecb1f572112d49c74cbd997b473e1299b3d290df19e6617960eb41b4a5a01aee89ce04cd15f994a013ecc9f2f5133b4895b83199926e1d45c35f10eb06f198e8f8612588191c744b888cb464a06c37cee677539dbcabf9e75b90e6e22b03693778912b4321fe4f7235af4071061612a58bbf60a01874eee9586243ea778592e4d79508193983e9e2412b3f4649fc25c25fb103d80cf50b92a3819eca8601e10118c26860407bf4f8cbd0653b3bd9b0d893606b620cfc2b17da5bca443050ccb37633119cb61ffa846b650baec04ab6f965edd4e970de20ad74dc3a7bd261b655e83ef03299eab56a64df876ca341ea20586de667744a0afb6beb614a91c2aaaee60ef73e4589021030698a8cc595df7a54f7474b83ec8fe527dc61ab1f16fee3a349d4ce04132c0ae27de60b7d7e4f4e8ed5910f2ff336ba94a51f68c36a0cea0dd8030740f5e0e62db2e828013eeabd00714c8dc62bc74d42b3562ff2b5cb8373993d503636234f78a35bf45894d6e0747c6e2471c6a45215f8d2253102748ac56e2664ea1049a8d8c2c5d5c218d43016c4c429ca401145cd9cd9203bf34c1567edcfaa74124f107db27f4ccae13b5f85d8807ed20da8ffb6ac90fbaf7f17c0c355de5e942bac1f801a8701efc5c151a2b249a9a1dc83f8141fe2c093542084426c6322b593b2388693dfa44491d3410cd6e673fa8a32c6ff2b9fbabe58469e8cb458be891154c393f6b3b4d248e373356228567da7c1c2f20e9a9af30e558b80827ed576ffa939bc98771af20eac7c5a66d46130528135ae1b0bf97521a0786860df5522148ca153c7959a6e3d176ff4ff99660c466083db28f096369858c76ef5f35dbb1fe313faec2ead6e054f8f5614784746a7af942aca67f1a4637350be8949741e0676c83edffbc7486c4b0a42f6f7c8c307561cf7e9adccd76af1dca13c5ced463e8b99d28201898c63b2229ccb8b8c566df9aaa16494aa503428b3f0b12ba26d118fdeaef72da711b214938033f5e6c383050481c4050e8772ba98f6badb732d9bcec51343662cbcc916804546446027c12665ba155e65b635a2ec13754736ffff72fea76456cb946f30d9fef81665aaa4393f2f6e3ae405af0c59b6570eee66683c3d37fdad5ad5a9f7cb69556bffb3a79d1e15e714498cb86494ab5aa97e5bf5cce6152577bf4b5f41f8e65ed853af2d0fe89cb512276d18ebfd7eec3deeff0e66a0fd65b5c62c1602bdbea631774a4b050ae05c874db45cf8f2c92ae28c6a72a2921210c5d57fe3a1f2264f88797754c11b6d4e48bf21555658e2460e38beb3ed83cfe011befbb217f24dedca23090d7bde5d28a1f43f57f735cbca1bb1b289ad724dfd68fd3f2714ad305ed59d69116395d7712c5ea9863cd9f1b698eff71d2bddd747a9c7176bb2c16dbad495c33ed18c61fc63a21008de8e7e04f0b87266e1a42839622946f19538c493e4193498ef29ab4860063aac3ff42fcd56ba8156c3b949a6601ab9c700bf1bfff0b0bafa60405d1abe40af063e4a27cc78218375d023b1e59b68eb5009617b91cea3f88ecccc11b4d0261781eddead4f0d516503f0a3df5069e470409c215fa732ab96c0d158af8800a8d4819183403d8bb866f384b1a36777895c60d94369ad9c22defba840ad1e1a4b07106c1a62f5a4aa8e040624d302e8a6fc38b54b587bbc1a8f2f37c8bcc0764847547986f8413b8542fc1176ba7bc600098ed74d4a34116259621dc83cb5ff0d60b277c32689d2f3a3efd9a265c33874caf4807fd0f98f5bf75d3a23c7851471221948540dba981ad44ed8a40e6375e015d22b7b49f99147167c118318bcd3c25d7fb585e9e036512ab4678e20c8ef71b85f3fc03825b42a4d966b558d4eb4f79d646ff769e7732e4c89cf7383b3477b09c58673806c3caff2b9eb9a49005b419e8e3c1ce6b2c8be937b8d642068706495486becd6c3a4b7f5ae3310020a446f837caa42786e85a903c2fe19565ce2d642dc4d0ae8ac2d3f5004019a98b7b0f431b105749e031be818abd1cd7624dd559a490952793b4953d78dfca2d9e52a45bfe8363437866aab28e5d0352e6286a25e5a12383d39b885c0480701c341c98a6cf27190782cb08bd50bf42fd9028b6ef102b49e12aef35a5874fb46e0ae8259ca115d72c5ef323e1fd4e0fa03d93400334a1b9631c7dda118502d25dcb057b5480d07e73565ab43c0b3ee6f8071ba12e9721ce5e4cf8daf629e4", 0x1000}, {0x0}, {&(0x7f00000001c0)}, {&(0x7f00000027c0)="4473c091495c7f6e37a915c04f9e3a40f1e1d2fd0bd8de5bfa3c06ad5b69e100849da2bd85078b159ada9d262eabad2e95102ab4e3a1ce059210d5b9735dc31d186417b27abe639ebc3a2ea009a643e1fc4d81b7ee9362cfee56cef644ec2e1126759d0e7a38170b9fc95068a6cb8c8ff51811f3172cf9cb8b843cfcb73801255344722a3b02cfda0178d71126938eab05379a73e50da144de7f82cb08587d2ca34f5e786e8fea4cb247afafbfb477f0ace8badb3461b29c03bdda57a0c6b58d2437455195e056963ff802b107c39859f1232f6d519c8c1d8f57c8d4db9919842b1902c010e192de4c8a6ce7850bdc95d49db7dd23358aeb678cd761fcedfa5ac6f7d2aede0f36b0bfaf5c5179e10efca67e774bec1426c8bf381e413669d720ec9c68db7b49592092686e2b3fb40052e2f2593ffa5b9f37e2f9109107fc9ada89b48927104393c45bd74e00578fb13dee0474b0bf6a3a140017aa462d3fb57f823ad580be16bad0e6ec91a1e3c03d1b9c3598eaf3a62811b7d817f802acec9fed80c62e2f9fe4292a146cdf5a71ec4f6a6cec33ceb744b8a8d901d2f14416b46ea5a3a21873c1554ffdae2358ec684af056e13f4f047c8deb548eb3d60a3a7470fd80ebf3fa6becf3e4cd7bf548d0b1518f135f2a7f6f87d90b5041faa535a403b3662994522bca251d06fc47006c46e563c824237caf6e0c4b7f359d4b29740932b8c471afae95c1f463cbdf2e4a939b78b2148856720dd2273dc3a076ba671b60766dce319c0c84444ba7628b1aea11bd3dc9b7d6fe43739ef4befdd5c540844b713614fddb1731b4523074378abb34c9fa80203996bb5a5c2c35f6664ef5b0ae95bd0d3fd871bd16d7f9e46780a6615537e0589c71b50ded99ec0bc5c0c1b93ef21ef27ebcc3eb55fe45a3b0db81b01735aad0fda5763900cedf3c1d8e04b4821e67f1325600f3d7790b7834261201f05d92367a43afab1ef4f20f86fe8fc08e645b78660f1c563cbc347f629a2f8d81f19818ecc5f6702fe084b3f76e23f6c3b94e62f95a7000b11c76d589513bdc9d274b3636970a49a7e90f55c42d0f9544dc36b30dc962b6bbfb3eea143bd55cc40dec26234cb2539b4c049294bb6ecbe0ca47f5deecb206d4d8458739d0ac8a4acec8095a4f2b634d1926417c104603137e4eab49b44acedf857ac9d96a99dd3b28956c9fe942a309164e1d6e9151b30678d88f57ea556ab6aea6160562f47328f982d1330798a9dc570e63bb886c42ca31b32ab2bc041d7c19d9a10b18a3b4127eed7a91b69ebcfce605413d8a65363a3e45ed63c1014e8801256fee5b7d082833ded12b4656189d1da64a2eb3a94dd6711ba8f14a2a9c3cbfd8b24da29bc459785702a078c7f46d34bfe16b0287b053af2038fc16f00bdd0f3bf59f47d88fe2f68706a6b2024902840dbbeb3dc0e17f403fbff88be707f7cb42fcbd0f1e6676842b3b309bb4b6446ed1492489abd3ddaf01e7921040962016424d62460dfede40f4c76566c6bd5616d3eabdddd35ff073631b352474486a4a6027adc2f5a9cc37a1ca5ab8c1954e1523c5f34e74cc960099451b34aa3707d5f57d68012cc9661b012f0265bc7ca87a4e1dd16c7d55ea96c8b46e3f8cdcf583ba9a7ea6992a8093e98928f630a2123a16ae664b9dee254992eb55a9e7530e2c5a3dccf9be2e30ba5f7f841e1b5d7abdf78bbde30c2b9ee5401daa9d046df097010ecad515fe85b6c9b819a658173629ca9d720e5cd9b7786bd6bf63631cf3b3d86fbcedb39ee5fe7f1ddd734ff1d9bc4c5984a3fb5bae49e8ba5ca7a5d9c30dfd42e1fe3eb03e1177b902a73605fceadac9fb4ccfaccbd2fc924b4df1f17379ee34e354162dc575c7edad88807076a4ca39bb863cd0b72da2ee21d56678d9cdeb5d3cf8b971873caa99b33f6d1c317a9f2554bd573a8502ebaf94bc6e7c908c003801c9ab38da8326bc91cd8846830b678a39d7cd0d93ae10df1bb46b9155ed0287ed7df7c723b3a0220499a3daf51cc536aac4aaada8ce3e323d72c410288c04f0180029d816bbb631d4984cf1695d4ac9ce1eadc4a7094ab769d988d20c20d4fdeeb257342420b774244246e0c4fffabd963718df3038e17c751dc4d4300fcad6b615c36f58a4f2fd8c5e205f02f8f516fa2223eddd2bece3dfdec1d8f2ff2c3ab401ac238e8c1b1400b3bf42f66a582bf68a4b15215ab968042d4473c5d49c276b9611282522d59d0a12415f25335b59366a056adde5aec4049d945d7fb299698194151fc73f3349a0231f69fce789d79afcda39b2c6fba2259a4765e773775c347323cebeb03e1c4a4973b3eb62d525c1ad9c88e8db6ab9ccd164a85dc559cad046d5ab4d88757546e271c2a729d8bf65c1dde73b86ced54778e10e24564372f9a06d76e54a9999ebff0812254b52f83f8dcdbfd9af00d1667fcf53c65edbb3cbfae713dfa8384c1c2656304d5a3da5696b0742caedd525b4b11f3c647f9979633062997319c10972a5bfd60f47bd31225304e9b8ea9048a674b12e8c5c35c10fb95154a73dab7001fb3c3c96ea8aea1ec02c4a09cea9c5b10520b0daf77823010b89d0cceb12d30e5c447a9c8f710f36c870c8a090f995016e2e3512fea31747e908eb685d038b38548e6d1acc0b1d0d7cefc368b0f98ff045fde276f9296bd5d9ad184b297ffe4a5c9f434fc23c72a8031feea1ba4289693c3ae72cd996b87ad7da61feb0c917414d42db4c27ff14500d178dd8ef76964bac5a4b90938614b81e326424e5208115b5951388c37b983050daf379d0f92d565a7b999f268353c1eac5a742006c919feec5525f2ee9148b98077bc1f088540088b7ab1e4fe22a2360332bf56b0fd9be578b145829b6443d0ddd0b67b24cff7c36b5e8631338d6324b2c1aa46f1c64e1f3661a8cd72604dfbd7ef85df2f4154a8ace485c6ae7799c75f5516bc142ce08f8e5e5afd5b40f5a1aebb908ad6787f0d331758967662825fa37c86d938e86f321cd302e07149d3a6bd7e5175440e369f92c816c4707bf1ebaa07e5084c5fa43b088f34dcf251ff620efce730592842b8ecf6418eceaa809b92b451176584d9bab9c601b8733cc238041b847ac74cdb5d6abc28de69080a9662cdfcc0c3817ba6b155633196a21119258e52a1f87451c5d1a7c86ff1faf0b541e98a4b7ed4477ca0d67fb754c44005e72ae82adb9386303972317b9f8b95b604355043766ce36724a5fd5f60e47eb00486fb1c4405652a066af6a9b9cafe4ab84c255014b37fe8449db33b50c7764ff0b05c9a44082e4b0472c79678af1ffc7d05ea0963e103ba0bb1ba3991051e5a4b7c03e41e7f67f27344965484e183fbdb35ed3cab7d92db0a940bd4798887b29e3f0b3fddc34fba4505a8d64c924578bbf7f22c2c542dea635c26bf73125804b04aa4cfa4977ff646063ebc5f2272b7ff1bbb985d8a0e170086cf489fb21717a82cbd60b0b59bbcae0af5ebe9f7bb62b6baa154b37ac214344c68e98039efc992a9590c59c295db84e8c505d8440fabeaaa30faa1ed2a1bca06a3fc372c8b32b43bf53e7415680b1b23a41912ec61cdbc0705e4bc5fb86a5dee34a17ce49c672ed1c447bceb27b90bedaf25b0ac6661e656c54d246560be7b3ee72e534cc00be9efd934f2fa2917a1de802b708cd612aa64e053535df71a903a65a627b15890743924f29ea3f98f34cd96a86c433b119cfad2b4e1aa54e0b3b8c731b8c8b261dc81a101fc93310e2990d54f51ecbd4a743875fcf61bd2761bedc31b368a9e1d5831d7117d80fccacee922d5270ce9b759c706b8fc85270e4490f38a0d54c411639f968210dc97312e692d35bb2201ba843ef5f6491fe7b89fb0eb7735cd9e68e1183ff562ea1a64dc5b10d955822589d177a1955bfdfd9e5ac9b5b767c7a61e98c1da8a12f4a607121b856296c7c82de705536ac34dd021c12cdc2745e51475e93071cd3197ad131676bc9db9777aff352ba287d92891d90e7f1f45d7c1b58be04908cdc1862b326643aee92953f211e5743b58093a66c9fe2185e4efb092bd3d829fbbe6e99e308cc1b60531bd676cd5c48c9b5f720b2e35221d078cdb034fa8881716ca46c46b4baa6280fcb7137aae01e1c5c57c8b859beccc2606c82cadfac0d2ba052466e6e8e3843bca46770b23324b3b02713b088c8922c3da356735335dab152864879a42eae5886b9150af4740dc41ffb3b7a1d53a3da6ce32d4afe98f7ed3b988da3cbe388728097b364a60d3446c4980d47dc1030a83fbbd86d5d47647463cdbe433a4897614d9da8fa52a546a3814110bb69de1542524addf705", 0xbff}, {&(0x7f00000037c0)}, {0x0}, {0x0}], 0x8, &(0x7f00000047c0)=ANY=[@ANYBLOB="f800000000000000000000000200000049754c48353ab5d986da5aa80fbe842c90e6cf2bc0cd17a12004242ee6ca6f1ceb2d4fe6488e2978391f60979ae48215e372432b145691605eb1c17ef68921b6793778fd2a71a36c9dccd10c2f012af6fc6278bcdf478263d9a786baafecfbda8f2ec095f2d3f1fca98e1f8165ab1dc1d7d7df525718257c28eaaa0efe81ff54887e2af760a79579c2aa7f767a82904ef95c4b03f7d2e07bfb1f199a58b6d55354596c5cd94aa1504d0d9c70d5527314e468f2705dacc2920276b271c34e7c7f9c0dee7c9df6de874dcec980ec101b143c8155fcbbd2f832c55364d4827a81e05f5f1d22c25f6f00000100000000000001000000180d000052ad9c38885078773bec9cb5146d41b37da1f572ebb0b75e0068432f2a95af77b7935725c6a9c4899ee6e58d6401aa627fc05b05db053ba36549aec6c5035de197bbe09ae5f6fc7336112be7bc027dba562ffb1cd26348ec3c23d34a434daf76da9150e19102c8690240149346fc5219dd2fd35ad64f4e9462156bd4ae807a6a6eb2e5a086f7722c4efd1f855b59db75c2d389ee4e9230704a797c3fd10ebafcde3d749511919fed60ea954ad6e1150060908ed87fd0afcb3fe3801d29d930b2f7d39e62e9ed20982c4b493af1c2be3190654f6f74a0af3d1b71118f14bbf3635ebf99dbf4c39b9a9e023ec89a098400"], 0x1f8}, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x51c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) setsockopt$inet6_tcp_int(r1, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) perf_event_open(0x0, 0x0, 0x4000, 0xffffffffffffffff, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000100)='nv\x00', 0x3) sendto$inet6(r1, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) ioctl$FS_IOC_SETFLAGS(r1, 0x40046602, &(0x7f0000000040)=0x2000) 07:08:25 executing program 2: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PIO_CMAP(0xffffffffffffffff, 0x4b71, &(0x7f0000000000)={0x0, 0x0, 0x40}) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) fstat(r2, &(0x7f00000002c0)) r3 = perf_event_open$cgroup(&(0x7f0000000140)={0x2, 0x80, 0xf9, 0x4, 0x0, 0x4, 0x0, 0x8, 0x4, 0xd, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x7, 0x0, @perf_bp={&(0x7f0000000080), 0x5}, 0x2000, 0x80, 0x1, 0x1, 0x1, 0x7f, 0x8, 0x0, 0x1f}, 0xffffffffffffffff, 0x0, r0, 0x2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x2400, 0x1f) ioctl$sock_ifreq(r1, 0x89a2, &(0x7f0000000000)={'bridge0\x00', @ifru_settings={0x0, 0x0, @fr=0x0}}) syz_io_uring_submit(0x0, 0x0, 0x0, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) ioctl$sock_ifreq(r4, 0x89a3, &(0x7f0000000000)={'bridge0\x00', @ifru_settings={0x0, 0x0, @fr=0x0}}) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000280)={0x6, 0x9, {0xffffffffffffffff}, {0xee01}, 0x5, 0x80}) r6 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0x7a05, 0x1700) write$cgroup_int(r6, 0x0, 0x0) r7 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r7, 0x89e8, 0x0) fcntl$addseals(r7, 0x409, 0x4) fchown(r6, 0xffffffffffffffff, 0xee01) perf_event_open(&(0x7f0000000200)={0x2, 0x80, 0x3f, 0x1, 0x8, 0x8, 0x0, 0x401, 0x20008, 0xc, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x81, 0x1, @perf_bp={0x0, 0xa}, 0x2040, 0xfffffffffffffffb, 0xbe, 0x5, 0x400, 0x80000000, 0x4, 0x0, 0x10000, 0x0, 0x200}, r5, 0xd, r6, 0x3) [ 2034.717107][T18738] bridge0: port 3(macsec0) entered blocking state [ 2034.732129][T18738] bridge0: port 3(macsec0) entered disabled state [ 2034.816480][T18738] device macsec0 entered promiscuous mode [ 2034.847973][T18738] bridge0: port 3(macsec0) entered blocking state [ 2034.855116][T18738] bridge0: port 3(macsec0) entered forwarding state [ 2034.969756][T18741] device macsec0 left promiscuous mode [ 2034.975681][T18741] bridge0: port 3(macsec0) entered disabled state [ 2035.085592][T18738] bridge0: port 3(macsec0) entered blocking state [ 2035.094423][T18738] bridge0: port 3(macsec0) entered disabled state [ 2035.216763][T18738] device macsec0 entered promiscuous mode [ 2035.234290][T18738] bridge0: port 3(macsec0) entered blocking state [ 2035.240859][T18738] bridge0: port 3(macsec0) entered forwarding state [ 2035.297061][T18741] device macsec0 left promiscuous mode [ 2035.303015][T18741] bridge0: port 3(macsec0) entered disabled state [ 2036.998239][ T1229] ieee802154 phy0 wpan0: encryption failed: -22 [ 2037.004616][ T1229] ieee802154 phy1 wpan1: encryption failed: -22 07:08:28 executing program 3: r0 = socket(0x1d, 0x2, 0x6) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000080)={'vcan0\x00', 0x0}) bind$packet(r0, &(0x7f0000000040)={0x11, 0x0, r1, 0x1, 0x0, 0x6, @link_local}, 0x14) r2 = socket$kcm(0x29, 0x5, 0x0) r3 = pidfd_getfd(0xffffffffffffffff, r2, 0x0) ioctl$FIBMAP(r3, 0x1, &(0x7f00000000c0)=0x8) r4 = syz_open_dev$vcsu(&(0x7f0000000680), 0x0, 0x10000) ioctl$ifreq_SIOCGIFINDEX_vcan(r2, 0x8933, &(0x7f00000006c0)={'vxcan0\x00', 0x0}) bind$packet(r4, &(0x7f0000000700)={0x11, 0x2, r5, 0x1, 0x81, 0x6, @multicast}, 0x14) getsockname$packet(r3, &(0x7f00000004c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000500)=0x14) socket$packet(0x11, 0x3, 0x300) sendmsg$nl_route(r0, &(0x7f0000000480)={&(0x7f00000003c0)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000440)={&(0x7f0000000540)=ANY=[@ANYBLOB="24005571ffdae9af95df37e5c73a0200ac1414119195dd06e01e8da5e53f719695d5e390689da214a65b18437a8f143a7b5c8cb270cfd007aaa1631bd718748adda9372e9c8936ecdbf7cfc4129011a569cbe20ba5f8c5a2a602fd17635c8866cc1d9c969656a7f867e6ca70660f6537ab45f360beff47dee54edb50cf0f280e47c87fb55c7cb35309b62b64bbe65ee3a0144acf9d19b402ba5ef17f1b34a170b92a5b7f3671e26781866ae0c8e142b213cb93a90cc1f3b0b610d145baaa57"], 0x24}, 0x1, 0x0, 0x0, 0x20004090}, 0x90) bind$packet(r0, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @link_local}, 0x14) getsockname$packet(r0, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x9dd0e3b3e862cce6}, 0xc, &(0x7f00000000c0)={&(0x7f0000000240)=ANY=[@ANYBLOB="240000007000000328bd7000fddbdf2507000000", @ANYRES32, @ANYBLOB="0c00018029060002000d000000af68fe48e8a5587ca8a92509cea9efe0a0c9f647682ce7c9588aed055a9ad657c0354121d568a1ebcb398487afee78f7486700eb6f2a3e8b91fc549d635145ed59246873edaceb09656cf5e06804f3447e337aad3a42f3c92f63d84dea8962f30fdc6df9f9cd0d1231468e2ebda5e062a8f4a8ea27f1386ab3e82e8d3b0b71f7d49d"], 0x24}, 0x1, 0x0, 0x0, 0x4800}, 0x40c4) getsockopt$inet_sctp_SCTP_MAXSEG(r3, 0x84, 0xd, &(0x7f0000000400)=@assoc_id=0x0, &(0x7f0000000600)=0x4) setsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x14, &(0x7f0000000640)=@assoc_value={r6, 0xb59f}, 0x8) r7 = openat$misdntimer(0xffffffffffffff9c, &(0x7f0000000300), 0x501680, 0x0) ioctl$IMADDTIMER(r7, 0x80044940, &(0x7f0000000140)=0x32) read(r7, &(0x7f0000000180)=""/180, 0x52) 07:08:28 executing program 1: openat$null(0xffffffffffffff9c, 0x0, 0x0, 0x0) r0 = syz_open_procfs(0x0, 0x0) syz_mount_image$vfat(&(0x7f0000000200), &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}, {0x0, 0x56, 0x1000}], 0x0, &(0x7f0000000180)=ANY=[]) r1 = bpf$ITER_CREATE(0x21, &(0x7f0000000000)={r0}, 0x8) ioctl$VIDIOC_SUBDEV_DV_TIMINGS_CAP(r1, 0xc0905664, &(0x7f0000000300)={0x0, 0x0, '\x00', @raw_data=[0x5, 0x3f8, 0x9, 0x696a, 0xff, 0x7, 0x9, 0x3, 0x2, 0x51d8, 0x1, 0x0, 0x0, 0x7fff, 0x6, 0x1, 0xfff, 0x75c, 0x0, 0x5, 0x3f, 0x400000, 0xffff, 0xffff, 0x1, 0x80000000, 0xe8bf, 0x4, 0x9, 0x101, 0x7ac7, 0x10000]}) chdir(&(0x7f0000000040)='./file0\x00') r2 = socket$inet6(0xa, 0x3, 0x3c) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700006c000000000000000000", @ANYRES32=r6, @ANYBLOB="8000004f86"], 0x48}}, 0x0) sendmsg$nl_route_sched(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000340)={&(0x7f0000000280)=@newtfilter={0x24, 0x64, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r6}}, 0x24}}, 0x0) connect$inet6(r2, &(0x7f0000000000)={0xa, 0x0, 0x0, @private2={0xfc, 0x2, '\x00', 0x1}}, 0x1c) sendmsg(r2, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000440)=[{&(0x7f0000000080)='+', 0x1}], 0x1}, 0xc100) writev(r2, &(0x7f0000000400)=[{&(0x7f0000000480)="a9772d9bea4824cc3854a62ffb84c4fb114d80fe462fd727b6f682cf0f9ccfe45f46ed18fc8af0505df86b4230370bfac91f7266fae5859a3608357c69f51cfa473ef19a9dc2aeb43f9ed68acc034cf841229fbbe3f57130fe2ad707c56a92dbe64e59aa78e24db8e9b50597ab0024ca2564fbdb50e7b8cfa5c7028d556977ad6a90adf768a5ac0505ab07f8256368c6e71dd4b5a1c2e3c9946b610ab2b324099beb706b6a510c134ad18c928be3af6cf20e5016c9a050e35e30716e4913c882272bbfc8f0e1ee9c31484af6953e7d967640eff8accacee6daf3f98051a3ee281555a41340273dcb0bd8cc8cd549676f3ec23cbca42d4b76a178376eefb3da036d60cb88b5cb9c0ae0135be1d4f598c564fbe97ad4b691f59ba4063b898482d9cde4497009884d75b1965874e9c4d5a7cf8a640433c02acd340a98eff73e5948611184c7c60da3b233367d58aaf4e407e2e2c506b871fd822ec231389734d23a2aa5dc197831d8fee19361e5b99d0b51e5b1f0cadf296b91aa9477fa72879b4a3a3040777cf778cee1de32619701d71cb5316c7234a910b497b5f1b2cd2a0d39e92b6b92e091b470da2cec0e1b1fd3ce1a15d559b3733b97b2ddb1dd2aa73c9e03f189b8dd48c9093daddcd2c3fd0e1a9d16046d85c8934d2f9094aa5fa7b8ff061cb753dea2637ac2a8d523c9791ae454ea2e8cb10ce4a3ad8937ed583cd653bdb05b965e658f9c5f06a43bb1e61cfa4cb9be2cb4ef264d10f37e5292576bfdc97b2e1f8b692f0b64f76287e67805df914273677a9c39bd1e4f73d3c1afd99ad18a210caee42ab5c87969f6f99d7423dbb72d436ef3a3dead8eda03274d2e8e7f107eb04fdc3e36d6d4022dbc5c2fe388aaa3234950588ef56362708189826b98d3c9ed4dabcb33582a7e55327e82686aac973a5d0292afd7175a9c57b4fc1e5ba7cb0a34e35e50526d40bdb51a224e5b89e74e8752c1b39ab250b178adfab91c73c04d3c012b244cb7745dde4f716203ffcddaa096186ed0403b323c3aaa79aa4a0e6d1231ce99f83788ba0dc86da01cdad25816c26bf8e523b287d7ee83b5d0c55599ddbd202f743a1bc3d107a9c9610dc62537af48eecdd174ee4e796943250b81af0da28c57955aea149010ede13eb973dbe959500afe5e77b32ad5a11a353555b48eb7684596eadc481c291f185d0d47c639fa5bcb2dffe859a9d4a0e184a640e30f0afe83f2096faef9c0129289688a5267e0d2dadadd0f8cb13f35827f0337d2edf6220a244dd8c135563051f6fcd7fdad7879ff3ef01975938bc6e47aee745d4701cfc5e5546f05903bbcde0120ad847c32658c1384a6d8f188544df337a25f806051a346fb980a4e84fee06b0d367bc81161e96072b2e7e47999ac93437749d11864fa4c03a2d333135660aa17bd421623e6654eeae956e51a0157cb876db3e9cb324641d132cda7aabd9dcaa51f090c1955d20c2618466a0ea5acbaeac5a46e00b8869ca9a337eb5d9406592a790678a1f0bbe729054abb4810f4fdf50c517d4dd312b2d382412d45b9f60464c107c0735b16ceced73484f37cdcc8b9a4a62bc997bbd1d23b993fc5cfed9a43d2f4d335570e76715b020664bedb0db88816bc97ec37d13d64f604b71fc73f3c38954ae554e45997209afb0ff102dc170986e2d72e4178a7e6131308afa29ba732e251ebdf6254c0589752bfca3bef7fd0fc60ba683c6016b16234216bdcf8975bebafd8ee4606a96c1993d1f096b435fa84279344b914dec8e56566e103592a7ed44c63c8b5c18e01fa873032b1087622f225747339d38fa89e7008695ce0b3d6f505ab7ecdf99182ab7aa264d9108af35b0a373da18a8183f696dc70a8ac88c5663a866e89c7d7dbdf7296d63e5167978b38463ae9f36fe4121229e92cce", 0xfdef}], 0x1) connect$inet6(r2, &(0x7f0000000180)={0xa, 0x4e24, 0x1ff00, @loopback, 0x8}, 0x1c) creat(&(0x7f0000000140)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)) 07:08:28 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000001140)={&(0x7f0000000040)=@newlink={0x3c, 0x10, 0x503, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @lowpan={{0xb}, {0x4}}}, @IFLA_LINK={0x8}]}, 0x3c}}, 0x40) 07:08:28 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) ioctl$AUTOFS_DEV_IOCTL_FAIL(0xffffffffffffffff, 0xc0189377, &(0x7f00000003c0)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=0xffffffffffffffff, @ANYBLOB="01000080000000002e2f66696c653000aa083a3743765b213ff93b9a2b44ea6cc7ef310660b1a7ec782b58e17c07f9b646b58d3f082a387563233c5557dd75ab2ee8421a95cbaf30fe1446532916826e4d78e325035e624772b2a19243925a955eecccc6f928b70f1ac53dc9b2f5eab48f25f891587854a49cb5cfd6885a5597fc762c085791d036947d71a2dd8d821b4b32f625776b9de49ee6c8823625c9421035efe5bf1868016954a5048e85c7d0c3d3f277ce040ecb717b0959da4277ee33d82f3732e317eb5ab9f57b1b8cafa428208bb32064b7ded2da4be368229d51e56f1e85c24f900ec54a53b88f982e634e2bda3f4280"]) perf_event_open(&(0x7f0000000040)={0x0, 0x80, 0xb6, 0xf, 0x0, 0x3, 0x0, 0x401, 0x30000, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, @perf_config_ext={0x2, 0x3}, 0x44004, 0x2800000000, 0xf6, 0x9, 0x6, 0x0, 0x5, 0x0, 0xfff, 0x0, 0x401}, r1, 0x3, r2, 0x8) sched_setattr(r0, &(0x7f00000000c0)={0x38, 0x2, 0x0, 0x0, 0x5}, 0x0) write$dsp(0xffffffffffffffff, 0x0, 0x7ffffffff000) r3 = openat$dsp(0xffffffffffffff9c, &(0x7f0000000000), 0x401, 0x0) write$dsp(r3, 0x0, 0x7ffffffff000) r4 = bpf$ITER_CREATE(0x21, &(0x7f0000000140), 0x8) ioctl$SNDCTL_DSP_SYNC(r4, 0x5001, 0x0) ioctl$SNDCTL_DSP_SYNC(r3, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(r3, 0x40045010, &(0x7f0000000000)) write$dsp(0xffffffffffffffff, 0x0, 0x0) mount$9p_fd(0x0, 0x0, 0x0, 0x0, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0x40045010, 0x0) [ 2037.896652][T18782] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.1'. [ 2038.000280][T18786] netlink: 40 bytes leftover after parsing attributes in process `syz-executor.1'. 07:08:29 executing program 2: perf_event_open(&(0x7f0000000280)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = add_key(&(0x7f0000000140)='encrypted\x00', &(0x7f0000000180), &(0x7f0000000100), 0xca, 0xfffffffffffffffe) keyctl$search(0xa, r0, &(0x7f00000020c0)='.dead\x00', &(0x7f0000002140)={'syz', 0x3}, r0) mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) r2 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r2, 0x89e8, 0x0) r3 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r3, 0x89e8, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002000), 0x0, &(0x7f0000002240)=ANY=[@ANYBLOB='fd=', @ANYRESOCT=r2, @ANYRES16=r1, @ANYRESDEC, @ANYBLOB="f457c5da7dc3369155fee77a7d674afc6ea87802000000aeda0d34e0897cf9fc35a4b99ffde6e288157d855596c98cf57bac8139f1554ac45b7cf3000000000000000000", @ANYRES64=r3, @ANYRESOCT=r0]) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, 0x0) keyctl$setperm(0x5, r0, 0x0) add_key$user(0x0, 0x0, &(0x7f0000002580), 0x0, 0x0) read$FUSE(r1, &(0x7f0000004340)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f00000021c0)={0x50, 0x0, r4, {0x7, 0x22, 0x5, 0xc0}}, 0x50) syz_fuse_handle_req(r1, &(0x7f0000000000)="9eda438838743bd4e9720bee57093515dc189a5ea685e9556c1c2c3cfc4df50d66d31a48aa312663b68d18c5826b5b55fb738208863dac0f10f423aee7a5d8ddc45ebdfeb7424bae859d7c37ecfc4b63914d5a56d91017dd22bc84f759a15969951aef9d5c88c96560896988fa18cd946cfcc3a0f1c993348377904eac32c980bdf7976ebca2b499cab63c4e841514277fc71d4620e29a92523402485de0e82896484c0ae497a4d686df23ca7b68c3fd5e624d3510d7f94838e54af877ca58a00c5a672bba11f5aa1ed1980dfef47b9973d0bf456ded5e72f1702b3dc5197fce39cba53a038d8dc0ec783ce70577107dc5e8b299e64a0b7f1191f0926bd25762370191710bab2f44e9069f55f8a3f87e4cb488a2fb3348c0bf3b3874291f83e4776b160ea73aafa3919c7c069c73c0052173a63158db8b65541d161f9c964926ad7f06bdd6cb6a32135b04e35701c2e13c49c1f75dc7a25d623378860692d172ec3f1e1f2d9dc77c015c13721efcb101c2390abb847e871132f472a37cc0163b39b1d575a5444e246a08a1afb1a696cabab29498a314429a3b9f44c43ba29f71fac1fbe0d01c3c16d22730932704bcfb0c1b7a432bc51dd3f5dd5afc3b342cbe6a6ff899039e28f9a51881b1d46fdcf31767cb6f5c5c69ab3c80615d77c4d1664fc4ec831b8cea2e752bbb7a9ce79df875b29f1e232751daf32a1a0c4ff8bd0688e2b8e2d668b8a77e20a9eb6ec2e2c23b94e507baeacbcfa31fb6e1ca3343668f43e3aa6d85e7c29bf0bb4dbdabddc92be7f4a6f5d21b19e6da17bfb6cc926e3847532fae29c7b62fb909130ec372d3c16cfe6aaf3ce2af0fe7610fde7aad61bc80d2f96b999c8ccf6d22cf903ca8ae8b879ec4a416f334982e9810c0140a18d4dc81b5edaae23e9f4abaf40ed71512aebbba5bb251545e188db789558a845a2877b14bdaeec3c738b7d730c0860531bf5517d4f0e8f95ed3571f8a35816d5116fcb8d7cbf42b7d5d5e65541508c898bb2e0fe96297d2ab7135662de39df099ebaed5871111f5346278cee5728cec512e6c0a0d65b51e3d627873195b84103341c2bc83b6c8fdd8ba17f5957413f61c69d618c9b9d0b1f08dc81921b6c662ee1da3bfa019b095e9a03c2db4d645ccb7364e895098cbf7d932c72d80663c7a1694d122f7348393079223c11d36c64a5856eae0397ab9a9d948204b74e56525a9d552dd0916de81cbb5af3c59b3d7f8f9154423ce2cb45a5bc808e24bef13212019a19545fe54ba84d01534358380192b8c7b0eda907810375bb66a578a58fec392b47991271c8367b91d710e8a176bc1a4e96f0e137d4c25fbb03eddc392f9f170dd744472b864fbbae7c93d86e682308b21b73c5652065d72cf02e1152b44024a90a3b52eb0bb3cb412e518d37a68aa4c7f46789c54ab30d3a73d0a8712fde612294cda2aa1ccf164930b9b1d17801d4fbb06e849d39bf2b5141330caa0d2618b616f1c67e1ca57080e79ed9092ba7a55e8121cfc825cd26a0199a479a7ab1b7b23d2a4dd82fa6d04ee41ca680435efc934f0451e865e8632ac2f1115f4cdd33b0fccb7a2326127faf20cba37c828613dba5a98f4e1ad25eb6b91078cf73d873df9ef91531476f64b83559ff7ccdc4c070d478b18196ea05fe8d4ea0216ee5273dfabbd04582f40f064c9781afd2cbf30901f28cd09cc934f1b2d50883778274177e3dba8af0a1b931d80ce1a6c4085780ea2195b65ecfd2953f78a5290fe560d0cd6a5e73890a5a82dc410b92a3ef2be05ec5607820fd4ca6b9c3aa258d59022fdcb21665f1ce4e8aad8fd918c43bd3c2afe3dc223ff9f48831d401c8b6996190793d1dd7551f8511b69283992398d8f9b4bd2b3398d3b8c6f3c5d8b802ca5282b70242df2b7be4b38e70c3065f8da888631375afcc05ce578089c4f783776b286b7a60d1b5e189e2742a3240c1036a953d886885422eef01413c38099b64505fd5a73488acb4e611820674c58ae74d6c64a885d4beda9bd7903bcdc71e3711e2a057c0eab2100c321050ab14c6e453c53182577ad3178603cd9afde40a701120e9a36074fd582428c74e02781318e6c65450f8f020bd22475696fe13b8c59260e53a06d16eabd135e887a0a6bbc8ad21be7661df76fec5b13844f68b8eed1a7379713738beac9f23c7a26520e19797a910cde9fb285179526889b908b7eb49bb06f70f6271fba8712c1a4269ebcf4b7d043e924e3d2c4c753fd7e547d95841e335179836f76424e728810d7f32b78256ea30c79d9238a6588426e1f2d4c0b03d5605bd826ed24f0f11326b4cf958632b86e017aa80e142db1580c44f76d9c98196f3f6852ab2bfc6a01a3553a130c2d171957f5a45c3550fbbc990ef8742a98a86b280a57b9f198ff436bc01161ada50e6f23026c3254adf2321bff7e20aa54080bbb57d8d52c6a6df6107706a2e5bc6da68f17b474c0edd39401d765086e885cf7992405f856557915603cbe8894676e996bbadbb649a5e7498b91f9bd2f697dd9ebbe4d386050258b9f4c94781e61c660651c3f1e3ae51f8c035eca365bf15d6db48ea9ce183515f4a208d010f7c23dcacbd6e225490d7e9c133525f5c9018d752b21b4897bf18b64b6a9936f538a0a8958fc934440aeeaad2b68ac844d76f0900a6c95bd0b353d85d4fb62eb88360112237fd8c636a80e3130b21d66ae8ec58a4b76cba0602f96da919f7e84fd37e3ec2379f58e389a39c78d2482e03c379e3c4649ad63a76e3707ecff07d2fcb0c9dfc524cab49e69a09c92e4f88714335cb57d3f6184d07bef9657280fb5c9fd2d8f940f7ac6c5407e3077aa2e4ba8e217e0ee19e302d6d90e3be05a86dade35d2e454e511afb5cf5936f1d11f2fa6be6ceaa817dbdc7a6aabf2fad8ff3efa8382a25099f0c5989d2ad56ae0f4968b2cfcfc67b4f1c161c75900b4848f59a3c0376dfcb7997bf28e9e85d6dd942a360516de38e1c1a038a796f9a77ff2b0c7e5e8f4932391a0e58e76dacc6f9764178a211dfde3e75d367d2911ff398126ffdf83cf2fbdf1ad5232bed9155f7a168638a572094a9e934d4969b358cf6e121d7fd2aeae2f499068b42c152f0e3403a230885d6f92f038ddaa23499f804ffb06abdbabb51f6c38c92fb1a6271a4b13d6d11125b8ec12efa5907dc65062797fb9cca15e2f254e76b182d3fcdb4e96ac4de36d6df7e7bba5c32f422286b1be3b79bffb6fd693761952d195a84ad9ceb07287a0fbefab9e0347b513c5f60233ccd4b52d90ec144a2f896d9dc7f279f8aa93038f3efa286e1c3006933a4d7183d952f8d28b141b28b2af355b5bd8198dfde1ffb8d09202aff0d16ca3fec194662892a49f829813970a4520f1228aa03d211a45bed3b2e05bf1f10b1a152761e7b6c6ddea863a3c02224256092c70ca70dc185c4c385dd98b09e2682661e1e66f71d9c4037048eb70e8a1cbe57de87ec43713abf5fdcf63b9c482f318e3bec37e878dadbae15a02d731e6c8574eb14c059d72f73be5174add786d06b585a28a06d349d8e434a491b34897b3c1ad786ec8280d7f57edd4fbc6aea5485d659b59d393e331cf91e6ed76f340fcf7cf460892fa7318fc42b883f61d888ad982a751accb613c66661fba5f3d6de751a6a9ef8a4700316aaad04e991aab7903f4ef012ec2a8c092234e74ef335daf360ae47bbd2bbc6ad8c1a4f81efe8bbd703cb55ef36b32b4e30cb5a3b165c02ba295d0e1c40ce6ff8f479a74f01275f113ebfa8ade37a59ce70e6ca2a6f48f1be085f61bf772e2c2da523a2cfe63e99c57bdb1ff23139d4fca49eff7547e9880eefd3f7511a677efa23b52098ba89037c48dfcda2e8c1cfb9f892161049e53f8cee55256279512aecab8c441600dae0fd957883273047cf5c66ba209f830aa2ce0cbe41ca08c0cef4aed7f4324009200661a7ce680e5a8df2d051c1d8b2f63d25d8d74d05c75c46c8f3f24d625539e63459650960498a54ec3b16225bbbf4d3930009df265839d72611f5332a904cdebada108236e4414a2909ad01ec44b9d7f75de4385ad7ca5152e890a0919b3639fd1bcbca3b737ebb8d9ae541b1271cf2166ba15830e66f3d3afd3b754a7f81ad4f0999704ae99c114907c5be4a4797f13b80564f234723a34dbe137dabfd7fa23562df679f54a6ab54def6d63deae9844f72fd73efd0413551f5c4b9ee826eb3b7faf92a59ea34a16723b4fea14d1c8815a4e2d39fc48d1dbce526a7c53f5a96d0ef6463a0cee73fd3505f5c764a264b83c4a21f80e8b61c82d24442d13da99d18dc1b2538e7a510f6093d9ef2bc5cc777d4f98411e93919eddfd69d6e20d227cb61c50f358ea227f4de941fb080c1cf6b1f6e25533768fe133dbfc3f9d29c603bed38aa3c5af5b81a706b0067b40b88f992610d04c7cc36b8f649697cd6a93fae51138161891ae75a7147780fc59af5a6e18c54f9d2a4fe7fa92314b399afba9a40d0cc24f70a2593acf8d179215e06b7a9a88224bafcb2cbf60caf5fe4ff38208a70793b5dc33cd572956260e1c86312d3ba9b3a4b2b44376f2e78c616a6c0880ac8dcbaa30b9f761d500fd03a8518dd0509157b184a2d95e0caf3ffc8ac2db6c54d80c71a1e5b9ea3bf51071e2118af204123daceeb04e4f6f31f32a4d3fbb76ee49440cabda2c121c1b99acab5b87cecc37c3f9066af34ab29d6598bbfd91047a2ac7ce3a8f3027ff5e6d743506f161087278896a98ed37122ba208b61cf54d3929555ab06b564cd5e4f46f4755a6cfa2ef2b30d29ea66f2749d4060d411fa9160c91b6f55cf071ac8222c6313df18759e2958cddfe3db4cbeb9cd39abcf5f0beaecae8437813995cb7ed0b87d42ca942ff7245ece204798d01361c5f008e0d82bdf76660515bc78f7f8f409ccf68614b2cb50f5af2615661326fd971bc57eeeade60ea906b8df1cb0dfafd318cd2c396309c329d0469ca192aa8f51d7c4227685440f073983255baf054b97b9d7be1d1470d7eabd5c09b2116b4e86b0567b7e97e088717a4fe3dbdd310a1c39136ea4d2c47492001f9885dba03bf97e7da376171d666441cdc2f999db137603d57df32b4260fa0165e82917bb1631ea314e7a7437e66fc68cef22cda8f456d6e583f6e3237e0bc79987a9103f7cf0918e26881f67ea582e1ff3a49177599d385bf6e42572a2547933aeddb826530e9adf30dd84c3a7fae5c4c26f6c6f3a9f0906decd314e2407825abef959c5416d18a92ff34e6c521a16e8a0a29937c77d4ee99b41d530a732acbe0bf5d274df9d496b47a9a624546bdcf9976cde12ec989cb2a70b33a7c8a3a77652023164695f9db30dfcf587f0cd4f73e385730bcbdd688f6dcb08ba0efbb9f579220afefa4acfea522e864fce9b1782ce9f14824d16e9d33a2609c23ba3c5a1af02549357a0dcc12e37819d778021762cf895abeac1125b744c8b8225a091e7be9ded9993cfa3ca9abb83e25c8f559009977a2ed9374a89619fae5ef6d164bb73d242004dc8428e44689b33ee3bbe88bb4962ab0a32a90e7aea044f08410752cb2d7aeaf3196648a3a99092665b478bb394b48f79b36db0efc7f50d6a5179c945f5298cfaac5e5dea715296f92abce7281d48a0c9c6b785a35ef5f1697c047ddb254fe9a8ab9f498b0c1ae09ffd01a3d8d427fee7e36c51e0e5c2fee2245fb8464626ab5c9857ebce91f7d22bf024d10c2d71021cd69268472de419e6cefd970cc3a8e4d1bbe6496799aa7f100411766e712aff08b731460f14f9d7356db12cf8e1c6121968dc68b1d81c086b325ca4ce6fe1f476707e08fa913144b757c6be17cf93150db29544d207f09a896f33b7335d9339215da751e7af2c6bdd19db6f521af2c8a5998dc607f97026d07111488741134c1c86eba123273d1fd5ee4b471e86f9ae9478a04c7482076ab34a1eca5c64f89e5106eed44bceec019c67c12fb4db4fdac153f4ac3b63ffeb6d30de58ec039e2dd3c181e254cd94d0a2b0b44490384cc5915b54ee1db2b6d059879bf8126c9ca976d0f7862da07ecd350930a081810a7afd72b2ad3f65b96ae9c7f91227a2b5513a559f36b90fe01be9ae5ad3ca65e2c26f358fc26b858a3633fda7ae49a5fb705220a5819b3cca41b1ccc21d7c40f5fa9c422288efa5394e4312675899d704a2aab62b8363f58fd4bc12a8bea6ffc45b4414237bf5f019321206dbba439acb5ef26641f30fdac20f964354bce94e4c9d73e137f9806deefaf6f4acaa0e76ad4fef9f6cb7fc01bbabda9612c05adbe46afcf94819e8a4b4b49ff764784fa432d47fb6d4230900043d1b4521cd6839fe8c5df4d1899fdfb13880e207cac73f0a29020bdd563bd9c2f6bcd1ec523b3e03ebf6164fc65af001830c51396f9df2d346f83a59cfc82201cf1150ea57259d579fc2ed199b3fbe42d5188c84e4354610743e5b23a265246313cc63913f17412fa00d98b379b80b96d936969572e11316bc8926cb23115186f3b2387b82c3898fa41bf16a308da62d5a3eb3609af1943fddde08a4036eb2a41b7292caad9eb082614b02a1fa255bc7abd4d0e3b4ec1801e131e68c7aa9da1a0ff10f9de87dec8fad1ad8bfa99caa49e203a7b9c33e044d4544a537471e7a452468b821959bc488c6b8cbf81e90081a26de273ad1203cc06adb6af242ab19f96c1c66b58c37e2c9309704fba63af99a8d9c5efc651afb631fe9f546b938cc3b8e526c4159e5c9f7afb29fd1d55fabf09367ce2a63a35e7a2062d1c772ed981fd77157a847f687a177cf9886ce41df8cc509302b46bc1e2ba896b1c1656a1bbfdf4cd9ac39cf8510d1c823075f16550fd044aacc8d42a56f03718f7b18475cdc3999faeb25ab3dd8a807ee04d8e5d831d08b4e309dff50330685138797e10c6362636f53f22bfc1f3d5090a5d369282d9de36bb4e2505411ccc6ea395afa1567b15a2fb4be2adeea7126b1a8e80034105e0d98bdd78e796ce1cdc06a4ae666fc0baec5c52614340ed997673e26ec47c88846c000bb7c9077337cd44f5c041fdcc64986e5e1c0f488148f0ee6f842c44c0b72e82109270341bba6e9080b70fcf930d0f10be5a36798e70111fed72727b72282ff164fc08319d74f1f57cde71b57cb397a9e753f87b97729bafba017a24cbfdee5dfe7fc296c112e93bb8fce560ca80a3afd8370baaa79ad783b51352b5440b144a47378c9ae22eda5794328e95bcca220fd07bb56915529b155c61858efe89ad36a79288e74c0e251addcfaf797432175a5562b46eff5e3aebeb74623e18beef85389383c604d8884431b07dc4bea0174aadc337ff41f558a63f16690feae47efa2a5d1318b7397e1e4ba398727d286791b71610e1d78d32800e7e113c12abf0f60b6ca4401ecd23b7aacd990633b2b017daf6bfef1b2361ece74b7dbcbb1a73d4bc1f9d2e5c9fb0b7980d25cc44d1b10c09ef5a6a05c84669294a5cadf0cd88ab449f9f0bcdd8c48590d416c5c1feaa494a2145949c2a3373df7c6014225f2745bbeb20ff294d22c0d96ca111e6926946207cab56a03162a49e68968e398f70690188ee3ca847ef421742d60b9a6ad029e8a3d607950b2bf8ad8ff297cb39acc94905635770436e134435e28205140331b5100d9f64469792fffac87bca0835cbc617446ff86a7b50418c305f32e658b32130e491e38709fd3697017ac8084cdf1ed81a28375aed092ab4e32ca88a933154dd3a9e99351acbada926b67b310c7070ac1a414a28c5abfe1f45476249a12f18ca2d981528d881ed3c5072e46a6eff3cdf37dcbc89c7f79c88a1f8d15d15beb66a0e4440c7b93e379c4e2bac1d5c8e85f1852887e2cfeb178fba1c67dc2adb0c87df8ca4444ca7f455509f492effb5001328b8cc696e2933207a2d78bbce8562ca34a248193c914406b161c8141479d891b0c6110ec1e25cad38299b489f2ec437017cadba67dcb58abd4933c95b3526f1d4747b8701a7d71e446e4b62e2941d4281faca0cf22914be5aad80f47100000000ceb24e82508fe55a92fb6db70d03d1c1ec09cfee31639341756a4630a0eaaecac7bfbddf9d30c42cbd45eb181d5bd341307ad26f496bb042e2b655c03ac3dcc587acbf50f79b5c239be9938b62d3251b199f8413b020605d5d0552cfd9c39c9132719d6d0a326b000e12fcb51bc274df79d11430060d05978cdd50583f1bca82c57dbee605e2d00fcb5414af13a596d35cb5ba62de6a28cbccc857d23547b1c7fd5ac8fbf6758d5b8451fa46d9acc00344dc2e565674b1dd3547eb8f8aa5fff99042f8d1d59e6ad2f53379211e6832fcb68f5777eb2db85b28f724f4e4ce6342cf55713ff7b0cb4f7f47dd12a6566b86709eaefae024373267ce72a89e7f3e42ab48edcccc96b5d0403fe93a927e5ccf470014f220b8257393226cd7b996f20e6a34f81206733a9fdce03b701943c1b560d3eab68c2c225cf7f7f2b56123be2bb173e9e5b37f4d3348f6b987764ad07c2acd44514ff264d7eda31e5e517a179414841ad4553d51c08f435e05f10aa82d74b97a9ba3a133e6c9175fdcd4f3dc9c16d3be1d5bbaf13240177081ac1d56681bfa988a93af09868afd608520c0bfd71d857a6661fdaf6f2e166987eb007449dd26334ae932c5003fefc0f983b9e49cbfcea325f2de16a9ae935caa46f5b3433957fb370971ed957f138f08a60fed5b84995e428e7ae7d5c22021ff016baef0e713a118344c016a99ad469313ba7f2452da0dd82e019f64aa229cf80a69b3e08ac5847f10d247179855546313232f23e055c2f74ecef14e0fdcc29a9bf0976fbb249bd5c7903183d2a53c70960a183630e7d4928daa7091a85ad987d2a4a5b8f6be6612fa72d9fbb33c67bb38eff19f2e784f94e0354cf6d35a5b2c62233c039de3734b38e97ec72bd673fef09fd56fec329818cc68cdf12cb52f7d37a8350c16e94208880bfcd3e895d7aa4489e3dd15db4a9026f0d2a46f1e89c35845dbd976a1992b87c15a0c7580e6424b8792a7bb7b933d7c5433d4133ba4dbbcf7995d6ed3feaa32f876a287feeb9cc6107778c1f83e0119d980b9e994c2a3ae3de24a103efb3cacb746b49d1ad85746b233ab4aaf0e988ec2a786bc93f32040d3bdc3008031634cdfded5ac95b2279e096243228296591e7ba53c4a127772cc4620e6b238ccad250629194533d0a669ff3366c52d64928693e0b0cbb0b8e2c6029089d4dfe2b4b6c5dcd85f1a02770611e65001e48a32a8b0431a3b9d77fa3a95be38a0436a704c05a8e0183f3214c25531a63796f679bf72885aa766468d42b2543542d7e82544efc5c5e81e6a91a0f5d4e68000cff687d63e45c9a11d4ef515050daa592c9a828ac7c0488e7cdb3d6fdaef5e9176ee68d981ea50d386d74df3b40660351736deb03bfceb721878cf9894b0302df15964242ab6b9f77f98ba1c7993735983d2b022600ab74a19e3636e1400d08ba45d3a5c2774cb06a1c358bbfc11d27efaf7ca53c2e7757c8c76da24707d91a4a5244262898d68083ff91c514d9b9b1ebaa0cb0b10254fda1b1e82b9a1a47f117b5b280ddbec1f6732d11117ef1a7a674699df87fe795d1243cb9c4527e364e2b711b6562a87fafc130ce0baf1701686639b05f0c8dc708f008b1e6ab89e8d623bb83f3d54b7bcdbdacd055ac4eccbd36bbe0af0f65a00e3d6dd985ae8851d176976cfb5816d1fc2a63d3546aecaa4e712ca6961d1f181315d553de6b53485faed0dcfcf819a1ba3badffe797377d3d1ddaed8e7a0acc0c3d277762262a139f94de49faca167b11bf04f2104a5ab9a73367a6461f7124c91a2c4229ef98e6ebde9aac283c7d029400d71293f488ba169b62c1e94689cf5b248ed4aea62b88d65bb764cfe27d5231a58486e7381df518f4ed81cb905108c54a5050a94ca0e94da20d3794bc5fab9127dc95b6404b1e27b4e28136fc27806f7be798444c33aca88ffd45b860eba0d5033839f5a092863954604f1952bd61dad23b11643fe14f3ade08116aa2c13eee701ccd13e506bd65a1060bf69579aea8c8143cd38c0891a3065f251eba0c20ab9c69ddf28e3bd6400cc203bac8de1882239ad4e1b97b0ae2f1abb7bac7c0d8ef82b97ebfb1f5577f06a3a1377b09ada4db87d342f20ab0eca4b9c206042471307511429cb57a578211f92d3647189861cad9145f5eb26ab696abe50a2a6c1b469df97da28aba4e79b586c348a430f5ea61c4be1032fa61d18581f05a07fb8707c8996e0fff1c3eda59b992687fa12483b9327e10224b20d42e8b3fc4670bf070ced602283273d6818acd1f6da567c44d3f5e1377065d43d87d889843ae48e7fa8ba1634815695b8c480ca271e6e833799c70da80fd79acc09b989667a2294de5da73f0363df9a33ad4dab8d27cf7bed0a06838672e3d07d52b6396e9b5576021d5e925abd533bf161c944795065fdd44e8462e3070c479f1c118276653488dd9b2f1a673f8cad3612ca1fab4388ec9c8f834a01a499adb7b3a9a977672f6d75b41bbdd7f91ceb7e7a88568d17bb432be9e4e96e115075bce197ef4754d2914c2c59e2d7f4c08f0dbe34d31f229428f211bf1d7e8f5c319ed4a8273cb6255eb318851ac4557b0278fac63107a54d407c42f300b843a12abd3b893b46c7efac2e388ab42b87aebe2543bd4c15f459bc50aad10ffe1c1196fb52c26e54bdaa7fbd52451f207ffb073ef4b3f71eedd7da40c89505019739e3fa733bcdc84ff4919e8fe2358129ef28291be1d6426b8bafe88463b1d3cd7273745381c7f65221898e6ad361e88b24c54ccc7ac9a830145b6dc096e2d71ef71ec4f03524cb870b724e08d223bdec2f6fdde6200217a13b5136004d455d66547f5a1793e0cad85677d49e5c558852107007c8136812cf021afaf6f7e8f59883371be46cda412dd9c6fcf187c31252ceb5758901d39cd5355ab386d9a7fe6ea46ebf277aaf809c3023211ea9aa189de4d422080ebb9fec50ffab6b95ba4ae5018accc497e79149ed6047ce561ccc10e9194cdccd5c9fb75175c8dbc9d0a916ad59288f010defbbb50d263041ab37aac0f93253bef6f898cd0825d99d27224f26181f9713b8979da64756c95e7505f25a2688960d6155c3613dcc31b6c337a6dbfc6b12cfde1db22b93bbd5e48534fb0bda8b212577a14dcf665c834b0bd24e5f624d2455fe048dbe930328d7cb632db3b0e244bb5d43390b420b15157a339487fc78976f867d3a361aafdd3f50a93c01882da7c220089a544381db22e2c86b228dc2be01820468460437588952a549d37498e529e62aa62bad1580546bcb1e9a6ed1870b7838d05d12f6e3a041e78b1bdb80894626f20889ccb3a468aa4fb24b9c87cbb28623ce59c6b3c6286db366d08004551a25fe4d8d194a2bb7c52e1c85a5fbe4cb15b171489da121bea1c469a6bb185d63213084e3a81ee54dc03a94dc5ecdda7bfaad1df68021aaf4627c9d529f13e5c81b5ee4dd228949ca16b9a61d186211d153294470907557e5e14ae665013f285fe4d3766e7b3d8ce5e2a14692072d4d8f79354bcc8db8a2a36c8bcd", 0x2000, &(0x7f00000069c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000066c0)={0x90, 0x0, 0x0, {0x6, 0x0, 0x0, 0x0, 0x0, 0x4, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x800}}}, 0x0, 0x0, 0x0, 0x0}) r5 = openat(0xffffffffffffff9c, &(0x7f0000002040)='./file0/file0\x00', 0x0, 0x0) ioctl$FIBMAP(r5, 0x2284, &(0x7f0000002100)) [ 2038.369006][T18794] trusted_key: encrypted_key: insufficient parameters specified [ 2038.447351][T18794] fuse: Bad value for 'fd' [ 2038.467237][T18794] trusted_key: encrypted_key: insufficient parameters specified [ 2038.539184][T18794] fuse: Bad value for 'fd' 07:08:30 executing program 0: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) setsockopt$inet6_IPV6_DSTOPTS(0xffffffffffffffff, 0x29, 0x3b, &(0x7f00000005c0)=ANY=[], 0x8) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(0xffffffffffffffff, 0x0, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000240), 0xffffffffffffffff) sendmsg$NL80211_CMD_CRIT_PROTOCOL_STOP(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000340)={0x0}, 0x1, 0x0, 0x0, 0x4000001}, 0x4004) sendmsg$NL80211_CMD_SET_BEACON(0xffffffffffffffff, &(0x7f0000000ac0)={0x0, 0x0, &(0x7f0000000a80)={0x0}}, 0x80) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100002, 0x0, @perf_config_ext={0x8}}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) fsetxattr$security_evm(r0, 0x0, &(0x7f0000000b00)=ANY=[], 0xc, 0x2) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$packet(0x11, 0x2, 0x300) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, &(0x7f0000000280)=ANY=[@ANYBLOB="210000018184216dce97e5bc6f15151fa5f7fff1997b47089e723e525d2424b09c1e69ece065a02db5f31dc100786ebbea3eaeac00000000e678f7c5444d20fd6b59c9aaf643ffde366048785c6051c32494f1a5ee2b4461b6f5d9c6a231e2621810eb43a98d3e8d249d255af7ff7219fc9efa06a2d98061da0fddb58d00f06cbadb0c25e2ccf4dcd056fa677c3bfbd17575b435ad09b37b3d1c", @ANYRES32=0x0], &(0x7f000095dffc)=0x8) getsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(0xffffffffffffffff, 0x84, 0x9, &(0x7f00000000c0)={r3, @in6={{0xa, 0x4e21, 0x1ff, @remote, 0x81}}, 0xffffffff, 0x0, 0x4}, &(0x7f0000000000)=0x9c) syz_genetlink_get_family_id$wireguard(&(0x7f0000000180), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX(r2, 0x8933, &(0x7f0000000580)={'bridge0\x00', 0x0}) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="200000001100010000004000000000000000000082e9f22bdd08089bb4e5712e26e7123e1155acf6459717db2ead0000000000", @ANYRES32=r4, @ANYBLOB="0184000000000000"], 0x20}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(0xffffffffffffffff, 0x89fa, &(0x7f0000000700)={'syztnl0\x00', &(0x7f0000000680)={'ip6_vti0\x00', r4, 0x0, 0x4, 0x0, 0x1f, 0x48, @dev={0xfe, 0x80, '\x00', 0x12}, @dev={0xfe, 0x80, '\x00', 0x34}, 0x7800, 0x7, 0x40, 0xfffffe00}}) pivot_root(&(0x7f00000000c0)='./file0\x00', &(0x7f00000001c0)='./file0\x00') 07:08:30 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x4000000805, 0x0) r1 = socket$inet_sctp(0x2, 0x1, 0x84) r2 = dup3(r0, r1, 0x0) setsockopt$inet_sctp_SCTP_AUTOCLOSE(r0, 0x84, 0x4, &(0x7f0000000080)=0x1, 0x4) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000000000)=[@in={0x2, 0x4e20, @empty}, @in6={0xa, 0x4e21, 0x0, @mcast2}], 0x2c) sendto$inet(r2, &(0x7f0000fa3fff)='\t', 0x1, 0x0, &(0x7f0000000440)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) sendto$inet(r1, &(0x7f00003cef9f)='7', 0x1, 0x0, &(0x7f0000618000)={0x2, 0x4e20, @loopback}, 0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r1, 0x84, 0x1d, &(0x7f0000000380)=ANY=[@ANYBLOB="ffff0400", @ANYRES64=r2, @ANYRES32=0x0], &(0x7f0000a8a000)=0xc) sendmsg$IPSET_CMD_CREATE(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, 0x0}, 0x0) ioctl$sock_ipv4_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000140)={'syztnl2\x00', &(0x7f00000000c0)={'syztnl2\x00', 0x0, 0x700, 0x80, 0x800, 0x419, {{0x13, 0x4, 0x0, 0x23, 0x4c, 0x68, 0x0, 0x3, 0xa, 0x0, @empty, @private=0xa010101, {[@ssrr={0x89, 0x23, 0xfb, [@broadcast, @private=0xa010102, @rand_addr=0x64010101, @multicast2, @multicast2, @dev={0xac, 0x14, 0x14, 0x26}, @remote, @multicast1]}, @generic={0x86, 0x2}, @lsrr={0x83, 0xf, 0xd5, [@loopback, @remote, @rand_addr=0x64010102]}, @ra={0x94, 0x4}]}}}}}) sendto$inet(r1, &(0x7f0000000240)="442722b6b4665af6e9da42711977cefac2755a3135fe7fdb56f073fc1a4ca4cfe67ff13d6d0a7b82784a7f345df01aa7b1b38c2ad31f28d3ae19a70b4424879150f78a96425c401fcb62386dd023af8db8ad0153dd479cb54d58cd79b3cfd59fd605b7684d645aa12a75f848d7669cbbdbc00c36b04f3eee922a115e053c500b809dbbf7aa8438f357827b63eb8d97a67df6f3281c917e1c8ff698fbbab504f90bb5b2f4e5c6c9b1595fa96450e6e3c6af2229651b536aa2cc4d61b1f155484280", 0xc1, 0x40081, &(0x7f0000000340)={0x2, 0x4e24, @local}, 0x10) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x20000000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)=@ipv6_getaddrlabel={0x38, 0x4a, 0x200, 0x70bd2a, 0x25dfdbfc, {0xa, 0x0, 0x1, 0x0, r4, 0x9}, [@IFAL_LABEL={0x8, 0x2, 0x6}, @IFAL_ADDRESS={0x14, 0x1, @empty}]}, 0x38}, 0x1, 0x0, 0x0, 0x20004010}, 0x40) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(r2, 0x84, 0x6c, &(0x7f000059aff8)={r3}, &(0x7f000034f000)=0x2059b000) 07:08:30 executing program 1: mmap(&(0x7f0000ffa000/0x3000)=nil, 0x3000, 0x8, 0x2010, 0xffffffffffffffff, 0xaf735000) syz_mount_image$gfs2meta(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x149, 0x6, &(0x7f0000000480)=[{&(0x7f00000000c0)="ada10313525bc4229e4bc7094277661af73d9b109e93b5ea5489537605f5dfb91404acdd15e66c9778155781b510bf834437328ed13fbc2dc2ba9bafe94e87d505a93655c2191544388aeaf7fd27ea4306f89cb68afa85149c719a91d44007b51bda21ad96b77f363bea30458169f0330bb1b678ef29cbc12eb7ef2e75a416e54006ed3457a9d1db26a227d0b01be64dae68fc1d73cc235bc6a604fea0086ff227e7fb0b", 0xa4, 0x4}, {&(0x7f0000000180)="94490b3991971c72c6dca19f7403a3ea141b3cc9e6fc8babd83f6f587a478b99bd1cd087332704f15639e1c8b17b177196142e09b6650909c15b5da685b4aee37207f6cfa6ebb897da2cbdf59c273436f31404677664025533c0fbba87757961840094ee0597275c49c3d9e8c4feee9522ef0a3701a92bb98c0ce876e9e82118c17deac5baa8fe1be785ed26512f16d96c52", 0x92, 0xfff}, {&(0x7f0000000240)="67e8b12aee270c6402db14b85ced6354ae8a13b35bc0130f", 0x18, 0x3}, {&(0x7f0000000280)="4edac60a6454cdcb5b7717740f2a", 0xe, 0x3ff}, {&(0x7f00000002c0)="8aeadacad98bd8e24bc7ebdc9b4c55c228ee96b4463074c11a3e783226e27274bf9951f60fcbc82d4b3b77171dc1dc9bc8c0b32b4401da83d577fedd480ff30ede5a18384c58d115b5d080bc3af841d41a5fa455893fc2468e91e064732a41d4445d19fce3d3c7bc7988a04bb0a392238aecd067a7d182ecc522aee904fdb102f2461618cb897090829c5b27009a53626672098cc950dd663bb06741ac3567717a01b26b5130c7d152a84e519f0229b1c2de6a9d54d8297eee52255613a29a97c8a57487baaaa9f2a2dd60f008614929cfeb0a1561c1e035b3331fda84f8fe2d805e08b07c18ccae4827774cd6dabc", 0xef, 0x7fff}, {&(0x7f00000003c0)="a5c3392f505edb5ac3ab148b1c20ec3fa5b4c191978de65eff496e1e010c1aa92208f5ae9637fb3e11afc49b5d7d8536da2f83b1bd11d96f9baadc58efac815327d0501488b752b0dbd075cf0666ae703b55ae3ac878547477ce8d24ea03d1c13e8092af742927b6793044e45b767319ef5f6d07069afbf2ef2aabc765e0f03a889de367f2b4a1322bfadef84fa3dd0c0672b4e2089691fa0e2cd7ae353d504d3221105ecaeaaf6e", 0xa8}], 0x64805, &(0x7f00000005c0)=ANY=[@ANYBLOB="2f6465762f6e7672616d002c10d02a7b055c4b2c2f6465762f2c09007569643d000100000000000000", @ANYRESHEX=0x0, @ANYBLOB=',\x00']) ioctl$FIONREAD(0xffffffffffffffff, 0x7040, 0x0) r0 = socket$kcm(0x29, 0x5, 0x0) r1 = pidfd_getfd(0xffffffffffffffff, r0, 0x0) clock_gettime(0x0, &(0x7f0000000700)={0x0, 0x0}) utimes(&(0x7f00000006c0)='./file0\x00', &(0x7f0000000740)={{0x0, 0x2710}, {r2, r3/1000+10000}}) r4 = creat(&(0x7f0000000580)='./file0\x00', 0x10) pidfd_send_signal(r4, 0x2b, &(0x7f0000000640)={0x34, 0x3, 0x8}, 0x0) ioctl$FIBMAP(r1, 0x1, &(0x7f00000000c0)=0x8) ioctl$PPPIOCGNPMODE(r1, 0xc008744c, &(0x7f0000000540)={0x3d}) 07:08:30 executing program 2: perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$BTRFS_IOC_TREE_SEARCH(0xffffffffffffffff, 0xd0009411, &(0x7f000004d540)={{0x0, 0x0, 0x8, 0xffffffff, 0x9, 0xbc, 0x6, 0x8b1b, 0x9, 0x1000, 0x7fffffff, 0x8f, 0x4, 0x9, 0x72}}) ioctl$BTRFS_IOC_TREE_SEARCH(0xffffffffffffffff, 0xd0009411, &(0x7f000004e540)={{0x0, 0x4, 0x4, 0x0, 0x9, 0x8, 0x3, 0x400, 0x101, 0x6c5, 0x1, 0x8, 0xfffffffffffffff7, 0x4, 0x53}}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f000004f540)) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f000005a700)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005b740)={0x7ff, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x40, "4603beae130363"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000057880)={0x7, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r2}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r1}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r3}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r0}], 0x4, "b5b4f3f192e915"}) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x51c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r4 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x1) r5 = socket$kcm(0x29, 0x5, 0x0) r6 = pidfd_getfd(0xffffffffffffffff, r5, 0x0) ioctl$FIBMAP(r6, 0x1, &(0x7f00000000c0)=0x8) setsockopt$CAN_RAW_LOOPBACK(r6, 0x65, 0x3, &(0x7f0000000000), 0x4) ioctl$USBDEVFS_IOCTL(r4, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect={0x0, 0x5517, 0x48000000}) 07:08:30 executing program 4: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x3, 0x2) connect$pppl2tp(0xffffffffffffffff, &(0x7f0000000000)=@pppol2tpv3={0x18, 0x1, {0x3, r0, {0x2, 0x0, @broadcast}}}, 0x2e) setsockopt$inet_int(r0, 0x0, 0xc, &(0x7f0000000400), 0x4) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x0, 0x6, 0x2, 0x7, 0x0, 0x9, 0x0, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, @perf_bp={&(0x7f0000000200), 0x2}, 0x0, 0xcd, 0x0, 0x2, 0x80000000, 0x9, 0x8, 0x0, 0xc6f, 0x0, 0x5}, 0x0, 0x2, 0xffffffffffffffff, 0x8) setsockopt$inet_int(r0, 0x0, 0xca, &(0x7f0000000000)=0x10001, 0x10) r1 = socket$inet(0x2, 0x3, 0x2) r2 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/meminfo\x00', 0x0, 0x0) connect$inet(r2, &(0x7f0000000100)={0x2, 0x4e20, @local}, 0x10) setsockopt$inet_int(r1, 0x0, 0xcb, &(0x7f0000000000)=0x10001, 0x10) r3 = openat$dlm_plock(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r0, 0xd000943d, &(0x7f000005b700)={0x1, [], 0x0, "9f8d31a94194e0"}) perf_event_open(0x0, 0xffffffffffffffff, 0x8, 0xffffffffffffffff, 0x0) bind$inet6(0xffffffffffffffff, &(0x7f0000000000), 0x1c) openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000640), 0x1, 0x0) setsockopt$inet6_tcp_TCP_REPAIR(0xffffffffffffffff, 0x6, 0x13, &(0x7f0000000340), 0x4) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, 0x0}, 0x0) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(r3, 0x89f1, &(0x7f0000000040)={'gretap0\x00', &(0x7f0000000540)=ANY=[@ANYBLOB="1d17d0c21d13bccda1e97b875b03e90ba9fc5d68a649c2c1", @ANYRES32=0x0, @ANYBLOB="8000000000007832800000004de400b400680000642f9078ac14141cac14143a44209410000000060000000000000008000001ff0000000700000002000001ff4418121000000a2600000003000000200001000000000003442c93e7ac141427000000097f000001000004010a01010200000002ffffffff00000007ac14142700000006443c7731ac1414bb000000097f00000100000000000000000000ffffe00000027fffffffac1e010100a06ab73a00000000000200ffffffff0000f7cf"]}) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(0xffffffffffffffff, 0x84, 0x7b, &(0x7f0000000280)={0x0, 0x1000}, 0x0) 07:08:30 executing program 1: perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000000)={{0x6, @rose}, [@remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @default, @bcast, @bcast, @bcast, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}]}, 0x48) listen(r0, 0x0) ioctl$sock_FIOGETOWN(r0, 0x8903, 0x0) perf_event_open(0x0, 0x0, 0xd, 0xffffffffffffffff, 0x3) unshare(0x40000000) r1 = accept(r0, 0x0, 0x0) r2 = openat$vcsa(0xffffffffffffff9c, &(0x7f00000000c0), 0x22042, 0x0) sendmsg$NL80211_CMD_DEL_TX_TS(r2, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x2c, 0x0, 0x200, 0x70bd2b, 0x0, {{}, {@void, @val={0xc}}}, [@NL80211_ATTR_MAC={0xa, 0x6, @device_b}]}, 0x2c}}, 0x20) socket$inet6(0xa, 0x3, 0x6) r3 = syz_open_dev$video4linux(&(0x7f0000000040), 0x2, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_MBUS_CODE(r3, 0xc0305602, &(0x7f0000000000)={0x0, 0x45}) ioctl$F2FS_IOC_RELEASE_COMPRESS_BLOCKS(0xffffffffffffffff, 0x8008f512, &(0x7f0000000540)) r4 = syz_mount_image$cramfs(&(0x7f0000000200), &(0x7f0000000240)='./file0\x00', 0xa1, 0x1, &(0x7f0000000280)=[{&(0x7f0000000380)="30b83add287f9aa21967a6dc1db6dcf8b53a8535488e60c850fc0bec1118c5b6132c9ac3cc9959808ef7b4bff1eeb66dc19a017d567d29813b1132f95086d4c875d63e41876cca", 0x47, 0x3f}], 0x1040, &(0x7f0000000440)={[{}, {'/dev/v4l-subdev#\x00'}], [{@smackfsfloor}]}) r5 = syz_open_dev$vim2m(&(0x7f00000004c0), 0x9ab, 0x2) splice(r4, &(0x7f0000000480)=0x9256, r5, &(0x7f0000000500)=0xcf3, 0x767c58d6, 0x1) connect$inet6(0xffffffffffffffff, &(0x7f0000000400)={0xa, 0x4e22, 0x200, @empty, 0x6}, 0x1c) write$binfmt_elf64(r1, &(0x7f0000001980)=ANY=[@ANYBLOB="7f454c461f00e67f000000000000000000000000070000007c0300000000000040000000f2ffffffffffffff0000000000040000fbff38000000000008000000000000001ee60000d8ffffffffffffff0000000000000000000000000000000000000000000000009f00000000000000000000000000000027a639b0410d1e1097b945958921200bbdf92b03a130039c80d5c83c8b9225d0525d869c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000004b38196d00000009000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019b4af7000"/1692], 0x69c) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x0, @remote={0xac, 0x10, 0x3}}, @vsock, @nl=@unspec, 0xf0f4, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)='syz_tun\x00'}) 07:08:30 executing program 2: sendmsg$nl_generic(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000002000)=ANY=[@ANYBLOB="c8100000330020002cbd7000fcdbdf2508000000e3c90e3a308a71b6dbf8c98967917878e3339952ed7fbe0482d9cc7b5be89e7260b15931f2bc5032d580cced05f648368334509d44aed85bf10ba0efb2de549a043d4929dd85797f7961d0d930b8f47f5c74c49758e33f08c3cf4f3daea75f7bb61da3e1769a3c7573bb45345fbe77736a169c3438b9588ade685c78ce2700e45219549691491a4d98a66ab45bba3708981c52a830f0d4379cb4dd56b0723a3696f320a532ef3ca2e3479dc4636be959ab11e4b0f3ae96aa31baaaab06542a7258798ccc6f1b8daa133ccd76a47613f9a50b535cdda6620455585b3dd85e492f7802834604dfbe91d22ddd306741f34030ec21b1d8a51a3c7eca7ef1417d37386e4c15c7891bbb87f60e395eca6716817f2edb9b0c2444127aca659767d3ec58dc1f6e6fb5762da8d2052eae6970a2fedaa84b3bd521b4fc13bcc542fdfa778016212c6dbcc57edbd043672af7bcbae25d6bcffc193a17970462abe9bb7208fd50c5cdeb98098ae4ed996c0054327c1d594653ad767b4b52be34cab980b827b57f90a6b97cfe30ba3d699300433bcc597e14c2e07a3186583c6598aea42a59c243c746f445fdb9263e3bd3ff307b86b0e1717c0c94dd8fa832ce8b90b71819f1de625951f9abaa90d778fe454b8f8f59ff96b0b7d1eb2967f6e9708f98309ef7d278a1edb2c7d7de7f010d149d901655aed4d0ab1f9ab907542aba161992f74cba456e36783bedee50cafe4f5028aa66d01e6267af085c6d881d769bd216d8265f0b9569a680d83cda41fe75e13b04bb87aa8c14bcbad48494ecbe4246ae6462dc499819d5a22ea010c9a81b9374f9e5694aaabb2beefa0700321446e2d3f69eacff0100008af0f38fceeb127b33ebec31e917ba6b560d0cbdba14c8e8f3a4ddceb3784669c7ae20d28a21d0afc9eeabe9cf2deb68545a21c6dd5845de97d5d197c73d9f65f4b000b90d3ec96698a9b636075e9fd784057df58e7981a78ff63ccd8553f2a7d05202637803ea4e2f8c83087b96910a513588f833f1cd6c4b73e173542d4200ec38c20d609ecc49cf3837132420d1de86fe73935d58bd87d8c7ad48ce7a039b5b3d9c4ef1ef1d8103eca35d9ef662e40fe61fa9fa7504a47bb003df5debd2823cb26fa956931b11e60f7d32b367721008852d95367fd7d42b6b7cbd0af191f47a4ba6b1721d268339ee944ffdfb70beefdfac6a8fbaea99caad67327f1234d6e676f1ba7691deaef95576cd8708b224cb9d6bbdf56552e5688bc70c9f59cc3098ffe011ec687e398bf27e8519ef4e671ec3c1dd98cd1fca264a04cc163de9b0e6302a652d084f02997a333c66c357d97d8bb56264f7fa3c6f96f97b04f3f7a86169f216618ecdb423ac50832132c96df22311372e3183a376e40b13ae3512903b0c73f18b34340839a5f2f63534a77387447427a60e42f6a2917cfe5a1965ce97ac3dae675c88380e89a81ec4db0ee02a04706ad981a6369af5cb05b7f0ef0d8f9fbe98a740c09333d5b09a9014bcbdaca4a8591ae62b4cb0dee2f6d3a1193ae7e7052fa24a1d67ea8019518db6102cad81a0d06c8837b97b8608e5cc5da2b2a9d9bd3373acacde307769de0b2844317d8695e6c23d3354ff0e311263f48620b58162f1af33fc0877adbc6a478eea23127299b41587051c94cdd02faf2d9dedcec81e32c4f096bed38b86b36093c40cb34f77d168d8ab916d5d7974eb23f83726a0e2654ae1ca701b844e77722e275cc7e392bf5e4eb66e27ac2b2a77c158007b03fc689b911c13f69b58ffe04d9221cddb41999d67ea5dd2514ad112ccde0a3cb934d59a9c2487fd82666f75daa059c8845df9f1ead415a2cb27e903182f4b572d71b782df332d68e86dc4d0d6c31efd469c48fa40431898f28974ac0c07154804c7d214a8f66fb109f7e72ffa84e7f10716a47fa0395b7b62885fd2f52e98c9e7cb91516c6a4ad091bf8a0a3ba51ee447cf20188293cb872aec6d8286d84811da716869fef0a3fd56a24c234a04045268e9d502b7b82a9dad2c933e73f967e01d632ba88fd2acce07eaf7b2e91b313cccc38ef1b3cf43296345704d2b402c3f3261aca74f4e9d4ce4ee5822e4796f04aea89489157f352e10eaa05cdabaef69673c5ff0f74e97801315aa6302b3d78694f24ad0ba54ddf08e6977ca079796eee3182a4a839715c300599ad3ac461147a37c8bae1828dae9627961abe47199d4cd7754a25253c72c045af59d26c47fcf795f3b2575024464971af16846bace32ac7bafd9364cb70a2326be7de5b1f90c7e396f469bec6a97581839ddd28c01e54c207c73174d7609e3be1098e07fd7b68ec3d9717c71dab4aa1366c1a43070249b37be2ea82251632f6bad01b65c88e2a1ee2d2616a299fc183ccd99d328e7fa250a0210ea9fbe5a3ff849fb29f413b86ed474585611727d3b8f21b12e6fc40bfa00363b9d92ffba92415199915cbeb2d51924eadba34eac7df6524da8042ef0679f58c8861df7e2ea7a322f47fecd61021b51e6f514e2645042c4d801f0829fa4c7b73b667827687641ca0b8e134be665b48003f61504723c7445becce46cb12909c76d7888435e38daec8fd340387c668cd5a259c17b73582ed1b7f6274083cbe1fbcc4188f9e0bd96fa3ffa6887aa73461916c3931f0954f5398a5befeeb34154d30c6a23eaedfec88d147d2b558543451167472cef4231ccc228c82cd604284545b9a4a9d9c3226fe43c84c32eb7c0e432ff72c0ba43eda417b909cca58ca97403d61c8554a3f3ff6cc84ed4f0141dbb1aee11ca89a249451b20e29fcb3f2ac1befb83ff26e0c2a0e1043dc5995d564d530cdb1b18b9ce68192aa700c4d871d96d99233d8222da7ea1a44eca1a9d52ac5697da3da10f81b1bba50f7db9a629aedeeac42ec3e0b9a2e2e94e48f5aef3332d4f6233b96a0baaa18baee78ef64cba537d48125cd0529461e861959729373be91a5abe93dcedadb65349d937c74ac2a9a0b9c67dccf1f0418e890292d46bcdadd47616b1b5201e78874a346002d691566bc29e909cadd8561f63efc8e5d16c379230cc02eb34440d4d676074728617ff22fc97e864bb0f58f39c2769e9ed48fb4f64646ababce90e70dd14d72bf653f5db3370bd684c29cade6aab21fc6b03d923c619bb9fc3871dacbb2ddd3f541ea1660f8d3da0f0c04ffedff238acbe01784cbe5d70a2519d558c18a3873e8dc771ee449949c0dc20cb499554017b34fabb0f88506499c5747abae01c63eec539a67ca1dc4d8caf3f0bfa9d5878e39b3c664dbf39861af22c1f1e7970f9241db83e274f996e56fc0a6434ccff8020520a6c28976cfc3773a040dfdfb3e3402e662c50bab28719fae490a1ce7b087ec51724acbb0aac72e0d35492d14edb93c4ed6c529c2d51182e4887efc9143fef152177bb2043a187b2b24b9394a8ad95ca3e1e619bf73a7b7478a3452753ef47b3bf9466aed13a41260082b1216ede5f102dcbc6306031ab42b5c9cb07d853d1937efd69214c8680fc6b321fd4a3367cec5ab61a77992525c2ae741b7548425a6ba9a3e4ac20f585cddf0381caa11b00d89406a1910416154c2b6077fbfce00b02bc7e32d27699bb819664b8edac0e0b48d98765848b27801e1a176eb94de481a9e027b8462b7f97d1ca5fed9a6998a2a55938ea4ce51a49bad3305ce413cd507170c5194368523dbf16350b3491d8f2f9c0a38f661a8fd7b515458fa9f95035ed85fd068e5cc208cab5899f1e8821312ca401e9da7eeb6515c3bda3dac7fccfc6f13dcf8555985cc2d0d335d6580a8caa699fc0ce7d13f41b139bac292cd2e5d1b35979202ed427282bcced1e5e1a390a5c5f4d2c2b9e2b3167c50cb4b3424a2dbe0242dde21552cabb3c13ff67da2a62e9eac007b2e83459538b950f9c8907e923ece6e77a855a6ad0fbdb7be9bac8726bcba07c9485b09426d2a0a8348a0948d3e46a06fcbed2fe5a9b3d8cd227d75ef797b1a28fdfe5e54b75ce640fa9790e21fd4d7f3f2bea073cc7d29c968c39a04a46374584cb6f5820c93ee0d21557a41da5f647bd886ce60f7edc1f89387737a6bc6e0103e06049006b525b17e25f09b38c292f5e8b60cb60360d0cecb5d02ce0cab3554b30cf26ac0de8166f94019fe3dce87247d6b027f8976bbc6e93f1c1226198dd9134e13713d4eb1a8705198c68f4ac95672704a03557785d961691372dcab487945cf37a600c6c004cfd04132ca748ce0bb9cc9a6826dce0502e091a58d99e7fff86f9975a8f4707389a109f6f2ffa449a51aa05283f57ef4cdaa40a03a8399ae6a4e7203ebd325345088587dd21f5f9d20e15222f6b306d8707d17a72b7d5abe717d7f40e87949a37149a15cb37a70188c825a215dfa3ba565c60b9fd2910db51186b49719a8b95d4c43b75e7a465ee997c583c1bdef1f7e2442ff3573b09994f5ba294dffbd3edebaabf37fa5ed3d49747875b46e0765418951531804d48aac6c2444d786e4155e5741b55b7084ad26f629e8973908e91f6964c47ca6273ba3ca6c34b90903a1016a67d3ea63caa53b1c291c54be1245c8a4d1f5cf5bb316bac9d3238320d49721e3aa6f851bca16a9dd9ec9c74b04259854a04926feeaf13849559eb238a5809845217e499433fb442bd29d45e575e0df9756995f4088cbd146e87815e33cb0159eb9a7287179c55ae8150114d10a203069e81a5b6b1491e259efb34804aa53acae655fea610e30713ac248ba851d1c258395677f7e18971bdc4dc250af00906a3401c686be65d692fdcad7ae6faa275b9c0aa22ef6cffd0be9458d325d6a76462aee4ab87ddeb9ebf22fb4ac869051cc0d015c533b931d12f3385132d6eb7d54caf47b7c15f322df63b90a85c21e75077e3c19a95e2f3520e37353a1fffc92edc3dcd92cb96d2cbdb05e5a31ea5e7df2ebb9cc5fb2ea89163110c91319d3c3b3fea56d3e91eea8ff70c68936e3f1a3627ef6687c20412ec9a6cff98aa5cc7b1ed87e9e86f5860f6e935bc51828e47c79c751439453220d1e824f43da94a71e6121202d289a19df3e4180fbcd8d6906218eb22c73d3c9f31b2a2fcb01dba10ef000bb2ad4dfe8055d7f139645b5d2af668d401add8458fe28d0c437f1aef58095c69d8c6a7f22524c367ca046562df55e0484b2011a581430e17fdeb37184de77d3e488844e466d1dfd3b7883f56442e6b342956625d89d2b697160ad25d043c305ae5e0fcdbbab99a54d69bf2d1280d32ad6945e0d23b834561850243e8b7bb14b258a93ffad08ccf6673501911f7ac720b3025cdd52f21277d99c49ff292d38aedf29724ce033fd8ea6c5271a8f254d1541cd62031c9b0523b5ae101b095ffab42441e8f0dd7824f39f5732938eebd483acfb44ae2129d9dac814ce2bd9f5d6d1ab3ba75f085d1947aea401ecda7fc33326ff78dbb0d49"], 0x10c8}}, 0x80) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet6(0xa, 0x2, 0x33) r2 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) dup3(r2, r1, 0x0) r3 = fcntl$dupfd(0xffffffffffffffff, 0x0, 0xffffffffffffffff) perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x180cf061, 0x0, @perf_bp={0x0, 0x13}, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x7fffffff}, 0xffffffffffffffff, 0x200000000000000c, r0, 0x2) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_DEFAULT_SEND_PARAM(r1, 0x84, 0xa, &(0x7f0000000300)={0x2, 0x20, 0x205, 0x0, 0x0, 0x81}, 0x20) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f00000000c0), r3) sendmsg$NL80211_CMD_DEAUTHENTICATE(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)={0x28, r4, 0x0, 0x70bd2b, 0x25dfdbfd, {{}, {@void, @val={0xc, 0x99, {0x4df6, 0x71}}}}, [@NL80211_ATTR_LOCAL_STATE_CHANGE={0x4}, @NL80211_ATTR_LOCAL_STATE_CHANGE={0x4}]}, 0x28}, 0x1, 0x0, 0x0, 0x48000}, 0x40040c4) r5 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r2, 0x84, 0x72, &(0x7f0000000100)={0x0, 0x0, 0x20}, 0xc) ftruncate(r5, 0x600004) mmap(&(0x7f000073f000/0x2000)=nil, 0x2000, 0x0, 0x1a011, 0xffffffffffffffff, 0x0) sendfile(r1, r5, 0x0, 0x80001d00c0d0) 07:08:30 executing program 4: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x5, &(0x7f0000000200)=[{&(0x7f00000036c0), 0x0, 0x2000000000400}, {0x0, 0x41}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000003000)=ANY=[]) syz_usb_connect$uac1(0x0, 0x8a, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000000000206b1d01014000010203010902780003010000000904000000010100000a2401000000020102072407040000000924030000000000000924060000010000000904010000010200000904010101010200000905010940000000000725010000000009040200000102000009040201010102000009925b4e787ee90582090000"], 0x0) syz_usb_connect$printer(0x0, 0x36, &(0x7f00000000c0)={{0x12, 0x1, 0x201, 0x0, 0x0, 0x0, 0x10, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x7f, 0x180, 0x9, [{{0x9, 0x4, 0x0, 0x9, 0x1, 0x7, 0x1, 0x3, 0x4, "", {{{0x9, 0x5, 0x1, 0x2, 0x400, 0xd0, 0x2a, 0x2}}, [{{0x9, 0x5, 0x82, 0x2, 0x8, 0x0, 0x4, 0x9}}]}}}]}}]}}, &(0x7f0000000400)={0xa, &(0x7f0000000140)={0xa, 0x6, 0x0, 0x4, 0x1, 0x5, 0xaf, 0x7}, 0x130, &(0x7f00000007c0)={0x5, 0xf, 0x130, 0x6, [@ss_container_id={0x14, 0x10, 0x4, 0x9, "aa4e2490e132018a5f0907387361663e"}, @ext_cap={0x7, 0x10, 0x2, 0x8, 0xd, 0x3, 0x4}, @ptm_cap={0x3}, @ss_cap={0xa, 0x10, 0x3, 0x0, 0x4, 0xff, 0xfd, 0x5}, @generic={0xe3, 0x10, 0xb, "036d6c281736d219fe7db51028aad614fbfa175b4e8558a797747316cf8380c381572fa430fcbe54ca25d9c6b78564b1070f6e5e1e451f0931affda2b573f2fc5bebcb1cbabb0881d0a6a6c4e1669d9ae811134058f190031d4ef4da7e1ba64c46119e66839304bf45b6ffc1043b9e30a2f2eff8fa5295a0919f4fa35bc11912ee0ad94e588682d6850b90e093126b410cfb0e45b05f1c4a74138e48d85f659d8eea9001e7b34a1f6f8dfb951c1209c23ca26e2955188f860aa02a9a32478aaf60356f1910af250f253d5d2d82a907224c9b0bee92217a188c9df5533819385e"}, @ssp_cap={0x20, 0x10, 0xa, 0x1, 0x5, 0x0, 0xf0f, 0x800, [0xc0cf, 0xff000f, 0x1fe0000, 0xf, 0x3f00]}]}, 0x1, [{0xd, &(0x7f0000000180)=@string={0xd, 0x3, "2ce8ae275f40bbb13ea0a9"}}]}) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x20, 0x1, 0x80, 0xc0, 0x0, 0xac17, 0x21043, 0x8, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x40, 0x2, @perf_bp={&(0x7f00000001c0), 0xf}, 0xc200, 0x400, 0xfffffff7, 0x1, 0x0, 0x2, 0x9, 0x0, 0x6, 0x0, 0x6ecb}, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x12) syz_usb_connect$printer(0x6, 0x2d, &(0x7f0000000600)=ANY=[@ANYBLOB="12010002008000ff2505a8a44000010203010902fa000101099005090400000107010306090501021000050c8d96acaf90544405c030211c19718406e8ce76bf26c024c9f5a31ac45b45ac0b87bfb2c68d3a"], &(0x7f00000005c0)={0xa, &(0x7f0000000440)={0xa, 0x6, 0x250, 0x5, 0x5, 0x81, 0x10, 0x5}, 0xff, &(0x7f0000000680)=ANY=[@ANYBLOB="050fff0001fa1001c83466321a7efdde5852b75969254c8c6197e9f3b270499bd14851bde6b3fd047790942137a21ebde2bafde2f2c584550e1ce0b28a44a56fecbfd6fe7c2d907f1c055b7cb7bfa4e17da37473cf6ad0a21fa0f9fdae12e5d8949eb588c38cbb56dc547c3b8598322398307dd644942f67bccc363ddcc5a9c87dca9b99c3bacaab7ed8299c90a8c14a15c1b919318e08000dbb816441561c4301f77c4c581b500f552d9d47e96ef9c8affde35486e8b5013865d13e70a18fb53e12956cbcc307ce7a5da881cede6132999c2ab3596c7885048825fb0f0bf8e42c24b837b87c1779ad2d5ee99c4857db15028f02206a78f9c22970fafb9a28a051c0a5cf3b8a97d644f96f19c249dcbd27d564bb8a5cabb2c803"], 0x1, [{0x4, &(0x7f0000000580)=@lang_id={0x4, 0x3, 0x3c0a}}]}) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0x8108551b, 0x0) r0 = fsmount(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f0000000380)={0x3, 0x80, 0x8, 0x0, 0x40, 0xff, 0x0, 0x7fffffff, 0x61380, 0x3, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x8, 0x0, @perf_bp={&(0x7f0000000340), 0x4}, 0x4020, 0x1, 0x3, 0x0, 0x10001, 0x9, 0xee12, 0x0, 0x80000000, 0x0, 0x1e3}, 0xffffffffffffffff, 0x0, r0, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x100000, 0x8, &(0x7f0000000200)=[{&(0x7f0000000040)="200000000002000019000000500100000f000000000000000100000005000000000004000040000020000000e1f4655fe1f4655f0100ffff53ef010001000000e0f4655f000000000000000001000000000000000b0000008000000018000000c20500002b02000000000000000000", 0x6f, 0x400}, {&(0x7f0000010100)="000000000000000000000000a4d0099b099d46eeb5a6d2ef5e9d5ded01004000", 0x20, 0x4e0}, {&(0x7f0000010200)="0100000000000500400000", 0xb, 0x560}, {&(0x7f0000010300)="020000000300000004000000", 0xc, 0x800}, {&(0x7f0000011500)="ed41000000080000e0f4655fe1f4655fe1f4655f00000000000004004000", 0x1e, 0x2080}, {0x0}, {&(0x7f0000012400)="504d4d00504d4dffe1", 0x9, 0x20000}, {0x0}], 0x0, &(0x7f0000012f00)) 07:08:31 executing program 0: r0 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r0, 0x89e8, 0x0) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(0xffffffffffffffff, 0xc018937d, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {0x5}}, './file0\x00'}) [ 2040.264887][T18848] loop4: detected capacity change from 0 to 8196 07:08:31 executing program 3: perf_event_open(&(0x7f0000000000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x42000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffc}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000140), 0x4}, 0x0, 0x0, 0x0, 0x4, 0x800, 0x40009, 0x3}, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6, 0x0, "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030cf00"}, 0xd8) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) socket$nl_netfilter(0x10, 0x3, 0xc) listen(0xffffffffffffffff, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) ftruncate(0xffffffffffffffff, 0x0) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0xc, 0x0, 0xf080, 0x5}, 0x100) r1 = socket(0x0, 0x0, 0x0) connect$inet6(r1, 0x0, 0xffffffffffffff15) bind$inet6(0xffffffffffffffff, 0x0, 0x0) fstatfs(0xffffffffffffffff, 0x0) write$binfmt_elf64(r0, &(0x7f0000000380)=ANY=[], 0xfc30) [ 2040.466198][ T9586] usb 5-1: new high-speed USB device number 49 using dummy_hcd [ 2040.480332][ T26] audit: type=1800 audit(1638169711.594:261): pid=18876 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed comm="syz-executor.2" name="bus" dev="sda1" ino=14688 res=0 errno=0 [ 2040.742674][ T9586] usb 5-1: Using ep0 maxpacket: 32 [ 2040.896170][ T9586] usb 5-1: config 1 has an invalid descriptor of length 1, skipping remainder of the config [ 2040.926958][ T9586] usb 5-1: config 1 has 1 interface, different from the descriptor's value: 3 [ 2041.132658][ T9586] usb 5-1: New USB device found, idVendor=1d6b, idProduct=0101, bcdDevice= 0.40 [ 2041.166195][ T9586] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2041.208322][ T9586] usb 5-1: Product: syz [ 2041.212536][ T9586] usb 5-1: Manufacturer: syz [ 2041.244803][ T9586] usb 5-1: SerialNumber: syz [ 2041.539430][T18848] UDC core: couldn't find an available UDC or it's busy: -16 [ 2041.566896][T18848] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2041.708446][T18848] loop4: detected capacity change from 0 to 2048 07:08:32 executing program 5: r0 = socket$rds(0x15, 0x5, 0x0) recvmmsg(r0, &(0x7f0000005080)=[{{&(0x7f0000000040)=@pppol2tpv3={0x18, 0x1, {0x0, 0xffffffffffffffff, {0x2, 0x0, @empty}}}, 0x80, &(0x7f0000000100)=[{&(0x7f00000000c0)=""/23, 0x17}, {&(0x7f0000000180)=""/234, 0xea}], 0x2, &(0x7f0000000280)=""/103, 0x67}, 0xc77}, {{&(0x7f0000000300)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @dev}}}, 0x80, &(0x7f0000000780)=[{&(0x7f00000013c0)=""/4096, 0x1000}, {&(0x7f0000000380)}, {&(0x7f00000003c0)=""/162, 0xa2}, {&(0x7f0000000480)=""/159, 0x9f}, {&(0x7f0000000600)=""/81, 0x51}, {&(0x7f0000000680)=""/243, 0xf3}], 0x6, &(0x7f0000000800)=""/115, 0x73}, 0x2}, {{0x0, 0x0, &(0x7f0000000c00)=[{&(0x7f0000000880)=""/155, 0x9b}, {&(0x7f0000000540)=""/23, 0x17}, {&(0x7f0000000940)=""/149, 0x95}, {&(0x7f0000000a00)=""/31, 0x1f}, {&(0x7f0000000a40)=""/93, 0x5d}, {&(0x7f0000000ac0)=""/85, 0x55}, {&(0x7f0000000b40)=""/137, 0x89}], 0x7, &(0x7f0000000c80)=""/48, 0x30}, 0x8}, {{&(0x7f0000000cc0)=@phonet, 0x80, &(0x7f0000001040)=[{&(0x7f0000000d40)=""/86, 0x56}, {&(0x7f0000000dc0)=""/11, 0xb}, {&(0x7f0000000e00)=""/91, 0x5b}, {&(0x7f0000000e80)=""/200, 0xc8}, {&(0x7f0000000f80)=""/51, 0x33}, {&(0x7f00000023c0)=""/4096, 0x1000}, {&(0x7f0000000fc0)=""/7, 0x7}, {&(0x7f0000001000)=""/19, 0x13}], 0x8, &(0x7f00000010c0)=""/216, 0xd8}, 0x1f}, {{&(0x7f00000011c0)=@llc={0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, @local}, 0x80, &(0x7f00000047c0)=[{&(0x7f0000001240)=""/145, 0x91}, {&(0x7f00000033c0)=""/154, 0x9a}, {&(0x7f0000003480)=""/144, 0x90}, {&(0x7f0000003540)=""/211, 0xd3}, {&(0x7f0000003640)=""/4096, 0x1000}, {&(0x7f0000004640)=""/147, 0x93}, {&(0x7f0000004700)=""/174, 0xae}], 0x7, &(0x7f0000004840)=""/221, 0xdd}, 0x6b541299}, {{0x0, 0x0, &(0x7f0000004980)=[{&(0x7f0000001300)=""/43, 0x2b}, {&(0x7f0000004940)=""/29, 0x1d}], 0x2}, 0x6}, {{&(0x7f00000049c0)=@pppol2tpin6, 0x80, &(0x7f0000004d40)=[{&(0x7f0000004a40)=""/246, 0xf6}, {&(0x7f0000004b40)=""/228, 0xe4}, {&(0x7f0000004c40)=""/192, 0xc0}, {&(0x7f0000004d00)=""/57, 0x39}], 0x4, &(0x7f0000004d80)=""/97, 0x61}, 0x3}, {{0x0, 0x0, &(0x7f0000004fc0)=[{&(0x7f0000004e00)=""/57, 0x39}, {&(0x7f0000004e40)=""/231, 0xe7}, {&(0x7f0000004f40)=""/126, 0x7e}], 0x3, &(0x7f0000005000)=""/93, 0x5d}, 0xfd3e}], 0x8, 0x12020, &(0x7f0000005280)={0x77359400}) perf_event_open(&(0x7f0000001340)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x51c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xfffff7ffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) socket$nl_route(0x10, 0x3, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r1, 0x89e8, 0x0) ioctl$F2FS_IOC_DEFRAGMENT(r1, 0xc010f508, &(0x7f0000000380)={0x0, 0x7}) r2 = socket(0x10, 0x8000000803, 0x0) sendmsg$nl_route(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000580)=@newlink={0x44, 0x10, 0x601, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @bridge={{0xb}, {0x14, 0x2, 0x0, 0x1, [@IFLA_BR_STP_STATE={0x8, 0x5, 0x1}, @IFLA_BR_FORWARD_DELAY={0x8, 0x1, 0x1e}]}}}]}, 0x44}}, 0x0) 07:08:32 executing program 2: r0 = perf_event_open(&(0x7f0000000300)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000001c0)={0x5, 0x80, 0x7, 0x43, 0xfd, 0x20, 0x0, 0x5, 0x8a200, 0x7, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, @perf_config_ext={0x556, 0x810000000000000}, 0x0, 0x2, 0x6b, 0x6, 0x401, 0x1f, 0x7, 0x0, 0xfffffffb, 0x0, 0x7}, 0x0, 0xb, r0, 0x3) socket$nl_generic(0x10, 0x3, 0x10) syz_mount_image$afs(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000100)=ANY=[@ANYBLOB="736f757263653d255e5d245b2b255d54247b3a6e41a8446642649788a8e3ebb69fedccd1d61c9029124e033158115a81e29344f0667b4d8b4c0990eb5a54814e3d567fb7b59d1479b05b28a34cb311912b09bb5fb49b2cd8c7ea007ffd9757322e5413bcb024a3c493cdded38a00a1deae51fbe382ac60f5d9aa468c00"/140]) r1 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000080)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) faccessat2(r1, &(0x7f00000000c0)='./file0\x00', 0x20, 0x200) 07:08:32 executing program 0: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x21, 0x5d, 0x4b, 0x40, 0x6a5, 0xd800, 0x8712, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0xf9, 0x30, 0x5d}}]}}]}}, 0x0) syz_usb_control_io(r0, &(0x7f0000000300)={0x2c, &(0x7f0000000080)=ANY=[@ANYBLOB="2cc43356d93f2f463abd5a2af9bea77db7f46db61de6dfe525dc963e75d1f5a4605bec275ed07904b73a1ea74e7254d5e24c68ac00"/68], &(0x7f0000000100)={0x0, 0x3, 0xc8, @string={0xc8, 0x3, "9db0d0f6fae34f96773371b05f995f4701a1837765dbbc17fbc0d601e86ffab2d4349b4e4c0d408b353eeb393587e069b527eeaf17502d55e4422e5bfd0b7acde3e6dd2e15b6567f01e6b7021283fb22f190f1ac6326cf2b1f90473d1069fe98ca962b05be5a165a8d35bd04dccd3beb193a13881b38d466b0377852554707b6f23df7f32a2871d4f5200b347e97acf4aabcda62b1a5705f0b370770187425469c4fb5f71c37d3900ad84e7790c4abb151718f41523dba573d72127be89f6335b926dafeecfa"}}, &(0x7f0000000200)={0x0, 0xf, 0x47, {0x5, 0xf, 0x47, 0x6, [@wireless={0xb, 0x10, 0x1, 0x8b136382ddffac54, 0xf8, 0x3, 0x80, 0x0, 0xff}, @ptm_cap={0x3}, @ssp_cap={0x1c, 0x10, 0xa, 0x6, 0x4, 0x1, 0xf0f, 0x6, [0x30, 0x3f0f, 0xff0030, 0xff30]}, @ss_cap={0xa, 0x10, 0x3, 0x2, 0x4, 0x3, 0xee, 0xfff8}, @ext_cap={0x7, 0x10, 0x2, 0x4, 0x2, 0x9, 0x4}, @ext_cap={0x7, 0x10, 0x2, 0x0, 0xd, 0x7, 0x7615}]}}, &(0x7f0000000280)={0x20, 0x29, 0xf, {0xf, 0x29, 0xc9, 0x18, 0x40, 0x8, "b260a9fa", "6183c533"}}, &(0x7f00000002c0)={0x20, 0x2a, 0xc, {0xc, 0x2a, 0x6, 0x1, 0x0, 0x1, 0x0, 0x8, 0x17}}}, &(0x7f0000000800)={0x84, &(0x7f0000000340)={0x20, 0xb, 0x36, "ff9245b5b893624ae2750506d481beff88d7514d897a9799a1f8e400825f759797e89bf48e5d1a6bb82e9066c5e4e58ca12cfab3920b"}, &(0x7f0000000380)={0x0, 0xa, 0x1, 0x1}, &(0x7f00000003c0)={0x0, 0x8, 0x1, 0x4}, &(0x7f0000000400)={0x20, 0x0, 0x4, {0x1, 0x1}}, &(0x7f0000000440)={0x20, 0x0, 0x8, {0x160, 0x1, [0xf]}}, &(0x7f0000000480)={0x40, 0x7, 0x2, 0x40}, &(0x7f00000004c0)={0x40, 0x9, 0x1, 0x7f}, &(0x7f0000000500)={0x40, 0xb, 0x2, 'VK'}, &(0x7f0000000540)={0x40, 0xf, 0x2, 0x400}, &(0x7f0000000580)={0x40, 0x13, 0x6}, &(0x7f00000005c0)={0x40, 0x17, 0x6, @local}, &(0x7f0000000600)={0x40, 0x19, 0x2, "f623"}, &(0x7f0000000640)={0x40, 0x1a, 0x2, 0xfff9}, &(0x7f0000000680)={0x40, 0x1c, 0x1}, &(0x7f0000000780)={0x40, 0x1e, 0x1, 0x8}, &(0x7f00000007c0)={0x40, 0x21, 0x1, 0xd1}}) syz_usb_control_io$printer(r0, 0x0, 0x0) syz_usb_control_io(r0, 0x0, &(0x7f00000006c0)={0x84, &(0x7f0000000040)={0x0, 0x0, 0x1, 'O'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 07:08:32 executing program 1: sendmsg$kcm(0xffffffffffffffff, &(0x7f0000001600)={&(0x7f0000000040)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x1, 0x2, 0x2, 0x0, {0xa, 0x4e23, 0x0, @empty, 0x1}}}, 0x80, &(0x7f0000001480)=[{&(0x7f0000000180)="987193d5442c67d61a52e1aa476b50ed81980c5253cc625f320bdffe79aca7274f9b97862885603e25ee391af94e5950e714d5f8ff7b23d67dcf0abd923f8e36d7c915c4425b8dcdb7f9f74db7626fc731cf94e0c983303affacb6731e3b055292acf3f2f689476671e9e4cb9154925f9afa281604bf64ee867bd9c588d979b2261a70ee91aff335de6596ec10c4920193ad1a5bc9ab36d1210e2f1e9c7caf807d8d18f0ebc5a59c6991836a545a042b8083ee819e659a18f4a280a1f7a33c5c5b8744939608c5b3506c21e98c695807dccf1536026e3bbced61927f3f15342d08e2714b357ebb", 0xe7}, {&(0x7f0000000280)="aefb4c2e0c1dd217e901f1d82208240a4140d1ebffe601f44184a79825754ecef78159fc902a809aad157675b867a0074c75ad98c2abd6cd0e1d0a2641b738ae34741a62d3", 0x45}, {&(0x7f0000000300)="c3824d7809199736426ccedffd80527c14e8e8e63164a8a139a5138bfd8ddea0a7d4cd2ae7ef065cf36d3ef23a1102cf30cbd97bb94fd0fef54029aaccf6ac958959bd70dad480a72996ef8dd632174938ca1eebd82dd1af2c4e9d292102316b4d46d3d33cd61703040a2161ebe2066d22c420ad4c52172957730964f44fd323e07fe7ad3a8ce2e54f498b8005a18e95f5be94094c58ad7ee1c7c9cf2f27884c80889ee7fcbb55ed64b85284d8a5e3330d2d09ecf7144340861afe271ea4766c928728a05d2f4da31cc95ee7cd402f5d5d652bfbcc63545d23ae9e3de46c57766b0326b58d5cc62f8b035696f9a274e2249fb57a032f63abb3de0694fa2d0b22f65711c22361f9e1a9032fff28c2142175c23e2de46eb88ef280d24407ee2bb2d270904004e7261f20cd6e207295ff7176ec0035010141e8063ad98fdfbbaa0e2183983bdaec5baffc6fecd1d11b92441bb2de1daeffc2b9c222e449ddbd46ed41374641c255fddc6dbf8d2b5ff8cc472f8fa260a1f3d00f50bc6d90291cb29b4dec4750e74bfecd9d75ae0eb786fbc616d6082e13ac76c7b0e19e1ddfa09bb7abf97df9f8d2d3864469a142825542f93a1238911cda20ecda747de5866b53fd8fd6d840be1923725e2396aea89b318f5c7d4ccd3dc6c1d10e702462124ec41edefccbc614c006d4fe1b51db9940f39b09010ceb69ddc9e818186dae9ed5728a19260ef136f090f52bf3f43bc2030f7d6d2cd6ccf166a6a7dcf5323b1cfbdafe22669b61350978f9cfc46cd12b08e26d367a09b5b553b51ea079caff4af330ad87ec62b89da2088e5db4d39c3bb589b82b2caad9f3139a8f2416d1c03d6fed55c6692ae837463605269002e2c9303a5ad6291d77a56bf63681814b8ab93d99741bfdba8950a850c37c8faea7a22bece267276700a0b84af40ec6207a05641b851fd347e20393539f5da06e7450f7e9d482c9e45626c98200d4e192c245b3c0903f0ee6756834de25f6fbd668c88cd976c1af842592d5427be668888afd7bbf120e442b875a1fab101b99f12903a1e3b9dc7305181ec13fe79cc7eb8103218c7424a8e908a6bfcb2da06b9c455482097fb822130506793017102a1a13df386fa10496cc33fc3f09c3713add007c4c5838644d6168c589669ca86e01513d827f4e705d2f96117c824121f710c3a2bfd5554d3c6665e8004dbc6d6449cec946d780103defce3becf443925416fa835290631805960f56f0d52886f8d409d0f5e30cca6669225fcc8a1704efa1be20b8af0f611c32bc8a919157fe561e8e634c390d66ff6342ecfb684764fa98f19697a83737fef1f5e2c54d15c142ea4c3296e42a0bc80ba7ab23a5efc0620df2bb12fbf020e16e886938442ee1638bff847b27276209ff6b7191a3dff095763f11f942d5e817733e33d0e65cf1b9b7d0c99f588fb25a6cfeeaf24783513d0a6dd6451bc6865d3a06e3c7aba5a11e5022b1a88098569062d11f29ec8f3aa6d8c3ae11c8cc1f506409f9bd101833959def4e406b373430147528cb5e65b7f94a9b91311e89507d499974db649a598fa5af99144aef7c5b2d9d5579f678af619f0bd1d8c345ace609e034e294d139c49033f65d51b3c9b366cc18cfe9a5edf2caff12b2631a86d31b1f7515ea2b91ceefecb1516637fbc3d5d05e9320ee0bd1f25943ec04653a10d85756878a8c5e35bad66184ed6fa062e6283c18cb73a6c424b47d6cf1bb542940b112a25a27710bedc62f548716eeda6bbf30b9fcc0be900b2d2a705d8f4fca09a024bb86b1a611107ca42d7f62a92ff976d2876f44fd602e07c8b373db5997b192c86df31c65e400502197d65ad46dd2a23ac1eca1a1778619af8b1e4247dab5f5a661a4d2f7c231d63f6e24d6114bd8be29a5ce2cb124bfa19132fa48aa3a48333767b3fb2da27a4dbd1da542313985f05840080505f5d5fa31a29302118f613316869006a2ca747f44417ac7db781906203ea5060c17c40d804f96b5012a1c2b567e6b9213ef4308829200d477b66a2d9cf7560c22a29291ac87a7b3746229bdd0ac4f8e53559fbba01b6c15a22adf14434acb1de074303e28f2e7057437713c181241516c7acef4a96079bb21be4b9f7d9dba5e1612ca0e7fdf63e8332196f650c210fa17dd1e6e79647ec48eb30df69b8c02eaac3e02a6144d64b6609a25dc3c209d3186e7ac609eaddd7fa3643e5cb66e5db47f72d6bc621c88f63c43f53bdb7ef0cd052d770b94d6b2804b474627874a4095686e0243cf81440cee84890b8f1001c0e569f58940eac2aca3163933257feb043937105193d8e42ca06c3f68b703e6aa23561886a2b13aea937460805d0315caad7b8d23910d0d9a183f8113c33056d89ba907134eec86cbe515a044f7b4e4238c5d8ad53aa01b5051c050de080092af9bc8512ba5f676230fa2ff7f37c624ffeff3607194636119fcac0b13f6d81c05e170a8269c7aa5b0b9db038a0c02b72f44377ae0a70d7a008f3dddc1b468c84b2d05fe7b5fe5165fac08f1f58971b01ccc0937625a7ec9b9d5670a637d251860206714642b01bc051947c262f5079343f6aa9b2acd8f6831a8e31550ff1195cec06c380610e93276d1a70226f5d73fae5e105ba27bf266024a54e76ae20dfbe7a678eaa6704ee3ed3ce7fa5c92ff54fe201370bd3cb4c51b4354a901a0199b50e83a8831e96933b899720e7a2aa3a58721a96fc712c0f381c5496907e102d50c8ddf52cc92b5e41ee5f0feabb8925c08fd5b4a9846483531052e48d8acaab011c607ab48f2dfe34d8ad6b1a81f110698a571c383ce39f987b270d61605c7cdc7ca6473a5b20e2b3c9115b22b519bde281ca67d2976322fa6dbd50759087894ca1e883ffc73a7e1f2b6fa6b7ab90b75ebedc097aa0206998ac2d5c6c1a1d9ff04716cc4d77ec7946ce3b47b4dae4842f9d550a53d571206313c8a83da74375800bdc49f458a464b89eff48293eeb970ace08a7ab7e574d26598689d53e805d2568b7c7ed506fab6f4b5574b82f6e5f8a726a91ffff3d405448762c4367c2f31dbe6cd740e6a1933687f81b1606ffdcd1bc2bff6ea4d726070fc8faeeaf91a71aab499b4039ec5413fc80b70f15222973e7b8f22214ed6c2d2a36ffc8ebbba524271f2e48b8208f4d8473f616e5798aee949d6583f20d70c83b9c93f68ac05bb29eebef8653408238cfc13f033191a927a43578704b3c0a9447c1329765ba8747ad223bacb15fcfe15bc7c1afe0eec9b2028a85d799d8ef832b207d9747a4bba11b33fec3ca1782aa82cc154fd88c6d9eff7d2dd593bdfe19018eec77126ca4d24697e7741b7fcc3c00d401490dc2c669c3738a546520546dac7cdb537fbb6049eb2df05da9dfcd47e6e895d27c599219e60c2dfd953d0b38b5bbfbbc8a80f46180e3a0e4a00b0da1f8b49c5b93d1073278682f7419ed24bdb4c95d2b07105cc8d87fbc607d47fe93118feb6a3c139c8cfba0f3b30f504c78c94b07652ff4e093eb66636927032c3ffb99dcc8e8d0fb97356e2af203f4723372df1400187f3e99723d10742a9548fa6f6c8446a0c518cddd35e850a26288ae8d5661bd135ef271f5995241aba97df8e357bbee208b8b071d51dbb00134a2d03430454c7a9befe6227d4f0505980db820963aff88581e3608276c2ba759a00dd1802d859c5558ea3536a788f68661c72a6ca19190c04f269cbe7a7ed74e7a39f9514991d0871f78424773418ee34f7fdd532476e4271a1f25e498a07e137869653344bfe01c49e920a259a5da1e73c973fd60d6910eb081c68b478655d07e217a90f2439f1961031ec25c88288e95c3acfce28c06ae2b1ad1701b3ac7ba6e58199b6529fa9938f544c39e4422bacf87ce3df326c38f7f52fe7d5652a6776764a617ed348bebeeaa041cbf01a3a72b0a3b9df51b0ff540eab571abc54b409c48c35a5b23d847efc4176886123cf676753f445576df4cd2da2af7cb772f07c6982fe3109799c5bfb2163b9a83e0908237543a472ac5f57a84739801311276504954c48cc5bfd40aad11e7adcf7c29827fdf00936f17457d0d1fbdb6f2b4f11ab9886cf4075c2807ec58d86b3bde972fd601baf13a80aa4911f2d82f1d1a7e666aa04aea7c2b9fd8255314a852b800bdfb357a832d3c5dab49564e77ed53c82785485074733335e10729adff52f6221c7ef57be9f016557334869916c1a87cfc42308840624776e80648c1cdc50a84f24540af6dd1738cb32f0172b133812de37543c9fa7da7b7f0f046af51f66da419501942638115932e67022390d8eed854efc388c8fc3b6cce196a71d2190d49e3adc8aec4973764d4db651b1b9572897f3fc036a9856bbfe0be309e50e28a5b37b231fcac0968956cf520313dae8862d40506683a6faa048efcc1841c3bc65b70cfb5d90b2d8ad8a1d7e30a48503204d81fc630cda6be19c772a6720f52ac22fa0e01345b1482e72f254e24887c707177641647076bc660907b9f41ed24a5283696f0eb4a62c439d5e05ccf304fac681e8f8b63002f729537e0700dd77e63c58f51e1e9f21543826c8db5942cd6a1706c05c04f1dca8725ddb57bf9eaa5a4e7fcd99564ff348951961dead1624be882fe5788856f5dedcd65d3c15b188b4204f75772a4908b8c6849b77b9e25b7d6dbd593f11b96029a76963d296eabc957849c01dcb604dfaa56779f9985ac99d37ba1fd392dd8bf20706a19af036f3e4032114d7db36d7d14db12ef3b96e10769e1bfedda1f3137e5574f6111df42d145a36d0f930b834a64eaef446e6d49577c62a4342a00fce3756a9cb940692c8546b87a07542bb7acf390e3e27a61e93e5a72bb19e111dbf4ea42994560e8a8790cf2b8db9e5d71dd6140f504039072ff9b05718b6b8da10a46dee6f7c80a9ebc793ed7ed901ec22764ffa2479e37008c7f7e7f17bed5f14e3d5b7eb55620dffb6dc1466dc0c1799e74c047c09dab0705141b529d147fd12ad45186e92293242a5c968e33d21bb2abab9906cc2249386c53698a4fb7f727d3c17d6f63557af12bd9e34acb0feb1bac680dab1cc63020543653c6dc9a2d185c56825cb051574ab71ed5c0e2aca70f4c3bd39f6b8c5036e06c33b755077821053505db698e8d9d4ebb8341d9303d9046db13be4184a2a831a9aa8330986c07cea7230449b6407656a160006ce2ee9834584a4601d45c0e9f0ec5f84a4e0db1136cd44f2480db5463899234ed169d1b448a4737b9869e8720ebd0f7cf33d8cd1bd1f03db6981fcc495b1bc5275466bb3bd2e8b6c9f2105ac0b1415e9e2e6dc580312c7248c99d99bcaf698c705c19fa84256c70bcd9ee9d407ce5355cb4d83d400f053bd7127acfbc2d4aa243786ed2a554aa31d3b862e2d0826b260996e23b2530d37986d9f9b79c21e2bb6c39aa0c7b562dfb2507824192ac35f91b0a1db592d235c32716a0e5c54c232d5c319961a1adeca04791c3a3233a1d2d49780c04fd09a1b760c694eb78f5638b3a09a7f3bd7d7ebd56f7b445642a811742e4c6402acd7140e7b0306c0fc645bc6fe6ad3ba2152eb29dcf62da49c2535d499abb9dc8a4b253e505339a4ed1200365fdab7ac5fe7fb37acb61d2ce5539800f0c47d5009bc9b85998d97fdcd448e09acac7132206c134ac13d17748bbff4fff38515a20a66fa1f7331e95a1793b58b2c9d60ac911251eecbaa2dbf42f5a737d92280ee4c6ceb1d19582579a3325b0c3ba26a59e80f4193f77957a6ac1aed60dd1296929843b9209de471f5c1f5a58c62", 0x1000}, {&(0x7f0000001300)="024e32b17cdea76271aa10a7a422af849c6d4d34145d77dbf63f2a3b9dc83bc2a532a0660c21da5f9d09ec041dc12b435f334d5d2eab5edffc9b8410f552aa7a086107de9a9ff013ee27fa34321217bb52adcd212d1f8e01f57654c172e0072a838689e0717d084a2538d12469d0ef9823471ef13f51a19f91f8335f9f0aa07d99c442de0453c14067298751ade2eb0afcbd9e9420858b08e41a", 0x9a}, {&(0x7f0000000100)="c9c9ea01", 0x4}, {&(0x7f00000013c0)="cfc311b2987678978f6c285ca451b1afaec8a3818a8cc6c22ddc085a27afc71765331bda467617596b07af9679d60599fb81f16558654479a1abd6c892c0e8848702cb3336b3af4f49c8742878eceaaa15f43eed57686d63a748c553c023b05842a3917d09d7df87723fde93adc973be4b557972590a72156843caf2db64781bd2fe317eaa4995f588209c3bb3f9f0118db91d9d34482e238a0bec818d035088e45cd96606affc1e7e1905fe8840f9757d3619b2", 0xb4}], 0x6, &(0x7f0000001500)=[{0x68, 0x0, 0x2a4, "38b9c5540705634d39354de0b9fa4b7fd95d0d570e953dffea0a77ed4c970e7984d54064cdcbe05f597118b43a4e47520b5096a0dc28eb2d1dc2e1e8920e1064dccdb0f58ea07768cc75c116531cb7d684"}, {0x90, 0x0, 0x20, "8ea6dc6d40a6c060606ee7b893a64cee176a9fd808ed46ad763323b40f7e750db15018add7b9f166343d1efce0852e4581111fff9978c4bc5bfcbbfa95958c36ace82c69c9ac4c6860e8bcead0baba43238a2cfda910be620b24d2eb70a6ffb73e697814bb6801414b38e932165ec6829274f877d5b10655d098"}], 0xf8}, 0x40000005) syz_mount_image$xfs(&(0x7f00000000c0), &(0x7f0000000140)='./file0\x00', 0x0, 0x0, &(0x7f00000002c0), 0x0, &(0x7f0000000000)={[{@sunit={'sunit', 0x3d, 0x40}}]}) 07:08:32 executing program 3: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) openat$nvram(0xffffffffffffff9c, &(0x7f00000000c0), 0x200441, 0x0) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0xfffffffc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_CREATE_IRQCHIP(r2, 0xae60) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, 0x0}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_SET_LAPIC(r3, 0x4400ae8f, &(0x7f0000000440)={"6cdd4237dd245c8404721efdc9c8dc1964125fa96fa42b761c6ec25b2bec0ba4c81036c93a40c8a4d4412a763b00040000000000003c5ca206c047ecee377abaece6b88378e38e06c5fc191f361d264ffa8b46485f02baee1ab6b8154252066178868d1ef4b53606000000000000007c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df1001000000000694525952f44500a1f0db509c32cc7ace842c28f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde317fad4825aa1b6a832d4e48cc41bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34cf2645cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478f347edbd6404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f580968af6afbbc19db161c6df3e7c9c71bc08a282fc2c142856b5e4caff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684b45b00000000364673dcfa9235ea5a2ff23c4bb5c5acb290e8976dcac779ff000000000000003d4e185afe28a774b99d3890bd37428617de4cdd6f53c419ce31054182fd098af7b7f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e961efffb4e1aa25d8a17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca62b25d48fda5d10146702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba47e30f558b2246ad95ccf7d2f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a80047fe17dee6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3eff254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f4f692613e28387e955722908dd88b56163be8312ff47c5b6f280472935af74e97a5a8110a4d74496f4c8ec82ddb010100000000000001a047526865c888c9ff36056cc4ad258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffbe9dd03970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8f7e3fccdcda85ce975ec1381b1cec6ddaa76e186719d819164300"}) ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) syz_kvm_setup_cpu$x86(r2, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, 0x0, 0x0, 0x0, &(0x7f0000000340), 0x0) syz_kvm_setup_cpu$x86(r2, r3, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000840)=[@textreal={0x8, &(0x7f0000000180)="0f20d86635200000000f22d8ba4300b80080ef0f40493436670f0147000fc7598066b90609000066b86973b23366ba018e785e0f300fc79f008867f30f09650f01cf660f6d802fb1", 0x48}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_SET_VAPIC_ADDR(r3, 0x4008ae93, &(0x7f0000000040)=0x6000) ioctl$int_out(0xffffffffffffffff, 0x0, &(0x7f0000000000)) ioctl$KVM_RUN(r3, 0xae80, 0x0) [ 2041.937750][T18848] EXT4-fs (loop4): mounted filesystem without journal. Opts: ,errors=continue. Quota mode: none. [ 2042.098003][T18848] ext4 filesystem being mounted at /root/syzkaller-testdir388207037/syzkaller.lzqyAi/11/file0 supports timestamps until 2038 (0x7fffffff) [ 2042.356423][T11923] usb 1-1: new high-speed USB device number 64 using dummy_hcd 07:08:33 executing program 1: syz_mount_image$msdos(&(0x7f00000000c0), &(0x7f00000002c0)='./file0\x00', 0x2000ffc0000b, 0x1, &(0x7f0000000180)=[{&(0x7f0000000040)="040800090000ff01e661", 0xa, 0x5}], 0x8001, &(0x7f0000000540)=ANY=[]) [ 2042.512267][T18931] afs: Unknown parameter 'ØÇê' [ 2042.553492][T18936] afs: Unknown parameter 'ØÇê' [ 2042.670896][ T9586] usb 5-1: 0:2 : does not exist [ 2042.716112][T11923] usb 1-1: New USB device found, idVendor=06a5, idProduct=d800, bcdDevice=87.12 [ 2042.725297][T11923] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2042.729206][ T9586] usb 5-1: USB disconnect, device number 49 [ 2042.828007][T11923] usb 1-1: config 0 descriptor?? 07:08:34 executing program 5: perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f00000001c0)) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mkdir(&(0x7f0000000400)='./file1\x00', 0x0) mkdir(&(0x7f0000000580)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) rmdir(&(0x7f0000000140)='./file1\x00') mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB="75707065726469723d2e2f6275732c776f726b6469723d1c2f66696c65312c6c6f7765726469723d2e1d66696c6530"]) chdir(&(0x7f0000000540)='./bus\x00') r1 = open(&(0x7f0000000100)='./bus\x00', 0x101242, 0x0) write$cgroup_pid(r1, &(0x7f00000000c0), 0x12) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) [ 2042.918389][T11923] gspca_main: nw80x-2.14.0 probing 06a5:d800 07:08:34 executing program 1: clock_gettime(0x0, &(0x7f00000003c0)={0x0, 0x0}) ioctl$VIDIOC_DQBUF(0xffffffffffffffff, 0xc0585611, &(0x7f0000000600)={0x8001, 0x3, 0x4, 0x800, 0x4e6a, {r0, r1/1000+10000}, {0x3, 0x0, 0x7, 0x1, 0x0, 0x67, "84f0ebcf"}, 0x7fffffff, 0x3, @planes=&(0x7f00000005c0)={0x3, 0x7fffffff, @userptr=0x2, 0x5}, 0x9, 0x0, 0xffffffffffffffff}) fsetxattr$security_evm(r2, &(0x7f0000000680), &(0x7f00000006c0)=@sha1={0x1, "1409c080a245a83ef165c6a29571f54177a8017a"}, 0x15, 0x2) r3 = dup2(0xffffffffffffffff, 0xffffffffffffffff) ioctl$EVIOCGPROP(r3, 0xc004743e, &(0x7f0000000280)=""/235) ioctl$PPPIOCSMAXCID(r3, 0x40047451, &(0x7f0000000400)) r4 = socket$kcm(0x29, 0x5, 0x0) r5 = pidfd_getfd(0xffffffffffffffff, r4, 0x0) ioctl$FIBMAP(r5, 0x1, &(0x7f00000000c0)=0x8) r6 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r6, 0x89e8, 0x0) r7 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r7, 0x89e8, 0x0) r8 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x9, &(0x7f0000000780)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef010001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000000080)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000daf4655fdbf4655fdbf4655f000000000000040080", 0x1d, 0x5}, {&(0x7f0000000700)="8081000000180000daf4655fdaf4655fdaf4655f00000000000001008000000010000800000000000af3010004000000000000000000000002000000300689acc585643768bfc76b54f8c800000027315af15fa84a48014629609c6a740df6bd5d295baee1", 0x65, 0x4800}, {&(0x7f0000013900)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x30000}, {&(0x7f0000000b40)="81accfebe446cfd424ae1195501ff32c3a70a64969327e4a65bc017a2d4a41b87b642e893d835f74fcfbfd7000da2bfe8d3e860df2f2303ea7e8ed3ba4b7bf849d939aa3ad50e3187486056637c221d3ccb90eb1204ba3a90880c0dbdb541f51f3050c3583f3df5907f0f065488aedd9544feea0799392888a8af6b59927cbd417f7b239bda616c95fd5e112e7084170fff2a22fe86fc4b1d7d9671a6deaa5ca7aa6097bc2df4d0e407af0eb7d7927b0e5c64ab151c59cdd404abf189a61aeaff8e93fece449a94862efb1cefc76ae2698fb0a47fef9455cf6f3ca51ebf25267d92938740d36a3072823e2cdeb4a3e6de63fbdc5514b058020188882480b57a70c10d22a73354b6d17bcac45c9ce378fa3ba84eb0e4d753dd567e1902a66c8f9685daf10fe6b9fb2a5457b5f98084ba832e4002a416b1fa8d3710c4b6ac996208b76a7b635d7d25da9341d99541551dc525348dfabac1190e821f1136533f5888dde0519dd4f243c8bf04af3ac31fc4898d7e282dfc210c8b5b09eadebbb570c269349f187ad079397ffaebf51b615051f5581d50ba4eefe3eff933007be439faf79f298f78c11189b99fcd95de613d1a929b823495bad0a57a08aa3977339c265593bad629bceb9275cb3f19658f7c5a0261b8ca2d00f34c115b73b55ceeb73b6cd86c5b38af562f259a64cb1de01de6fc44bda09006ae380438a6b16e51154cffbe19625f5ed3c79ea5f246ea53970e3922e5740389f2467adbafbde1e6b47d3110f19405662bc037d6238dd0050f2a928e5bd7a80e152e6349e0992834cba46f60ec6673a9b9feb3b8e5b286cdaaa330020ea0760a2b05033d049bc1e75d388223e2d267b80363efab6413358602ff933276f4b5c9989f88c6a773eeee977acc6601f053e360cc3b3219f8816bae54aada03ce3b7ecae7b843a5377103ab398b9f92e26efbd62844465cbf329911058bd2a13e39a3619985b74d82e7c3806d6b65e3b1729b4b4fa4806d22d854d8d1254f9b440f42359441d114d18622c0fbd5360d932b89a6e0aa3279f44973feb6558fd6e34783bcd3b5a74133657a97b8479400eba570faa5d712f08e53d95f71a1aac335bc2d32d873802fa861c553159237e13a0e9810113197cb6728d450343de580e1385b358afcdcf4e2b30672a1ce29df3f31d880976c8028a53d1f032fa03bc60116dbbbcb773bdd6668013e6bb062b931f52ceb96dfc799a17f4ae188d0c0d4d7a9bb8559e208ae0a8fb51c88da84425daeb0e3ece74ec027f8a961b5cacf1a28b25e70a7ed0ff8b681e37455cf163d614b51595e3981d8e68c8ec8d06e199a5db3880a5847657caffe8b11fef5dd7086208d7c109e24f21092ac4d0deb9383efe27f26a6599f6f18e849173215c4580624887ba58f3dd63032e674b653e286c7e21b7d96e9dd32e5d8836ef6458f0f4fb4590d6663833d1fa4a2853a53c9d8a696761664be714c67c1e00fb5056c70ece2a7cfa8a3b2999527ee2f55775b021e3b01e4317cb55d1855e00fbd0caa30c9809e8a6b2551a802c2d0ed7ee67bda6f45d00094d0134186f6526c02ddc99e255feaa34a717982b7c9ff1f779e95d6bccbf76356727f857b8823b822a9c264ea4dc57bcd3015968e1f9eefbf17365bea6bb3df4736d7d7f85cb44dc126a7258dd27c4d2450d2c28f843c96a467cdc6a36b66665c9b3e1daadde9c75af450ec0205b6fbfa03ab88a225f18ab5316cd2264fc92d04e745a8d0ff3a270973fd83e7c3434b61d87397e084869dc21c19929384ef6033f934654733ee100055f6d4f5b3b833c1dd368c657ef988fad8f6bd48f325f2832db10624e3350ff090478b5b41e1c5caf51ba414cc9ac124f490b0703f184c0179c8842fc7e8da049b84fe2da7d1f28e63e6a9969c5496553cd38d884d3d72300266950d8d5a893502f7577fd03085e7a7c091956055c41dada0ff5a4292c316da9111f48d1d14b1af7fdfe554dc18a4fe3dd6ae4fd857f6083aa3ad457350689a24f859949230ade8e6759dc2fc5b3bc76f7d15076fd3fdfceca84c698e37c4602e393a80c2a84717110fcbd0470d362424df8ce5bf72982bd93885bd8b00de02b1b60857428a554973ca70e733a61443a76da17a50ffe1d88e16363633fb3871d12a29d3f8ec5cd8497adde4ee4d99c5c21af1d60cce7e29f044887dce107b2749e67af090e88ed8498cddc67f3680b81fc1a8c12042fb8424276dda68881f6a64349c5dd3dcd6f95ca6d508aacdcb3f4ff8c7064c9f3de7224cd0391568dc5b96dc7219fb4aebe44c2341d15aa3e5c34f8649b00284ecfeebadedf5f6a54458e4385385600ac97a1e8de202023b76c9743639d2bc728c0ca19e0af7390d855a4b462c9e4f8564904904344bcfee75ca4237bb2a82012719b345bb7dd3812b4f18f673676362b1b79b01f8370cd8a93df2e60339a03a36ecedddcbb343ad7fa5a9a067b0add21c6a80b3765b394840e3994fd5a736f1919b955e3634c67aecec2bafca65c82216890e1be8a273585c0b3450be566aad442aaefce6445b3ad8d7e37cf8db9d57b2df05f24a3f69b81426bffc1c7c7b5619ebaa7fdca6e3742dc660e0c0d2f839c6e9180beab115da6082f244b922fb95e8f08be02bb468eeb6ffa4972cb5164cf524cc17f0987ce74612e80c5b6ba2f613e291852667c3ddc1a6c964697ec00325247a36efcfbbb1aa500d08f4ee56950f6a2a9ebd0a4e13b53f5d93fe22bcb10e010adf35ece9b7717bf3e1e27134a4c2482dc14171be0fe0ec5f5fb515b3b7142e713325fc03bb38fbe0ae56c93b710052b6f5548b0a23a34a5fe773104e51e9b6bcd322a7cbe89bad8c57f0301893ea570e3df8f9aba1e265dbf2d467d7e4e", 0x800, 0xfffffffffffffbff}, {0x0, 0x0, 0x7}], 0x0, &(0x7f00000000c0)=ANY=[]) stat(&(0x7f0000000240)='./file0\x00', &(0x7f00000009c0)={0x0, 0x0, 0x0, 0x0, 0x0}) fchown(r8, r9, 0x0) write$USERIO_CMD_SET_PORT_TYPE(r3, &(0x7f0000000380)={0x1, 0x4e}, 0x2) sendmsg$unix(r3, &(0x7f0000000200)={&(0x7f0000000000)=@file={0x0, './file1\x00'}, 0x6e, &(0x7f00000001c0)=[{&(0x7f0000000140)="ca8d483db6f8a349d993a0984d207832c8bf18fcea6a4d7a41a03dc546a5254a3b9f2cd2999fbd7cfc137a644c120c3b1637ec899ec0d421f56c05e9d38a0b3866d49b366e45a76dc8ec920adc19c9da740c05207c2b99315903d24430b81c67c82f459a36d6d8bb1a40d894cbc2be87d598", 0x72}], 0x1, &(0x7f0000000480)=ANY=[@ANYBLOB="100000000000000001000000010000001c000000000000000100000001000000", @ANYRES32=r8, @ANYRES32=r7, @ANYRES32=r7, @ANYBLOB='\x00\f\x00\x00\x00'], 0x30, 0x44410}, 0x20000004) r10 = openat$ppp(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) dup2(r10, r3) 07:08:34 executing program 1: write$FUSE_WRITE(0xffffffffffffffff, &(0x7f0000000000)={0x18, 0x0, 0x0, {0x4}}, 0x18) read$FUSE(0xffffffffffffffff, &(0x7f0000000040)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) r2 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) read$FUSE(r2, &(0x7f0000002080)={0x2020, 0x0, 0x0, 0x0}, 0x2020) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000040c0)={[0x5, 0xffff, 0x3f, 0x8, 0xe, 0x6, 0xff, 0xffff, 0x200, 0xff, 0xeca, 0x8001, 0x9, 0x8, 0x0, 0x3], 0x100000, 0x200}) r5 = open(&(0x7f0000004180)='./file0\x00', 0x58400, 0x41) write$FUSE_BMAP(r2, &(0x7f00000041c0)={0x18, 0x0, r3, {0x7}}, 0x18) ioctl$AUTOFS_DEV_IOCTL_SETPIPEFD(r5, 0xc0189378, &(0x7f0000004200)={{0x1, 0x1, 0x18, r2, {r2}}, './file0\x00'}) write$FUSE_NOTIFY_RETRIEVE(r6, &(0x7f0000004240)={0x30, 0x5, 0x0, {0x0, 0x2, 0x8, 0x6}}, 0x30) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r2, 0xc018937b, &(0x7f0000004300)={{0x1, 0x1, 0x18, r6, {r4, r1}}, './file0\x00'}) mount$9p_fd(0x0, &(0x7f0000004280)='./file0\x00', &(0x7f00000042c0), 0x0, &(0x7f0000004340)={'trans=fd,', {'rfdno', 0x3d, r6}, 0x2c, {'wfdno', 0x3d, r6}, 0x2c, {[{@privport}, {@access_user}, {@access_user}], [{@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}, {@subj_role={'subj_role', 0x3d, '{}'}}, {@fowner_lt={'fowner<', r9}}, {@smackfstransmute={'smackfstransmute', 0x3d, '.'}}, {@fscontext={'fscontext', 0x3d, 'unconfined_u'}}, {@hash}, {@smackfshat={'smackfshat', 0x3d, '&$+'}}, {@smackfshat}]}}) r10 = fcntl$dupfd(r2, 0x406, r8) ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f0000004480)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMK(r10, &(0x7f0000004540)={&(0x7f0000004440)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000004500)={&(0x7f00000044c0)={0x28, 0x0, 0x0, 0x70bd2c, 0x25dfdbfc, {{}, {@val={0x8, 0x3, r11}, @val={0xc, 0x99, {0x9, 0x5f}}}}}, 0x28}, 0x1, 0x0, 0x0, 0x40}, 0x24000010) accept(r2, &(0x7f0000004580)=@isdn, &(0x7f0000004600)=0x80) r12 = dup2(r10, r10) sendmsg$NL80211_CMD_SET_BEACON(r12, &(0x7f0000004ac0)={&(0x7f0000004640)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f0000004a80)={&(0x7f0000004680)={0x3f8, 0x0, 0x400, 0x70bd2b, 0x25dfdbfd, {{}, {@val={0x8, 0x3, r11}, @void}}, [@NL80211_ATTR_IE={0x8c, 0x2a, [@ssid={0x0, 0xf, @random="b8e8df29ed7dd7a6ab872e67388d3f"}, @fast_bss_trans={0x37, 0x70, {0x2, 0x1, "dbe67eac0fb7bf1dbd43755ef3d0e0f9", "f0a8e600b01d0a9c4972c7a9272b6484035c6070b5ab17349440f7aecab9e34b", "e9e065439c4f7a0a970f1c125ac5e707ee1d69ef99184c0d7ec2292164c24780", [{0x3, 0x1c, "b6e8227d8285873efa22f665dc6c980b0e469f59ad68fc701de5a8f1"}]}}, @channel_switch={0x25, 0x3, {0x1, 0x24, 0xa9}}]}, @NL80211_ATTR_IE_PROBE_RESP={0x18e, 0x7f, [@prep={0x83, 0x25, @ext={{}, 0x4, 0xb7, @device_b, 0x1, @broadcast, 0x7261, 0x6, @device_a, 0x4}}, @challenge={0x10, 0x1, 0xde}, @rann={0x7e, 0x15, {{0x1, 0x3}, 0xbb, 0x20, @device_a, 0x40, 0x7, 0x7}}, @random={0x6, 0x8a, "b236ea2ba1be5d06b1ab725b0b98197622aad10383fb69c16d8b97212d8ca9e4d503688718f912806e3d5d9c074218533fc3e398f936d885a914939eb383c11889b3c8d613f00d32033aecd781157dd318261af8046de11733f7fedbc18ec909a79205c7a17be1a667130e3fd9f9d6b3e3a81faf4097e250cc1040ab62b7f995b33aa325be46cf305ea7"}, @peer_mgmt={0x75, 0x8, {0x1, 0x3ff, @val=0x1f, @val=0x3b, @void}}, @random={0x6, 0xb1, "957af0581c8e7cce118c5b0b384ce60784370204a756058e6cec975ff6b4cf19fb62c4f692ec89d3c4ae038789d52ed009d7e4d47a1c67a7c7d3ab5af6c26de1b0eea67331a778b5797ddeae81575b133b5b9382b0d8713ea7e9e677147b85736bd80b22f7fa92865290ce230919739fb2a175af254f9ca2556e3206b6ea5b7516d29ce966f96436afdc0f67cd49bb077f2daef2cdf54d34a01d250e4d5c3333ae49b0e1e22f14f2d5b6aa02fbabbfd1a2"}]}, @NL80211_ATTR_PROBE_RESP={0x5c, 0x91, "eeeb4c09529883788474b032a1c42556849dccc9b6accadcc0a0e97de200e91bdcf4d47fa2bdde9e27291aa63fe60abe654b22d5b5cb4945df8fa9b0948db777f131d22c4a971203a323764d2abaf2c568145520adf52b02"}, @NL80211_ATTR_IE_PROBE_RESP={0x8d, 0x7f, [@supported_rates={0x1, 0x4, [{0xb}, {0x48, 0x1}, {0x12}, {0x36, 0x1}]}, @ht={0x2d, 0x1a, {0x1, 0x2, 0x0, 0x0, {0x400, 0x1ffa, 0x0, 0x115, 0x0, 0x1, 0x0, 0x2}, 0x8, 0x797, 0x3}}, @dsss={0x3, 0x1, 0xac}, @ibss={0x6, 0x2, 0x3}, @random_vendor={0xdd, 0x1a, "734db8648fa2dc6db555a2733546a84947fc131fd9542fc08346"}, @mesh_config={0x71, 0x7, {0x1, 0x1, 0x0, 0x1, 0xffffffffffffffff, 0x20, 0x20}}, @preq={0x82, 0x36, @ext={{0x0, 0x0, 0x1}, 0x1f, 0x9, 0x7f, @device_b, 0x80000000, @device_b, 0x3, 0xfffffffb, 0x2, [{{0x1}, @device_a, 0x3}, {{0x0, 0x0, 0x1}, @device_b, 0x8}]}}, @sec_chan_ofs={0x3e, 0x1, 0x1}]}, @NL80211_ATTR_BEACON_TAIL={0xd1, 0xf, [@tim={0x5, 0xcb, {0xdc, 0x6, 0xff, "0939393e35d40063df25661fb0886df3d6c1bbdb882f918569f8c5e6671913461a626e51a690c5bd95cb64e5beffd37d223240cc63fa5f815781d7fa814f32dac9d6412a1f065029c635423e2334c9c991fe06b8f780bb86a4fd055068aa45f6b138df8f9fb12514f400cc91d93a98452f64ca4db67daf9d44efb7804a1b3acb17dd2d67ed2a0514d19e6d2e8369c482109085e84664732b33a6f36e03493c8934fe63f9197cbe6da897ea7dc4a0aead8869b6f3e01843e4797e868a4d745655224d5552a6e2d994"}}]}]}, 0x3f8}, 0x1, 0x0, 0x0, 0x4000080}, 0x850) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000004b00)={{0x1, 0x1, 0x18, 0xffffffffffffffff, @in_args={0x4}}, './file1\x00'}) write$FUSE_GETXATTR(r13, &(0x7f0000004b40)={0x18, 0x0, r0, {0x7}}, 0x18) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r7, 0xc018937d, &(0x7f0000004b80)={{0x1, 0x1, 0x18, r2, {0x2}}, './file0\x00'}) [ 2043.345696][T11923] gspca_nw80x: reg_r err -32 [ 2043.350378][T11923] nw80x: probe of 1-1:0.0 failed with error -32 [ 2043.485634][ T9586] usb 5-1: new high-speed USB device number 50 using dummy_hcd [ 2043.775526][ T9586] usb 5-1: Using ep0 maxpacket: 16 [ 2043.854007][T18848] UDC core: couldn't find an available UDC or it's busy: -16 [ 2043.886490][T18848] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2043.946964][ T9586] usb 5-1: unable to get BOS descriptor or descriptor too short [ 2044.025618][ T9586] usb 5-1: unable to read config index 0 descriptor/start: -71 [ 2044.058075][ T9586] usb 5-1: can't read configurations, error -71 07:08:35 executing program 1: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(0xffffffffffffffff, 0xae60) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) syz_kvm_setup_cpu$x86(r2, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000240)=[@textreal={0x8, &(0x7f0000000100)="b800008ed0af0f00984c00640f44b55213650f01d1f30f090f20c06635020000000f22c00f0095fdff66b9e009000066b80000000066ba010000000f300fc7b20080", 0x42}], 0x1, 0x51, &(0x7f0000000280), 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000080)="c4c235aa1066ba2100b000ee440f07b9800000c00f3235000400d400910091b8010000000f01d9400f017100b805000000ba008000000f30420f38c9eef4c48181c6080066bad104b0e3ee", 0x4b}], 0x1, 0x0, 0x0, 0x0) r4 = getpgid(0x0) sched_setscheduler(r4, 0x0, &(0x7f0000000000)) ioctl$KVM_RUN(r3, 0xae80, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000000780)={0x2020}, 0x2020) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000180)) openat$ashmem(0xffffffffffffff9c, &(0x7f0000002800), 0x0, 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) pipe(0x0) 07:08:35 executing program 4: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x5, &(0x7f0000000200)=[{&(0x7f00000036c0), 0x0, 0x2000000000400}, {0x0, 0x41}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000003000)=ANY=[]) syz_usb_connect$uac1(0x0, 0x8a, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000000000206b1d01014000010203010902780003010000000904000000010100000a2401000000020102072407040000000924030000000000000924060000010000000904010000010200000904010101010200000905010940000000000725010000000009040200000102000009040201010102000009925b4e787ee90582090000"], 0x0) syz_usb_connect$printer(0x0, 0x36, &(0x7f00000000c0)={{0x12, 0x1, 0x201, 0x0, 0x0, 0x0, 0x10, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x7f, 0x180, 0x9, [{{0x9, 0x4, 0x0, 0x9, 0x1, 0x7, 0x1, 0x3, 0x4, "", {{{0x9, 0x5, 0x1, 0x2, 0x400, 0xd0, 0x2a, 0x2}}, [{{0x9, 0x5, 0x82, 0x2, 0x8, 0x0, 0x4, 0x9}}]}}}]}}]}}, &(0x7f0000000400)={0xa, &(0x7f0000000140)={0xa, 0x6, 0x0, 0x4, 0x1, 0x5, 0xaf, 0x7}, 0x130, &(0x7f00000007c0)={0x5, 0xf, 0x130, 0x6, [@ss_container_id={0x14, 0x10, 0x4, 0x9, "aa4e2490e132018a5f0907387361663e"}, @ext_cap={0x7, 0x10, 0x2, 0x8, 0xd, 0x3, 0x4}, @ptm_cap={0x3}, @ss_cap={0xa, 0x10, 0x3, 0x0, 0x4, 0xff, 0xfd, 0x5}, @generic={0xe3, 0x10, 0xb, "036d6c281736d219fe7db51028aad614fbfa175b4e8558a797747316cf8380c381572fa430fcbe54ca25d9c6b78564b1070f6e5e1e451f0931affda2b573f2fc5bebcb1cbabb0881d0a6a6c4e1669d9ae811134058f190031d4ef4da7e1ba64c46119e66839304bf45b6ffc1043b9e30a2f2eff8fa5295a0919f4fa35bc11912ee0ad94e588682d6850b90e093126b410cfb0e45b05f1c4a74138e48d85f659d8eea9001e7b34a1f6f8dfb951c1209c23ca26e2955188f860aa02a9a32478aaf60356f1910af250f253d5d2d82a907224c9b0bee92217a188c9df5533819385e"}, @ssp_cap={0x20, 0x10, 0xa, 0x1, 0x5, 0x0, 0xf0f, 0x800, [0xc0cf, 0xff000f, 0x1fe0000, 0xf, 0x3f00]}]}, 0x1, [{0xd, &(0x7f0000000180)=@string={0xd, 0x3, "2ce8ae275f40bbb13ea0a9"}}]}) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x20, 0x1, 0x80, 0xc0, 0x0, 0xac17, 0x21043, 0x8, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x40, 0x2, @perf_bp={&(0x7f00000001c0), 0xf}, 0xc200, 0x400, 0xfffffff7, 0x1, 0x0, 0x2, 0x9, 0x0, 0x6, 0x0, 0x6ecb}, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x12) syz_usb_connect$printer(0x6, 0x2d, &(0x7f0000000600)=ANY=[@ANYBLOB="12010002008000ff2505a8a44000010203010902fa000101099005090400000107010306090501021000050c8d96acaf90544405c030211c19718406e8ce76bf26c024c9f5a31ac45b45ac0b87bfb2c68d3a"], &(0x7f00000005c0)={0xa, &(0x7f0000000440)={0xa, 0x6, 0x250, 0x5, 0x5, 0x81, 0x10, 0x5}, 0xff, &(0x7f0000000680)=ANY=[@ANYBLOB="050fff0001fa1001c83466321a7efdde5852b75969254c8c6197e9f3b270499bd14851bde6b3fd047790942137a21ebde2bafde2f2c584550e1ce0b28a44a56fecbfd6fe7c2d907f1c055b7cb7bfa4e17da37473cf6ad0a21fa0f9fdae12e5d8949eb588c38cbb56dc547c3b8598322398307dd644942f67bccc363ddcc5a9c87dca9b99c3bacaab7ed8299c90a8c14a15c1b919318e08000dbb816441561c4301f77c4c581b500f552d9d47e96ef9c8affde35486e8b5013865d13e70a18fb53e12956cbcc307ce7a5da881cede6132999c2ab3596c7885048825fb0f0bf8e42c24b837b87c1779ad2d5ee99c4857db15028f02206a78f9c22970fafb9a28a051c0a5cf3b8a97d644f96f19c249dcbd27d564bb8a5cabb2c803"], 0x1, [{0x4, &(0x7f0000000580)=@lang_id={0x4, 0x3, 0x3c0a}}]}) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0x8108551b, 0x0) r0 = fsmount(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f0000000380)={0x3, 0x80, 0x8, 0x0, 0x40, 0xff, 0x0, 0x7fffffff, 0x61380, 0x3, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x8, 0x0, @perf_bp={&(0x7f0000000340), 0x4}, 0x4020, 0x1, 0x3, 0x0, 0x10001, 0x9, 0xee12, 0x0, 0x80000000, 0x0, 0x1e3}, 0xffffffffffffffff, 0x0, r0, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x100000, 0x8, &(0x7f0000000200)=[{&(0x7f0000000040)="200000000002000019000000500100000f000000000000000100000005000000000004000040000020000000e1f4655fe1f4655f0100ffff53ef010001000000e0f4655f000000000000000001000000000000000b0000008000000018000000c20500002b02000000000000000000", 0x6f, 0x400}, {&(0x7f0000010100)="000000000000000000000000a4d0099b099d46eeb5a6d2ef5e9d5ded01004000", 0x20, 0x4e0}, {&(0x7f0000010200)="0100000000000500400000", 0xb, 0x560}, {&(0x7f0000010300)="020000000300000004000000", 0xc, 0x800}, {&(0x7f0000011500)="ed41000000080000e0f4655fe1f4655fe1f4655f00000000000004004000", 0x1e, 0x2080}, {0x0}, {&(0x7f0000012400)="504d4d00504d4dffe1", 0x9, 0x20000}, {0x0}], 0x0, &(0x7f0000012f00)) [ 2044.196832][T11923] Bluetooth: hci5: command 0x0406 tx timeout [ 2044.479169][T18992] loop4: detected capacity change from 0 to 8196 07:08:36 executing program 0: ioctl$sock_FIOGETOWN(0xffffffffffffffff, 0x8903, &(0x7f0000000040)=0x0) perf_event_open(&(0x7f0000000380)={0x2, 0x80, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f}, r0, 0x1, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000000400)='./file1\x00', 0x0) rename(&(0x7f00000000c0)='./file1\x00', &(0x7f0000000100)='./bus\x00') mkdir(&(0x7f0000000000)='./file1\x00', 0x40) [ 2044.977736][ T1730] usb 1-1: USB disconnect, device number 64 [ 2045.026586][ T9586] usb 5-1: new high-speed USB device number 51 using dummy_hcd [ 2045.315794][ T9586] usb 5-1: Using ep0 maxpacket: 32 07:08:36 executing program 0: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000100)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x0, 0x0, @empty}, 0x1c) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000140), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f0000000180)=@ccm_128={{0x303, 0x38}, '\x00', "fdfa9d88223aff8be800", "00fcff80", "fbbff103004b1e7e"}, 0x28) [ 2045.446190][ T9586] usb 5-1: config 1 has an invalid descriptor of length 1, skipping remainder of the config [ 2045.488562][ T9586] usb 5-1: config 1 has 1 interface, different from the descriptor's value: 3 [ 2045.716534][ T9586] usb 5-1: New USB device found, idVendor=1d6b, idProduct=0101, bcdDevice= 0.40 [ 2045.751806][ T9586] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2045.836893][ T9586] usb 5-1: Product: syz [ 2045.864928][ T9586] usb 5-1: Manufacturer: syz [ 2045.894761][ T9586] usb 5-1: SerialNumber: syz 07:08:37 executing program 0: ioctl$EVIOCGSW(0xffffffffffffffff, 0x8040451b, 0x0) mkdir(0x0, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0xc) mount$bpf(0x20000000, &(0x7f0000000100)='./file0\x00', 0x0, 0x200b001, 0x0) pivot_root(&(0x7f0000000200)='./file0\x00', &(0x7f0000000240)='./file0\x00') perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$kcm(0x29, 0x5, 0x0) r2 = pidfd_getfd(0xffffffffffffffff, r1, 0x0) ioctl$FIBMAP(r2, 0x1, &(0x7f00000000c0)=0x8) getpeername$packet(0xffffffffffffffff, &(0x7f00000005c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @link_local}, &(0x7f0000000600)=0x14) sendmsg$nl_route_sched(r2, &(0x7f00000006c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f0000000680)={&(0x7f0000000640)=@deltfilter={0x2c, 0x2d, 0x200, 0x70bd2d, 0x25dfdbfe, {0x0, 0x0, 0x0, r3, {0x4, 0x10}, {0xfff3, 0xa}, {0x2, 0xfff2}}, [@TCA_RATE={0x6, 0x5, {0xf7, 0x2}}]}, 0x2c}, 0x1, 0x0, 0x0, 0xb3598e8a7a790212}, 0x24000004) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000180)=ANY=[@ANYBLOB="3400000011000100000002000000000000000000", @ANYRES32=0x0, @ANYBLOB="0000004006800000140003006873723000"/28], 0x34}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(0xffffffffffffffff, 0x89f2, &(0x7f00000001c0)={'ip6_vti0\x00', &(0x7f0000000280)={'syztnl2\x00', r3, 0x2d, 0x4, 0x20, 0xd72, 0x1c, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', @mcast2, 0x7800, 0x1, 0x9, 0x8}}) [ 2046.076821][T18966] overlayfs: failed to resolve '/file1': -2 [ 2046.245129][T18992] UDC core: couldn't find an available UDC or it's busy: -16 [ 2046.253365][T18992] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2046.293728][T19015] device hsr_slave_0 left promiscuous mode [ 2046.339158][T19015] device hsr_slave_1 left promiscuous mode [ 2046.500048][T18992] loop4: detected capacity change from 0 to 2048 [ 2046.849447][T18984] KVM: KVM_SET_CPUID{,2} after KVM_RUN may cause guest instability [ 2046.860576][T18984] KVM: KVM_SET_CPUID{,2} will fail after KVM_RUN starting with Linux 5.16 [ 2046.909433][T18992] EXT4-fs (loop4): mounted filesystem without journal. Opts: ,errors=continue. Quota mode: none. [ 2047.031589][T18992] ext4 filesystem being mounted at /root/syzkaller-testdir388207037/syzkaller.lzqyAi/12/file0 supports timestamps until 2038 (0x7fffffff) 07:08:38 executing program 0: perf_event_open(&(0x7f00000012c0)={0x1, 0xffffffffffffff33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sched_setscheduler(0x0, 0x0, &(0x7f0000000380)) fcntl$getown(0xffffffffffffffff, 0x9) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x0, 0x2c, 0x7df3, 0x400, 0x0, 0x5, 0x4, 0x200, 0x401}, 0x0) r0 = socket$inet6_mptcp(0xa, 0x1, 0x106) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, 0x0) ioctl$AUTOFS_DEV_IOCTL_VERSION(0xffffffffffffffff, 0xc0189371, &(0x7f0000000200)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000300)={r1, &(0x7f0000000240)="665b4594932a4bb4854ab3f19755b1eefc39a069811eab9c7f248aca59ff53664d8638d2d55849f482ae6f199cbf339972d58a7896f34d3d6585af9e2a864a5dde509826f8d378e3b59993f875f790b2b80e153e5f66e63322f0b80d462d36729c489543bf0e572adea5811e9f25225ee50a1c089e", &(0x7f00000002c0)=@udp, 0x2}, 0x20) r2 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r2, 0x89e8, 0x0) pipe(&(0x7f0000000340)) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000058a40)) r3 = syz_open_dev$swradio(0x0, 0x0, 0x2) preadv(r3, 0x0, 0x0, 0x0, 0x0) waitid(0x0, 0x0, 0x0, 0x0, &(0x7f0000000080)) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x23}, 0xd}, 0x1c) syz_open_procfs(0x0, &(0x7f0000000040)='net/netstat\x00') r4 = syz_open_dev$cec(&(0x7f0000000000), 0x0, 0x2) ioctl$VIDIOC_SUBSCRIBE_EVENT(r4, 0x4020565a, &(0x7f00000001c0)={0x8000000, 0x8, 0x2}) 07:08:39 executing program 4: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x5, &(0x7f0000000200)=[{&(0x7f00000036c0), 0x0, 0x2000000000400}, {0x0, 0x41}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000003000)=ANY=[]) syz_usb_connect$uac1(0x0, 0x8a, &(0x7f0000000000)=ANY=[@ANYBLOB="12010000000000206b1d01014000010203010902780003010000000904000000010100000a2401000000020102072407040000000924030000000000000924060000010000000904010000010200000904010101010200000905010940000000000725010000000009040200000102000009040201010102000009925b4e787ee90582090000"], 0x0) syz_usb_connect$printer(0x0, 0x36, &(0x7f00000000c0)={{0x12, 0x1, 0x201, 0x0, 0x0, 0x0, 0x10, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x7f, 0x180, 0x9, [{{0x9, 0x4, 0x0, 0x9, 0x1, 0x7, 0x1, 0x3, 0x4, "", {{{0x9, 0x5, 0x1, 0x2, 0x400, 0xd0, 0x2a, 0x2}}, [{{0x9, 0x5, 0x82, 0x2, 0x8, 0x0, 0x4, 0x9}}]}}}]}}]}}, &(0x7f0000000400)={0xa, &(0x7f0000000140)={0xa, 0x6, 0x0, 0x4, 0x1, 0x5, 0xaf, 0x7}, 0x130, &(0x7f00000007c0)={0x5, 0xf, 0x130, 0x6, [@ss_container_id={0x14, 0x10, 0x4, 0x9, "aa4e2490e132018a5f0907387361663e"}, @ext_cap={0x7, 0x10, 0x2, 0x8, 0xd, 0x3, 0x4}, @ptm_cap={0x3}, @ss_cap={0xa, 0x10, 0x3, 0x0, 0x4, 0xff, 0xfd, 0x5}, @generic={0xe3, 0x10, 0xb, "036d6c281736d219fe7db51028aad614fbfa175b4e8558a797747316cf8380c381572fa430fcbe54ca25d9c6b78564b1070f6e5e1e451f0931affda2b573f2fc5bebcb1cbabb0881d0a6a6c4e1669d9ae811134058f190031d4ef4da7e1ba64c46119e66839304bf45b6ffc1043b9e30a2f2eff8fa5295a0919f4fa35bc11912ee0ad94e588682d6850b90e093126b410cfb0e45b05f1c4a74138e48d85f659d8eea9001e7b34a1f6f8dfb951c1209c23ca26e2955188f860aa02a9a32478aaf60356f1910af250f253d5d2d82a907224c9b0bee92217a188c9df5533819385e"}, @ssp_cap={0x20, 0x10, 0xa, 0x1, 0x5, 0x0, 0xf0f, 0x800, [0xc0cf, 0xff000f, 0x1fe0000, 0xf, 0x3f00]}]}, 0x1, [{0xd, &(0x7f0000000180)=@string={0xd, 0x3, "2ce8ae275f40bbb13ea0a9"}}]}) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x20, 0x1, 0x80, 0xc0, 0x0, 0xac17, 0x21043, 0x8, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x40, 0x2, @perf_bp={&(0x7f00000001c0), 0xf}, 0xc200, 0x400, 0xfffffff7, 0x1, 0x0, 0x2, 0x9, 0x0, 0x6, 0x0, 0x6ecb}, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x12) syz_usb_connect$printer(0x6, 0x2d, &(0x7f0000000600)=ANY=[@ANYBLOB="12010002008000ff2505a8a44000010203010902fa000101099005090400000107010306090501021000050c8d96acaf90544405c030211c19718406e8ce76bf26c024c9f5a31ac45b45ac0b87bfb2c68d3a"], &(0x7f00000005c0)={0xa, &(0x7f0000000440)={0xa, 0x6, 0x250, 0x5, 0x5, 0x81, 0x10, 0x5}, 0xff, &(0x7f0000000680)=ANY=[@ANYBLOB="050fff0001fa1001c83466321a7efdde5852b75969254c8c6197e9f3b270499bd14851bde6b3fd047790942137a21ebde2bafde2f2c584550e1ce0b28a44a56fecbfd6fe7c2d907f1c055b7cb7bfa4e17da37473cf6ad0a21fa0f9fdae12e5d8949eb588c38cbb56dc547c3b8598322398307dd644942f67bccc363ddcc5a9c87dca9b99c3bacaab7ed8299c90a8c14a15c1b919318e08000dbb816441561c4301f77c4c581b500f552d9d47e96ef9c8affde35486e8b5013865d13e70a18fb53e12956cbcc307ce7a5da881cede6132999c2ab3596c7885048825fb0f0bf8e42c24b837b87c1779ad2d5ee99c4857db15028f02206a78f9c22970fafb9a28a051c0a5cf3b8a97d644f96f19c249dcbd27d564bb8a5cabb2c803"], 0x1, [{0x4, &(0x7f0000000580)=@lang_id={0x4, 0x3, 0x3c0a}}]}) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0x8108551b, 0x0) r0 = fsmount(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f0000000380)={0x3, 0x80, 0x8, 0x0, 0x40, 0xff, 0x0, 0x7fffffff, 0x61380, 0x3, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x8, 0x0, @perf_bp={&(0x7f0000000340), 0x4}, 0x4020, 0x1, 0x3, 0x0, 0x10001, 0x9, 0xee12, 0x0, 0x80000000, 0x0, 0x1e3}, 0xffffffffffffffff, 0x0, r0, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x100000, 0x8, &(0x7f0000000200)=[{&(0x7f0000000040)="200000000002000019000000500100000f000000000000000100000005000000000004000040000020000000e1f4655fe1f4655f0100ffff53ef010001000000e0f4655f000000000000000001000000000000000b0000008000000018000000c20500002b02000000000000000000", 0x6f, 0x400}, {&(0x7f0000010100)="000000000000000000000000a4d0099b099d46eeb5a6d2ef5e9d5ded01004000", 0x20, 0x4e0}, {&(0x7f0000010200)="0100000000000500400000", 0xb, 0x560}, {&(0x7f0000010300)="020000000300000004000000", 0xc, 0x800}, {&(0x7f0000011500)="ed41000000080000e0f4655fe1f4655fe1f4655f00000000000004004000", 0x1e, 0x2080}, {0x0}, {&(0x7f0000012400)="504d4d00504d4dffe1", 0x9, 0x20000}, {0x0}], 0x0, &(0x7f0000012f00)) [ 2048.185408][ T9586] usb 5-1: 0:2 : does not exist [ 2048.218384][ T9586] usb 5-1: USB disconnect, device number 51 [ 2048.478327][T19060] loop4: detected capacity change from 0 to 8196 [ 2048.894859][ T20] usb 5-1: new high-speed USB device number 52 using dummy_hcd [ 2049.144793][ T20] usb 5-1: Using ep0 maxpacket: 32 [ 2049.265245][ T20] usb 5-1: config 1 has an invalid descriptor of length 1, skipping remainder of the config [ 2049.286018][ T20] usb 5-1: config 1 has 1 interface, different from the descriptor's value: 3 [ 2049.456605][ T20] usb 5-1: New USB device found, idVendor=1d6b, idProduct=0101, bcdDevice= 0.40 [ 2049.476351][ T20] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2049.496782][ T20] usb 5-1: Product: syz [ 2049.501155][ T20] usb 5-1: Manufacturer: syz [ 2049.509865][ T20] usb 5-1: SerialNumber: syz [ 2049.862076][T19060] UDC core: couldn't find an available UDC or it's busy: -16 [ 2049.894933][T19060] misc raw-gadget: fail, usb_gadget_probe_driver returned -16 [ 2049.980720][T19060] loop4: detected capacity change from 0 to 2048 07:08:41 executing program 3: perf_event_open(&(0x7f0000000100)={0x2, 0x80, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000040), 0x8}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7}, 0x0, 0x0, 0xffffffffffffffff, 0x0) socketpair$tipc(0x1e, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) perf_event_open(&(0x7f0000001340)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r2 = dup3(r1, r0, 0x0) perf_event_open(&(0x7f0000000180)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r3 = openat$incfs(r2, &(0x7f0000000080)='.log\x00', 0x800, 0x118) ioctl$PERF_EVENT_IOC_SET_FILTER(r3, 0x40082406, &(0x7f0000000200)='^#\x00') r4 = syz_io_uring_setup(0x3ede, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000004000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) syz_io_uring_submit(r5, r6, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f00000000c0)=""/18, 0x12}, 0x0) io_uring_enter(r4, 0x2ff, 0x0, 0x0, 0x0, 0x0) 07:08:41 executing program 2: r0 = perf_event_open(&(0x7f00000004c0)={0x2, 0x80, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) sendmsg$NL80211_CMD_UNEXPECTED_FRAME(0xffffffffffffffff, &(0x7f0000002fc0)={&(0x7f00000018c0)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000001c40)={&(0x7f0000001900)={0x14, 0x0, 0x100, 0x70bd2b, 0x25dfdbfd, {{}, {@void, @void}}, ["", "", "", ""]}, 0x14}, 0x1, 0x0, 0x0, 0x40}, 0x810) r2 = socket$netlink(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r5 = dup(r4) getsockname$packet(r5, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @random}, &(0x7f0000000140)=0x14) ioctl$BTRFS_IOC_DEV_INFO(r3, 0xd000941e, &(0x7f0000000540)={0x0, "61778fe510e9c74043013ec023ff131f"}) sendmsg$nl_route(r2, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=ANY=[@ANYBLOB="ec0000001000010800000000fffffff500000000", @ANYRES32=r6, @ANYBLOB="6302000000000000cc001a8018000a80140007"], 0xec}}, 0x0) stat(&(0x7f0000000240)='./file0\x00', &(0x7f00000009c0)={0x0, 0x0, 0x0, 0x0, 0x0}) fchown(0xffffffffffffffff, r7, 0x0) r8 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000000880)={0x0, 0x0, 0x0}, &(0x7f00000016c0)=0xfffffffffffffd7a) syz_mount_image$tmpfs(&(0x7f00000003c0), &(0x7f0000000400)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000001680)=ANY=[@ANYBLOB='gid=', @ANYRESHEX=r9, @ANYBLOB="2c0084c3328350269194a9a21a7aead3b38c4e5d199b111e4f181e"]) r10 = syz_mount_image$ext4(&(0x7f0000003040)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x9, &(0x7f0000000780)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef010001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000003080)="03", 0x1, 0x643}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000daf4655fdbf4655fdbf4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000daf4655fdaf4655fdaf4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000013900)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x30000}, {&(0x7f0000000b40)="81accfebe446cfd424ae1195501ff32c3a70a64969327e4a65bc017a2d4a41b87b642e893d835f74fcfbfd7000da2bfe8d3e860df2f2303ea7e8ed3ba4b7bf849d939aa3ad50e3187486056637c221d3ccb90eb1204ba3a90880c0dbdb541f51f3050c3583f3df5907f0f065488aedd9544feea0799392888a8af6b59927cbd417f7b239bda616c95fd5e112e7084170fff2a22fe86fc4b1d7d9671a6deaa5ca7aa6097bc2df4d0e407af0eb7d7927b0e5c64ab151c59cdd404abf189a61aeaff8e93fece449a94862efb1cefc76ae2698fb0a47fef9455cf6f3ca51ebf25267d92938740d36a3072823e2cdeb4a3e6de63fbdc5514b058020188882480b57a70c10d22a73354b6d17bcac45c9ce378fa3ba84eb0e4d753dd567e1902a66c8f9685daf10fe6b9fb2a5457b5f98084ba832e4002a416b1fa8d3710c4b6ac996208b76a7b635d7d25da9341d99541551dc525348dfabac1190e821f1136533f5888dde0519dd4f243c8bf04af3ac31fc4898d7e282dfc210c8b5b09eadebbb570c269349f187ad079397ffaebf51b615051f5581d50ba4eefe3eff933007be439faf79f298f78c11189b99fcd95de613d1a929b823495bad0a57a08aa3977339c265593bad629bceb9275cb3f19658f7c5a0261b8ca2d00f34c115b73b55ceeb73b6cd86c5b38af562f259a64cb1de01de6fc44bda09006ae380438a6b16e51154cffbe19625f5ed3c79ea5f246ea53970e3922e5740389f2467adbafbde1e6b47d3110f19405662bc037d6238dd0050f2a928e5bd7a80e152e6349e0992834cba46f60ec6673a9b9feb3b8e5b286cdaaa330020ea0760a2b05033d049bc1e75d388223e2d267b80363efab6413358602ff933276f4b5c9989f88c6a773eeee977acc6601f053e360cc3b3219f8816bae54aada03ce3b7ecae7b843a5377103ab398b9f92e26efbd62844465cbf329911058bd2a13e39a3619985b74d82e7c3806d6b65e3b1729b4b4fa4806d22d854d8d1254f9b440f42359441d114d18622c0fbd5360d932b89a6e0aa3279f44973feb6558fd6e34783bcd3b5a74133657a97b8479400eba570faa5d712f08e53d95f71a1aac335bc2d32d873802fa861c553159237e13a0e9810113197cb6728d450343de580e1385b358afcdcf4e2b30672a1ce29df3f31d880976c8028a53d1f032fa03bc60116dbbbcb773bdd6668013e6bb062b931f52ceb96dfc799a17f4ae188d0c0d4d7a9bb8559e208ae0a8fb51c88da84425daeb0e3ece74ec027f8a961b5cacf1a28b25e70a7ed0ff8b681e37455cf163d614b51595e3981d8e68c8ec8d06e199a5db3880a5847657caffe8b11fef5dd7086208d7c109e24f21092ac4d0deb9383efe27f26a6599f6f18e849173215c4580624887ba58f3dd63032e674b653e286c7e21b7d96e9dd32e5d8836ef6458f0f4fb4590d6663833d1fa4a2853a53c9d8a696761664be714c67c1e00fb5056c70ece2a7cfa8a3b2999527ee2f55775b021e3b01e4317cb55d1855e00fbd0caa30c9809e8a6b2551a802c2d0ed7ee67bda6f45d00094d0134186f6526c02ddc99e255feaa34a717982b7c9ff1f779e95d6bccbf76356727f857b8823b822a9c264ea4dc57bcd3015968e1f9eefbf17365bea6bb3df4736d7d7f85cb44dc126a7258dd27c4d2450d2c28f843c96a467cdc6a36b66665c9b3e1daadde9c75af450ec0205b6fbfa03ab88a225f18ab5316cd2264fc92d04e745a8d0ff3a270973fd83e7c3434b61d87397e084869dc21c19929384ef6033f934654733ee100055f6d4f5b3b833c1dd368c657ef988fad8f6bd48f325f2832db10624e3350ff090478b5b41e1c5caf51ba414cc9ac124f490b0703f184c0179c8842fc7e8da049b84fe2da7d1f28e63e6a9969c5496553cd38d884d3d72300266950d8d5a893502f7577fd03085e7a7c091956055c41dada0ff5a4292c316da9111f48d1d14b1af7fdfe554dc18a4fe3dd6ae4fd857f6083aa3ad457350689a24f859949230ade8e6759dc2fc5b3bc76f7d15076fd3fdfceca84c698e37c4602e393a80c2a84717110fcbd0470d362424df8ce5bf72982bd93885bd8b00de02b1b60857428a554973ca70e733a61443a76da17a50ffe1d88e16363633fb3871d12a29d3f8ec5cd8497adde4ee4d99c5c21af1d60cce7e29f044887dce107b2749e67af090e88ed8498cddc67f3680b81fc1a8c12042fb8424276dda68881f6a64349c5dd3dcd6f95ca6d508aacdcb3f4ff8c7064c9f3de7224cd0391568dc5b96dc7219fb4aebe44c2341d15aa3e5c34f8649b00284ecfeebadedf5f6a54458e4385385600ac97a1e8de202023b76c9743639d2bc728c0ca19e0af7390d855a4b462c9e4f8564904904344bcfee75ca4237bb2a82012719b345bb7dd3812b4f18f673676362b1b79b01f8370cd8a93df2e60339a03a36ecedddcbb343ad7fa5a9a067b0add21c6a80b3765b394840e3994fd5a736f1919b955e3634c67aecec2bafca65c82216890e1be8a273585c0b3450be566aad442aaefce6445b3ad8d7e37cf8db9d57b2df05f24a3f69b81426bffc1c7c7b5619ebaa7fdca6e3742dc660e0c0d2f839c6e9180beab115da6082f244b922fb95e8f08be02bb468eeb6ffa4972cb5164cf524cc17f0987ce74612e80c5b6ba2f613e291852667c3ddc1a6c964697ec00325247a36efcfbbb1aa500d08f4ee56950f6a2a9ebd0a4e13b53f5d93fe22bcb10e010adf35ece9b7717bf3e1e27134a4c2482dc14171be0fe0ec5f5fb515b3b7142e713325fc03bb38fbe0ae56c93b710052b6f5548b0a23a34a5fe773104e51e9b6bcd322a7cbe89bad8c57f0301893ea570e3df8f9aba1e265dbf2d467d7e4e", 0xfffffeef, 0xfffffffffffffbff}, {0x0, 0x0, 0x7}], 0x0, &(0x7f00000000c0)=ANY=[]) stat(&(0x7f0000000240)='./file0\x00', &(0x7f00000009c0)={0x0, 0x0, 0x0, 0x0, 0x0}) fchown(r10, r11, 0x0) r12 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$sock_cred(r12, 0x1, 0x11, &(0x7f0000000880)={0x0, 0x0, 0x0}, &(0x7f00000008c0)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000011f00)=[{{&(0x7f0000000180)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000000400)=[{&(0x7f0000000200)="02d3f66222730c465e371c839a45aec99231a3cc3e709813f0311835607d334ad61bcac97f0fb9b865db3b90592ab75c392d1bf582a38817a4f4d795abdf07ca4a3ff8b02fb743874f1f346d49d58f3f230e52cddb32970f2d0ac67449e4930a8ba8791a532f80299bd538014b77653a23de5238c3a05c39bf701e075e725a517fc8d326d9a8f02770858453eccd4689dbbe7d0bd925820e01943e0fe3ea09f5deb5f4214442601d140668bf3434335e2b67a5cf05fb9637eb4f15689c4a38cca37580cc712fa668070ad16b7f8e6ba068e0afcbfcc35b6eb8104c3c86e32e5887a39b6bbab5d5fb936a5c74014d8e1b83b93deff414db", 0xf7}, {&(0x7f0000003140)="42eb87a56efc1a499c9ef0a2f929859bf36dbded96766066ab806cd6ddb63b62b273e83eb9530286c820098a237d3634f4707542448cddd4bd56c5e59cbb584ca6c35e26e6fe5a5c48b2273d6befafc6d0554d83fb8f4712052313e3229abd2301df3d262c4e718b98bcdfd4dfb8da818f635952d091404d35692c057229adc10825bed4111302d3afe839b9117091cc1a1c54a0d5e17be0036554e513eb2c34fe59698b3ad731933633b70cd30556d0de", 0xb1}, {&(0x7f0000000000)="44f3f4cea109ee99533dbb4e54cefef389d5b6ea12906007ca2923c45a130821", 0x20}, {&(0x7f00000003c0)="7dd9accd0b53884a1442ac243c6893", 0xf}], 0x4, &(0x7f00000030c0)=ANY=[@ANYBLOB="03cd000000000000010000008c5ed7d317ee386f0c7367bdd4891502000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="000000001c0000000000009cd800000001007700", @ANYRES32=r5, @ANYRES32=r3, @ANYRES32=r5, @ANYBLOB='\x00\x00\x00\x00'], 0x60, 0x1}}, {{&(0x7f00000019c0)=@abs={0x1, 0x0, 0x4e23}, 0x6e, &(0x7f0000002f00)=[{&(0x7f0000001a40)="05e951614f75304b411dc8328bc2d0b6646861c5fb5c6b20217390321c976c630a61a1482ff8cb5de6836112664e1b000f1c44288ab72ad09b6de9f5396ec3ef12f3509f45642eacb40822d631bd408a9942cbb885637252ade3a3b354bd32c40ece672f796bc543513325e31993a51a8eb992cb0fc951d944978e16fc0a87cbda0cadaf0dbea693629929964104bd181ccd72fd31383ffa7242a52a99f4aff6f35631af0c332c7bbfc05ee74e35e9965e9695aa0cdbfad58fc0822631a5a3458d45be89ae60d682d287407804fc17f1e64af30bf0e96737", 0xd8}, {&(0x7f0000001b40)="5b6f2645513eacb3675b649edb640fbfe1fe74d665e3844d90dadd40f2454735616150f51e03df642c3125197a7b6a62db9a15a11525acadaf8835738ba78ad0f06ff7b27f7d34beaf48f6ebb3322697a4163f322a870b41df6e5c463de87f4040e64507f6829e809e7a5b486b1dd1d715faab9770b01a180e", 0x79}, {&(0x7f0000001bc0)="308064f05c8f422dd257b35e20595b44ed32b048f79868a85ff80c28d1bab442f7d68867ddf0ec98fbeb6c60b5ec54bd46a7e6a17caf5047421a2fdbaca397935c7e742a8a9e0c2de1dc76e07b1e041c4f774cee7335ed7df90a350255eb75c7e395c9b36f7e672f651947bc5506076a9d43617a2c90e8", 0x77}, {&(0x7f0000001700)="081f48d2165acbdc63cdaefd30c9cffc5ec0388eec736985b6319c4731f37f47e72911c4ebc6a15e0fca176d2b7cf36e43af6e4f9a995cddc221be07adfa", 0x3e}, {&(0x7f0000001c80)="660ab1c305091373de688b4036e6303e63caff5a838a874aaa1da9f6281ba5f859651257fc0c3b996bc527a38cd7c4f54ff1a74e2ec440c104042ea765cb5e1bc65240566cb9cf14f2e9398d612b1702f576338750fbb8839d59027c6784a4a2b94e48967c1f5ff9913ab878597cc57b6561c2e3658f05cbb3c1995557ca8611287b379ace2c0beca8183095ea6c172559b491dbdaea733f5a366bce2110d1434865a14a5b47df97c623a82f66de9156c9331a00433068b18bc872647cc0b0b81916bbadcc032382bd", 0xc9}, {&(0x7f0000001d80)="cc1f57e1ae34d278773618b45355e0b82d0678", 0x13}, {&(0x7f0000001dc0)="06fa0fb2bb48e59c6f45622cbf415a6bb7ee85bb51540220481c38b020ea0370cc37e8ce467321b754b1bad62cfe59268dd7f5abac5800232615ef96bdb311eb0b775e80a27831f511b4e61282dc03dbde6dc623518dd818798ffef075a0595eb1884da3", 0x64}, {&(0x7f0000001e40)="8852be81430c51600e88a2b8bcaeee18d14d65bf8645917d5fd90f21659dcea84907b2049df82f4a431e380573d1df76c6f867c1506878ae8cf867faa5c22f52bf0279c4b410c4faa8bb78811334026f4798cf1045b582422b8ca7d58582e3f0754e7942788801c4ac55feda9e74b1ee7a81c889c2227e897a7c1298abd9c7aa98f0431f3003a88ea27e999db89b1f6e2a7f60ff20dc9e8994d54f28c87d5bcf82308d5b", 0xa4}, {&(0x7f0000001f00)="28318f91991cdf9c255b7dea6466480eb8a6592a2473384a5f38229e07ad780380cc243cb650fdac8c6873a9b7c140ca42bba1b968dd24f48b09436ee705f1889075b9b9758f497174792605332ef9abeec8c7a50f25321ba54543f5836d33250ea9f84ae52a66bd64ab364df1aa0d725b11d28eabcb308c56a311844cefc5a95c7dba5c9aa8b047ec51402fcdaa9551955c9b1b45410d3ca49e6a843f8545b76a55da272c3a66c6338166684522cfd7163bfe2731512826eba8d5f9fb2847abf976b2dca28d091f3df3f1b6fde71b414f0c43d21d3a9806eba7f2db444e3d88e04c5de1a19d768c8944ed480da6422c23c63c4cc5a8a544379ebf69cd164535521a70b0399b08d7913a51519d2c08e23aca7cebd878b3a6bfcd8be3c8f5bc1242d2a79c5a8c25c413d19d9f5fb865911a3c79f03fdad3bbcb377b40c90ea2effe143319ef8092784a6cc2707560afaeed976fc86b31d72e0de3be8831f36f5316a5b74d606079343bed627ca6a4583696dbe0e1192c9d8774b85df0231da96799e9e9c739582330b07cb9001a09a3d79567f418dc3c21e13cfd0627415086992d73ca623e96cfe5551d2e6875b4269f161bde28cac7e00b4e8540e8ac517330e59fddb6e4e03f40f7390e948040bac50bd285d3423f5cb26944a6f653f51665856d454846ee190ecde40fb42badc6ec14d8b3588763cdc94b8bbdb1fd1e6a3dd4de3ebe5ffaab148bd06dd0af83998860dec14535bc7ff84ce0b394ca252ecc8f90c8568a4d29a120419514a5eb74458cbee440473354cf5c0415bdd06260f43398d517a9dbf941e54a987b60a6ad2c84d4635ce16ddc61fb7af91d341035d8df7c2808e44bcdfc8a8acd23ee7a0227fa70cfdbc099abd86d5e8c69291ea7d903ba17973217d82aefe86214b264e7eb223aa251a55d4daf3af3eba0060c92334c4e216aa725ad965a63033a553afc7561f419d98770b1742b9813b1d6a8da35480f66c452308544b784d23193b9c4cf42b72d8882146c95e409bd5b8446ea1742c52f1f7cf2874804a97473a0e847abc221898a8a542bbead37694e3a71653041efffdf92ee29004ab2f402d4cdf68178d306700f882096bd60c968f8f62e93fe13bb64d33fdcbcec3e97b17be5677dd9d262e59022541548131cda62e3735491eaa086ddbec0dd144a4c2363128f83bb70e49bc04f1f31e0a5b46692a6dcff46f4849df7e9456d9b4dcc974a3cf26fa25b68018197f18dc9166e9618ab8c44faa10c2a68e55dbeaa0afeeb228fb0c2157dab567105d2a3626b282c235553e600555392d237d5971cfc636001b6ba7fcabb178c9b7f54bb7a19eb352dc48d131a19417a3a01a5ed628d14b9562edf701029f17ff1f0b8fafd1475f64f3c205db82b7f66e0a5451c119d0ad864281d807e37de0b5c9dd3c3460bd0b5c42781741f8d83c7205a3980dbdca0de0360107b4c2017caa772f978868a9ba05448fddb20558aea504ec918cfcbf54aa9b3bc396684e6fda32ff145019235eba7924bedeb1e1ba8d3aa3121fa57c7488729cf872d454327eaaa870c68d1fb4a41ce506362fa2e44956b64ab014e7563e92c2e3cde083aba5a76e2924e4fe196bc790982ff6ab2f24faa3911ce5f2a13818df11902dfe1545ebcb5b9c2bfc7ce4d8284e35beb9455326a47b7eefae689d2d081d8ba64b23500ae99d112161a9770368e9afbf3c4fcd8697cde46473cdaaf30eb8883eaf40213e6da134ceef73ed7fe07e22b28c02396ca1ba7e36028275a362842985b7d24c42d55800ffd3e11e4f75b69cfa0a2863109342e27494525f0c09ce36938670b38d2ce6519ee8e7687dd95598bb2e56afb2cb7b1fd59bb2e5a18173f934ede0cffbde3ad228d267a9094cafffe95a463ef2b77f5ee7506d5d4ef3e0e0e74a9a6fcfe68df5963a502b9ed5a11762c24d51513abd2be5dd4cf173850c837686a3ecdb601210ccbb76e5a18bf2d50996c0ef93733ced0e6005d7c24f6e254624f4315a3bf8124ea3a8df7f4e18204a265bf131e99c9030fe32be1dd063f543f8654a4519c275ca2617930aecfc7cc3f02a91e451c341edead65d463a531f664f44593c9f646f4b4de55853c74e62990145de871a4841d4ad919cd87c01d60d67f3129696e7d130b8c4b7cae1d2898eced4f5c9ac4727d735e3fc79f762625e62d3e0585c5ae47127e73e97ed3b7fcabb3a10cdec031f32ea8e4a5664ea6827c32d65ab326b4c5734f0a6a7a75cf6b12b4bfb245d9f54b2c658ba2ae144837dda00001c3eebe00be2bcafd55635e9b923cca00367f43bbf942a863ca69a6318ef7cc480f8c325d59fd28171413711ec153bb8c96ced1ec01156021165125b13696103eea7c356006d1a8f0c811e2016f0a23ed46c5b9d8ec32c2b6c67c0ec747c94f6a9b2a029bff5a25fa3140693983841bbf08fc9d76d2054ba55eebaed007f95c2000d76b8400756adedde5a59ba85744f0cddbc4a51fc85fe2765676c50ae573199e2b6744e518279c526b1b08f52bb19c70205c78f9955e1cfd86d88d4a21edfef56bd788980bcf7656397219eae205a781640bf684ed2ea3d50656a1f1aec687e7f10c1fea6c7fe2ad4979cf43a0c8a0765b0914ee9aaa4192bd0e2be83678ec07c5e9f38a3d4a82fe17e3e9d963d20a35f2160746e31c8a9a39cd97039e759ccf9c98324970c986f923f45916f8f3f8ffc08a8c198757402f54a7bffdcd52787044f05f137ca6f5eb1650bb5599863bb6e06bab66dca5972fd62057aa15072255251e1d7eeeecaf11d7f33bec1ddf63156de95f6fcf715d4afa77d1a4c151d1c12908692d405f63648c3b473c15f29354cea851845df28ed5c03a07ebec6ce7af4e00aee0acbf54c4f95b192acaf891b3672f772710f904a391c05b8e4acf0339987dfed973c50cecc552178ff43f331b2a89b536fddf321c8730d60e3076cf9dc859c0d4d9726a18bb2fe7b64e96382c6c0f56f9043a07a2cbaa4f4e75c9320ef36e15a03a17585fbb56fa18389313b179425d51ca05e9f8243dca16176857cfe3392886bacd9a5d5136784aa4ab535c008fc6da2d1630d49fa6718bed52a71fb386fddb24f2d2b6ffbfb974bc7f9852668f1dc49e1e540a344d2d5b559b4a2a74e12ad730d9fbfb8d72b39374163ea199e0185f2752b718b8098133b865eef048cb435d97e78570bb1839255f4de8a093160a7f8e6176b58a3d71de4d53dd10892fae222d4ebaa0b7c1a9120ed9b2ad6927ece1a26386d1d3c1a2e37a3493bcb5032ed14d0b2a450ccb43e0aa0ad8ffd70e4f04241824f89a955a11ec14400b86ae892ba0dcbd18c122d92d522043aa616e788834bce9c18f803acc2968346394b1f46f20a08c73bed39f7b00113a526b6b68abff5614de3748a11b0637887e8902da6820405b226a3e27ac1bbfeabbdbd9bd16b45ea2a0b4f32726112c9245691f79325a10c3794e6ee912548dc90228c7749886668590c42aa8f0eca9875d3b591a5b0e211c6cee1d27902d5fd03c407b280ef3bb7334c82475510911e5da39cc2a8829ad4bda0c11207927b164af7bd4e4cbb5d716da177b150678d8be2c91f2298625834c8c0645930b658909be7b35968ac7c47d91c00e6bbf1a302fd8cc87a6dbcd51755ec50faec0c2de4a00a51572fe42aa5524bdde7004317ccb0108403b8f63887db133e2d26f037f690eb4d833e71d2fb17d53c90ec5993ad092aa104e25488980e31ca8ab05c4bb1b9c920bd8056825441e331962e94a034ad2d06945db710c42da314fd8955b3a52b3083e38d848535ce253414d5723ea5cb3149bae97891f765dd09ba975bd4958fe55c0187d6c62b28e249ebd5edb869cbc713d68aeafdec540e7be43e083005b01a098aae460f71a41a9b8333ff9852fb4756902e2db8d19c56a416f1afc5c6ee569ffa7589f5982eb817e9d0eccced0183578b008bd888d1699d1efd285102a24bbafb6c8a57a8e80da34a1e9a6afb37d9fa50cc764c2c00a0374a2e0d658d1c9b8e5e7cd2d84692d6846426725b1ce92cce87309e5c81b113df604d0521a1c5f1813bfc9f0da3d08eea5c120c3e190f23e62fa6035d7d0693ffddc1c9e4ce839ba97f1f089ce5a53a4bf8c26395777d19fc1dd2610936a51e976f90cf3230321e11f6e6af49504dd708b60c4aa9c45d961916ad9b4056c1e052c6ea0776794be218d24e25372e005de0b68d3ddf1adedaf492f391ef9d57162c319bd7016d90728d9e96705c4bdfd8988da4a180c7ee4037b01cb25bc1a857fd0654efee4410a8d337fb6407d2ecdb8916780468fa2d705e332016862d3d05a6a90f29c95d0f8e0a911366e4218514041c1dc7b0c6e667ed60ac5e9c2e67c9d02c5cf4877ebf4f9c7b3ff82d8f7882f79c5abf1bb320b95e36d107a795f763f88c069188a614967b0b328e1fba2328c53fc7ca81046ad514199e54d3c67434e82b126a9cc9f0b28d4edc225b2699078aabcf64dce24b5c06072bf41fe2c1f62537f4e0484581de611bf1fd066b827305a7b2b88bf250b621caed2f2724637bf43fa644413aaf9b1957887096683bfe813f108db47f93fce6fb36c6cd356fdad89102c8ef98e3ff8884f985e6217098ac4ad64c1bbe8a9716db55a73479fee4c621e36846abf86233c53491e829e6ec6cd2889385b9756a63ccb08d6b6dbfe69610725ca9f8df7981e609f641bf1f76f17c96c79385242364858c01534830010832245dcd70d0eff29ba6bbd04039035d041be54782b615efbaa8f8c9b9d61c99e93c20860a19c0a3c3b0d6afd64e0f4dd968c37e8a296c217b871b06f123c047b25828dd335025d080a3f5fdbbd4277ef6b58d55d4a3fb1349b5284e5bd6c041b8b924f1f97dd9aa72da044ab2c9466a5baa500d21724065a1ba4e8eb77f61e342acd46a51e3d1e21e69fac307b35dd8063bd45d406e95cacf6ae5fd9cfc3bcc4309054c381b3d6c0603d3ac627fbbc39b04a8406ca2e00d5ae602cc8b3018084d1a187c4ddc9c8e0d7aaf078240f79ad26c9d2ca4421188d15084f8aa0a39a356d9ff0cd19b8e3ca1f1e7bb6bcb90ad135e517778c3d41c7577e983a8c54bb88d53a8252407a1b20b05d85d2310d88eacd3a515abb118900f4e027d88983609b1e40a39682b995ddb2ea0dba6956f3311fda51ab38a77f3d3ea46f3ecdbe4b85cf332208e18340d34e27b4c9c0527dc557a18ffb39b3d867cdf40145585a443dbfb4cfc151440765331d2a7c6eece6cac77d4e822a2dc008b8a819a4216c1d260ed22f611c7ed5ba82fca08b1e04491ab1d3de8c53707fb80733dc1473c9b78ea60d8ae5e02ebd4a6e1c61c86a486d79bb7e5e787842134880a23c67e68a4e3b88b4cedc23b13fbff57ec7e4f0e35bfcb05a61accf3fe677b2ca1c37afe45274116adc7dc4f6b790151f6ed34a89b78b3e48e7ea0ce82897368bf2d1b369431afec3dfa5b785c6915fb6e1b043171868ec96f56bfcb2e8d17a24a524c17d6fa62152a511e1de4ddc4a1362c6464f508924579b3aec28f560e688a1e8b9d3b8fb56e97adfa2d0c6e0dca2bf61363cd515f1486b744a18cb9894635b37c9d1d6a00b34789c0939dc93d38bf805d58d2a86fb142cfa22af3fb1f4c0b9c8dd388b7a8ccfddf01e3569fc1523a57e851649b4b346bbd2f8df958d2b336bb2c722806f9c3ea6138fb07889f8660e9956ebb823e67c6ad5259163599cf3011e356f63f90b0a9df65512ea41e9c54d68fc4d2f08e18987e5012a0b5b64de6a3fda0e1786", 0x1000}], 0x9, &(0x7f0000001540)=ANY=[@ANYBLOB="2c000000000000000100000001000000", @ANYRES32=r4, @ANYRES32=r10, @ANYRES32, @ANYRES32, @ANYRES32=r0, @ANYRES32=r5, @ANYRES32=r3, @ANYBLOB="000000cf6501e41cfd6f09240eba6300021ab600", @ANYRES32, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000030000000000000000100000001000000", @ANYRES32, @ANYRES32=r0, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=r0, @ANYRES32, @ANYRES32=r3, @ANYBLOB="18000000000000000100000001000000", @ANYRES32=r5, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="0014e085"], 0x110, 0x20044004}}, {{&(0x7f00000032c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000004480)=[{&(0x7f0000003340)="61f39cf97f617a5954bba737576630eaba4b544ddd68d606189b76f3bd086064c1c07de817caa9bd2cb03fa0823dac292ce5c57712a095663e11dbafe378f640915c25c1dce35826fc264c2772025895edb1b9a01959e993af923e658dd278cd6b66668fe4ad260cbe5c145ca2f8e7df257327ebd8bcbc54f2871ea8163d414c06e1c8d2e3d155a8ead665b6ac109ed3489b16d470ab9624aa57a735d6f20b9db357e5f4dd3628ef24fb1539337f2df4d0747024d7bff6ea5280c2b94a1cceeff0bacefe85de15e1944578f4a69caac635274d41b12638f0fa04ac560f84e64f23a2233ad2df1a7a13", 0xe9}, {&(0x7f0000003440)}, {&(0x7f0000003480)="e02033366e8f0830ac53160bd24b9f46a7fb44ec5db1b2cfc7c34fc1977d1c0f8ae8b35ef51b753a39aed6da314a8fb4af848bc3fce0619240d6090d716005b3d4cb37d55c41dde3b9732a7a0b9efa7caced1b7467503545953cdc94f06ef86b9d6479518c57e83aeb042cc16b7e81b6e926abd5879a1c66e8c72d6bc909f97d62132d68db88ae4c27d73d49505fcdc0b787a93c7e43550ddcc48caa5b0e43b54423ecc456e26f1ec81762cf5a901e59e0248cba63f728e92cf0382d7b7fcff4b0a15fa10d376cd19d915314a0cdc68190516698c5937f84102edab4bca062f1253741685d17f4771f80fc9d9d7359f263dc7251f7342b90d03a504661caa4765b42252f42c83f769722393cf906bcc966dc3aef3138f5d19ef8c7dbbc60c679b3ce43e6ae7778ffe25b58b279f28661cbfa3e8df798730ba7480b6c16ee71808084379244426a5c0b2ebacc7e800f5416ce80263525d36c0328e8a3d5e2f940de83907ba18762f922026d59139f3de1cc900173d0eed2418fa6ac6418d2ae6c70347af8b3f070227e833d2128d16a5e3f2390157fa5316c78d716ddcb8d0cf6ec9d4c204f1ed9bc4bed9f3b8ed4048447a148aea03a3b961aee6489425ce8b44691de2dd4bce0bc98bf2f9dba4ef89c5f1608ef85ba5d788ff9a6b0b698b5a5a7037851708150d376974c82cafae1aff807ff134b2f6c9d61f6e6b24aad112d3afef246c1a2cb503b27e2851d54d54229b227190d79f12e9a933772707934b199da4d5fc6f02fe0241fba8025d82fb66a6d9c416b8d8d5a9327d44c59159d4d97f2487f3f1ed06405acf5627b9ad5c1a423a77265235ce46f4bd89a1851c2ef754a05eeb63e5580bf1933bbef7429a03c2370ee2c535729bd72c404d730afc8c97feff68e46280bf06681ddafa8865ef1fcf876d91582b1f98891af812d853e2977f9ed575c88ebdfa251227cc50ab8e40812b47184636ef828828faa863fa1e9c1f2d5058875269a47afd007c313d2daf26765c7f023c883c62af8a7b4cc5bb08c7ee3773406854fcd43f60f83596d2c5040f695c68f2d980241a8910eb026d2e4cb56f6ba4d34b5c3c640426807f252c7b9563ee98cf74073555e05ec4986e489543450794a8ec0eda7d74037fbc402007212f245743f0efed3762188ca54edabd5fa586004addb90c571bfb307002909433fb46aafa19f56f3572c1f113003c952ea3ba49af407a988d2a0d41b28ccaf393626ac10f47887f5f01bb5eedc6f7f091f66a552398515243df75e927ac3080de78f0252d054fbd297cb202807e3298f3cb943718edfb4540f2f90829b0daa9d2f122ac88c14c84526047506e83c7483b33bd47e86716581962fe7680c32ea35c3c3d7ca04cd46acc8a2b630830655eb1b553713a14cc0e752c911120b7e40a2fe89a9a07f5c66ab0f841c7a460a78718f146e82da1b373ed07c9592f7c71b926b9131506823194d089d2b1d4e8430f48d131ea525b66f1110acfe89a89dec78daeeaef2da88669d5d70f6dda2c87a51e3944319ead65b819e710337c25cedbf202ac5fe65a3c1430f1fd1e042ff1c5004e27fbaeac881dc10ab02623ae32ae35f642cd334873e1cf84bd585b502190e0027558c341433081ac94a6b59490cc175acf300e66159617e5395ab296c0b884c066066587c4a5e4e32a0e2cd2a8b9bf4601528e0d9b84e6c61f17ff8e61398546d67aa88a64883349b2d16420bac63b00693fe3bf8356a59c7deb0318c22e1c40aebe3bb6a4e245c7029152180ffcbc431d8e90c29dd6f68804e503c82772df95a12958021ad8927d58ed45e4e1d2de31478dd7a039dc7e856bc377bb9baf098f40658eab0d2ea55ccb0fdf740ec95bc7d36e728ebe067b8c4785939351cd0f00ef53442a7cb5dade1c96309f30971e6a92370b1ed180412ad212a0aa72744b5da77fab3296a01857826c33309b8738eee6f77fb5e1ddfe2fdf48846c3375e34d9afba93222e165d30479987b5742c01459b959b33e8aa29a2939f59041f0619d5b0a0db7626cb20315a95d533b04b3cb6b50105ae6fa18b6e44d0e5977d76d698fa092f8a618aef417c194ca71f4abf007e5c230f9b389fea890a86c114cbc95659cc84511d7362b75959733a990970c65cbb38b73de6ef7d9930f94a0f3b8508a266c8c07eed9ef903ea5ee620a63f24239fa94867d48d9ddb7610d3d2d069b793ff4ee08533f7d0bec86965ee7eb370bf0a25315d9a8d0bfc34044c2b07ebf490d834e9d33331c9d784d879d81a599aaf7590a953dae2c95c106e82659986552cfe8be92ce881a83f18f1253a93d5e72be01dcd77729fb195754763fe4686ad93942d6a6f2e8be0869d25323c114de3cb8942fac08c86530dea62020658c0455f866cf6b5871b2dda55fb47c43f30dfd316449cba36eaf2129d95f183b42ebc71a0ca878a804d8dd07eb40f7bdcda026c2e916da65ad6c4c7311b66b61f71148cb2705617b602e956e35392828a78bc563f2dddb29bc6f76382c57fc2e510d02db43882158b18905f665b84e6049c9a308340810feb4f9079fbd0727f7414a7cfac45f2cb9c70bbb41e82bd3683d6fcb5cff7844adefbd680f0548b46b2899f547a757355b90bb6211eb50318f038c3dd9d0212583cb3801a14064fa7d2756c2f2f963e327ab0709eba5e8bb048adfe32a70129b1143f3ddfbbd2ac16d287dc401691f0b7cc3f4faf8db634f9bac3bd95bc7f0ed227f20439c0d342022d2043170d310d586d6e50b716de6b73ed02e4b6117484fbc7343c57e4fc228b7a1aa8d98740ae9e40af11b545a74d6412a29d336cffe8666c7d42151642eb6eb0b689bdff50c084038a1d5e4fe79093b8650daa28e6590041599589afe772989c5f295d32b654a9d3cc218d38b676caff9cc5d13363a823a0fa5c6144fed8fabd9c96a4600da10bfe2dcca9c5a3f0bc3e759204f2bbe12b6a86fac53ae0978900da2fc8392014f7ac96542ff42bed95b779e65b8c31b35a4536a4e71a69c43f9df8db2aa65d81fff735b76a78fa27f6e6f6990bd977fe13c0188ce7af8e315c190040fe8187865da8e5fe054921c02bca4347e76647ee8b45d83b83b3dae23be5ae5495c9a5524103f1ca881139ab5c5cc7d0b8a8b684e83a37ca6026994304f9432ee241faa06d7c707355490a36b661624589f754b7213df14587fda9a594ebbf363161d76e16f24d03df3b497ffdbc938113fffa104c0a569707c052ede953fec594161f9be01c6e33ea85f7acb2c97b3340a1cf708a94c5debe222a392af9bb0e669cbaed28712dcadb155479b4d5c008c536ceb4fce1c2f4fec52c5a102e5302457549d3982d54dddd19cc632102bd316ff517d3b0bea4f9d7f573edd3a587a69a940f473e72d5950b429f50c9db38295f6a276d6c4f87aeb23bea799c0b8ec64550cc439a837bccaa696dc4b53215b60ff506d265587e66ee5ad46873b46a97c25cda9da896fbf95a38b7f3d274a98bf198dbfd8ef5830cde8f61e17dd1c8f7ff4fe6e9ff99abd685bfb1498cb2f876d6e36babb4adb94f2f27f521093e3da35b1ae70c84608da1d23d31a26057a855f2b16fa99608f686c3b27d4bac1effab8f450d537ebb5b0eaee62cc5dbeb37b4d6089a1a631459c618e7a88227cd7255ba814f6db03aa67b2465708f4ccd96ee7a6584215aa5b343e11e00c32a6b5f7d0815f652b787ff2044e556bf12763cfd2a2bce4a14f1c2de8dc58c65ff812b1a632549c1a67ddf31328d6b3eec6f6b59dafe3c33e738cf36da091a9a0d6571dd896d0c326b9a1b3174552ca7b8119d92b80132f7ae207d41078a01f6c58f62ddf0300afe7ffcadae5a19476a1fec9ac524f31034e2de3ae314c3fdf790cb50d3324f19dbf5c4acee84d9b658c7736bd3d1774dfaa91825928513f10e638df3f6f75d6ac8549aabbf9850e821eb4c852409a30972515c9c1155ad1f6d880fac3e1e9704b1ac88d37f98fd5ddaa874eeb85346caf68eb685bb34482931bf1e1a1af6d1a80896d388af0f231e5ee38913fc4c0f3871aba27f2d78cd0b047a0b04c74f51d49a14a7a9927f2a9dfe7fbdec737c0326425c0e1e07e196d23f13103bd01349c6ae668324ad6384713f2f7bb46bbb3296d4556c5b9e535cc79637a77dd2f595ec65a41503ab4c2f83cf6fcd6e3613572108142d8e19f6a1af3cd60b14e20702d4ca2403fe5a5ad3ed22f882c0d1d30803babc23f685a3ce071b10a793355a333b4ea7b8744626b314c7d2c9f4b03d59bc862b7c735f2a6f535363563ab0249dbbe77d24e5cffcf2d8a640784303ecfe30d020d2009a196db95bd655e44781e341b1094d56f64a0ca0f2e2319b9ed7fa9593a73094b10efadedaac706cee073a2fc98f398d0a7be692b6e3b895f0fd617d5db54f23b8d70544289c212c6f16341bbcd13943526aaa6f6c5c2361f679bffb6aa30a2e6d45fc764a1c7f697bb88a56a5feb81ccded0d5cae2b4bc512d9ae6429c3bf493d950b06980ca1d16fec0ba0470efbe88004c4ec1364ce96f8377ab7460a5758e4c94df2ad3acf4b774c09a9d98f134ed3fe4c60c2b313083e0ed54ce9bbe7e18b1fe739eda3249c24f71dc9aa389c5528120f0df48b7b016e339666228776ef4f4f414d212d44a77d1d4a8c272046ade8b456170b6500e8f3b157946908fa66ec5afde99d35a3563433f6fcb0ccce805bb361d7d948701b083b9118239043306aba480331bd3204cdedf0d68a57541f198bc552a64e17443d655534d8e2b4cc131e6cf4f543d7af8d4e6829d1f7610ebc08bf2630752246361320a76c196d4a98ff8a18f87b09627f8e7d71a8f37689c76ba2d61ebf0a38bdc28280e55c83745116173e1bcd4565bbe381b6fafd4b6e5960b46aea221f9d1e7e257c4ce98e29604d10c8671f6896e64a0c14cbeeb4ead70e664b726b2742c87b734c06e7ae1b2f69d18c73d3eee31b88d484b36de095450f91266869588f58578ef21f17943ba985daa5459c094ef6031ffb0b378b223b7ed311bdef9b7bbad43e52a055af60a4896493ed1679e3eff58621b96d0655c1c04720e21ff675293d37b1b8d4c253242abb7ce880dba6753c76e0bfdc0589571ece0fd6fab1e24226aa770107cab34988de18b6fc88c769da203cb2fdc784c905f613356d87da9b8b7e384aa3f8fb272ac21bfc865969c81a54d2b0ba6f6495a59f7cfa2916a7397a231019d8872898c24a7d828f2bf840f7f14c0f1ee98eef37a8cd22d46236631c60df6c4a2003465ea5dc060b4e8fb45299e24e862de0930bbd7c258a805e0fa54676b7d51d212fd484b167f2d5a3fa52d2194abe047c083cc57fb7be9801bcc9ecfe4773b71d2b511629320a3bc87c64f7d5011bff143f6d71ee091332018671ba660662906feb8870814c8c3a13c8c47e17e2b4a3825ef0ea2646011eb8f2c54270dda14e9175a8f935c406bc1a6d4706e1e95529eb663337af07648149da0ca3996836cb54d9986bf03c1aa22e008cb3d29747b5b368a0a0e97eb7e57c79c06f8a45ac63b3dec6ef9449d8c3bc0d92872e05192453af89019b636da162a55a327863f3ebda1edda9d1392d2de4942a50ae686df8a1b35d15f0cc99d4695e952cca2ec4ebfcac5c2b9e11f983ef84cb4631d7ce58dd0c0585d551285185a2d5f906fcbcd0c6e01e23b5f82eed00ec8d17ee6a2e5fe58cd2aba370722a92657dd2b775ce3255921f7be14dfd2453e53e80e6fb93e2107edfbb004b52a85946a2e144be8f4460615036d8", 0x1000}], 0x3, &(0x7f0000004780)=[@rights={{0x24, 0x1, 0x1, [0xffffffffffffffff, r5, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x30, 0x1, 0x1, [r1, r0, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, r1, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0xffffffffffffffff, 0xee01}}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, r2]}}, @cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff}}}], 0xf0, 0x40000}}, {{&(0x7f0000004880)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000006d80)=[{&(0x7f0000004900)="b30f348f9dbc187f0b2584d124569b140fb79a3eee83f1582a07ec41124eeccc9a045450653cfa9ae23390c3fa8a0f66b3e03753068b333f2f1558a83dd9af930e8f8d1f418a42a236b49e56f9a1443740e74169dca16b4df32332adb1b1a745a9a8942836744af26fe9b63f50848aa5b3b2ccdf10f3cf5d0a3a2f84d462eb19e0e0f38ed1ce73851f2f8afc1ef920eb1796998df89a74a252d65f98e92f2bef2befa4a5281eb01b3a99b6230a1653682d6946142aa9ba1182598bbdb346bf2b288e9c445493039ac7150460804496ce714c5c3a0dd94612abc0b146a5f6f4ea979a23e874f55b7f817c6b6065c5876603b9f15bbe7d62649cb574132e176ade220dcdb534891bea642db688889d813370e45d233a5547f450ab00dd8a937e77415de400f2d7293881b095d2b5db9909a5ce53e4babad71ef62d7da5055d52007e8f9d01ed70b3f7b04ed44b3c1f26cb8dcb4e79e99bdc42fbbc95aa50efbcc0eaf282ae531da54b3a57d97b084dcf7736184925e5ac3e54d9b21f9b989598d60189ad07fc14f0fff4f1fcb86c6c8a259af77e871d01e2a9e970684cf968ad70a5a4e1ea1465fc950c5bd94d015d73bb3c3f0ac1f7e1c46b8f5525c652b5a17a93d83817602c5df31123be44f6824b3ac49f2595fd9ea2649f47f712c0269c8c131fa2f638757f088c836e4f6668e28ca60ba835f1fce3ce052dc25e3f2d4581d36e9cf66ade27dc1827b3957f5f48065d84501245ee987b94e654e6bc9b1fbdd6bdc160d40a46834bf08947ed19f6832ae00a63be1992ef2a5fbc7438d297bd155df3fa8ea14c8fb8649682b1e11a0c759ad3a576be76c0cce8f68b3007c4d9dac25beb36011be7687f8dba01eb03cc77843071314576d0522699eccaf41a6a7c8b69ae62e047218869761a25a8fc4cb738dcb4932f531f154d9939911b0099b52717bf1260a4195e88c762ee3e9fee58e60dbd8b80b3efb83f098bfea8a31c64d167413541d433554594764add5b552d5fb8490b308a682e40a793a6e19c2c1ab82df6647023c1932944160ce112b322acad9b90ad18d2dfeb1c577f91570d7b4bb0d153a2181e67bb50cd75939573ea1a83c6a025f0a936a4e467dc3f8a7095f9c8a5a6488860919947d42b536a910932f8cf391a1cf243fd372e3de1048e1d4dc97f591a99146c95c0223ac0399b7706b9b177f105e8442c77c5991bbf3d194250082e92a9daee83707e28b13a34bd37e595407df56c93685c184d7f6345295c8522485a7df780e7f94ec763fec038cf6f23693afe3d4f060f7b7778a97bdb543ac9244627046ee998d559b8e68d6503a1005beea39fd5f3321751aaff89e0da9561da30cced4791ba11d9ce1fda35adf64dee7496ade675e12d0ce3b35cdeda67b45dfb2f7e592af913ff3106362399404bf8471a0d32fc763e7eba52b7580496c2018d42252db8381db5f24d944d860da7b3170ea7738d82a382170d284c2332e3f2fe1801ccf4e8dae927794f0fba8fc64348ad28a888ab07fac7df7db0ab293144b923a876b24c9d971f6eab99c683ba7b3de89e412ef3ff4f80410c0913fd23909fcd1e0ff8c2f724e2221cc16a5595f7c70d3dc143692d1a486e11f27f97ba9f8700415c1cb04a3143028e2633c0443bda4aa7573d5c32215f21131e2cc9fec5b5cab6a2e588c15c92841e15aff9b1889a07f3ed6474c9dd1d91c150c0eed70177d60b1f63ad34035477770e104bc7a651011e14e07d8506f3399c659f5c582d35961f175c8f06d5082f6a95bb8ffae3b11b44cbf3648a2f00cabc5e3b5953ac9c607895f95f647c1da9aa9e66c12243b47cfa64374337c6580fb265b4c843e9874b63ed0703cd80de6c3a88046c3d137d66464274878fbc865394083db0f337670a4152ec9fb8e90d7b02295e47bade5c8b02949309cb2fef2deaf64a98d75c935b4f5a92fb6892e5f32c278cd99d48804903c2f35f9e36af52b8168a10fcde7f279fd60817948084d97844eb4ed1d5bc7a443f944bee2b36d220dcefb2195ed4eeb63c175f97f25afa9919d7dd41efcb9e0ee319ab22dc1ccf9d6166b828433175f6765ee39d7a17514ff835552f55f7e469747b7bfbb4669aa0d394329421234881060d2f45e804b3726bd5c3c6922b73e52527d8077e7e840bbfd085b4410bb68a2d64c9bd43168e30bfff3bb5414f3c366cc810b00f7ca7898534c79c520fa1c48c1f481c06e633455f5c02b7b7803532d8ce3510b0343b4b15efb9ca3942fcc0713b8787c0c3bd772d4989a93a51753c3ec82a1d733bc4d406c02148472181b9bbcdb0bebe7d837a7004f24bee6a3bcedddc357e7fa00e3f4f5970cc9c618215f8abce49c6b0ff6272a55053448ca7cf288210125c60028a246d1c938af964f0f78b31e20e99e16be75faa2e56477330e53017af17346704ac17fb6de0bdeaae07a511cf04ff399108b6fcafef516e3639e08cfee5e92944cf8ff0f4b75638418624c6ad3fb7f5c0d493d86e6e6ccb9fbf633f50a40a18d19e35d3887c5de115cbaee8359a029d9abab8810d4e48fea3efa22da6dad4d7def0add73c2c175b5b991afd130586f3b69ad1fb6ded532eb5a50aa44e103f8298e4bcb42fed4e9f4d8e68d50a19e09ed107a4ea9d7c5487c7b3d6c6b7878b7f1bb2879c35469bca0a359d2ca73b1ce5633ac8e264fcc41be6f0ff047717cd2fe92f3947dbd33ace28d6e0a9b65cecdb9744bc97834a02a8c489803a8ad01a4407a0239987bb4ecdf9bbc73bf91fd8632be86b28fbf015fcf984005760d23b83d8b67f3607c2b196cdc3e099a9950b618e9186b444ee29c1aca16744477f57b74f1b18b3da2e16f0453e50750c83be616d2f1d61c5b0319a77d5d112f1e311d8d1af87ad36425d2307b71ffa32ab9fa331a97b77c2541a6bc42f76d1c5526aa0fe0072e0c53ec43f7502d240a8be2c24d01445dd2c341181d0d71515b27a9f27c64acc651d9136d535c3d4508d53c3b1ee6da783475a6134c574677053899deb5da18c582ba832deb52c7c9409ce15bb3e1bee3cdd8582d136d3464e3c24e3a56b97016435749d88a805391c0b5d4b138f4531f0fe5c096ca6f70bf15aea9738f186fd86d0c646c21a001107fb4d8d9272502accd3d9308b0bc2e6e4ae35e4ac69ec0ab36f1c71cfb7c634bf16dd55b5f4dca8ca2572fe8073a9f85e194aa34bb1e8015350a6703fb95870b10af77eba2af56b6cf766d6e618c84f63d16d854885db4cb1ebbe1522910306b4208bc57dbf305ab6037db58e0838cecf126712a45048a5e958803ec8736a4046d6c48bfba8b5fc21d016adfb78558ed12591e771f360043a94826c5207f49dc354696f60fb5a223bd3895cd695980325f4986b954f244030ffa43c77ff735c9d0a562737a616229aa774a7d6ce575a236fdea5f4acecf22b69f5e1dd6b50d15953c217993f3c926e5289a3532eb3aa872c4adfe3f74bfa60de4dfb56fb0fcc160a3a88683f96719a02254d0e76f0c7c98f87cca945f9ed60136fa33bc0a9ef8e20ca1b47e631ce6eaf343858bfb7cbacd7e40c3fe42e23849e5f4027565453aebb05263a8f6d7f859d534e35c93992fa81253c865a4d8ef3274634d0a1e0034882a9d0b131f00347a101bb0fa6925b67865b0f9d333e676178b5148351e9d178641dc9a035d7fdead78141eb6adbae88c62d7cdb16c168d750e707f33ac9ca9b54e4f254a111c1caebc51de427d9078fa7654140108307597e31ad648db49336d1943b9d3ecb9b03841a1001a6764521ef74f7253819f7e7d86cb41cd8a09702e19b027508f1c91f5f7a77b1b4816683d3f3e9dee40ca1af00885fd817030337dbf0fcce519fcf42bb3f81c1ca627f209fa725e60accee9d433504023af384d097a5430bc53335cae59541da0f06f72bb2036f86dfe79603e34dbde05ef8d3d60922f79c85151f22e0a7cbe71e6145ad98523e17c18df44f4be3166835db418d480fb7aed7841a62cc58d13f9288c4b27e66563a9d3ba3726312d072d5db527144dc11047adb098cd37735882d4947eac308687a89372a4e9047c1fb43db8cb98045e7a6d0822d603d27cd1fbb892c9c08d92d772fedc2ad8801e8afe82d8d271b6ce301716a390bd733bfb59c5c83a59ee3398ce6e4b4f384c2e2846be7bc1be67a70a0db343bc7fe86672d726672bd93c80df6d50c2c5da1cccc7fa65244baec4353e538064775395c5ef4711b29f8cf46854bf292cfcee7f7b6803427ff8a77c6dfcbfd2d669612ea0bd25a9416f3af3d99eff7b75e9fc0c773ac2ae0604aeec99dafc27256e98d86a1eb930880ff20e906eee87f76fd6fdcfdc7f6ea7750e821bb7dad3328f77499f28c59fca4d11415b9fda7c4e42dd1709492e88116e47c99ae3c6c6caa52a79b6b9029a0872a56511bf5329d5fa7ec139e8cdd80f802f0e943f7e808bdc8a2de7c8a34d5d50edfbccb42f45f7554a772f76f00bfd2af46d98a5e68333463ae44108f42449414832a0a163fd8cbb2c1ecb7109e6ed4e8c367846e63e4ce8b75c5ad4d5f1a6f834863568661430b8bae0579a1f63d01c6a1861dae0797d61823bfb0f358ade1eb202e8363684060c5a6e6c1eca80451fa8c0be4c4168d9653e8f8f95df77a49efff6fec17e5f4143f02c607e472f297f78fb2b3a1e1c0d6be193878282d9063343ed7a881bc64215671ec5fb8ee97405bef1cb7578db7c2313df19dc829760b17f70d08c6499cd06b2d789c2c80ddcd3c7657207e30dd8fcac3124aa399dfadc9e8ec1f8e24026f8ea0647cc989fd77914c4deda10b52c03f4eb8fbbced232e91552e000585dc5709acb847b26676631e1e976aa3c60fc141ad79b189f7c47150169c13279a0ba698767fb6e66a94b5d9f0942f84f249659e29f675e45ae65997f02be10da68d325ed336c0f028ecd4efc8300926088ea449b27c25352b23d90a9fcefe4d9bca445f190b6e9921e6d5fc580330f4cea14b37f9659c5e482caaefdec598cba8cb811a16cb7d6444b4952f6a6f0fc74b20bc13c56af3794be4af2bc09ca889ae0d1e788ae5b71f7a724b507792bce08803d95bb3d0e0d0d3178f10a27568a9e95d85a929f372d2f0290082ded7d906f3b032e256394af6c197d17c79104617368f7c509136bf7583f92a9b93859be2007becfd14414f10d109fc987a533cd621814f2f1b4c7ff1a7657316b311acad38add4cca29e45a0ae0a477733d7941267ab3d93b1410b9a0b0ea9eeeac5d97f93455e4d34e110e087f2be0c2b0c8a612151f051b2c782526553e949803323ca166355d43d4fc1f5c6fefbb3ac9372fe867ee34bbbaaeb25f5fdd320e3292d6680d02ef3a32a9ab0ddb5fb5927621a6fcd99540c24b0763bcc1d146d566234fbaf7756f7e0c319dc7fb337de92c0f6710b57ac6b183f0ceab74cab51b1dd4ab020842641373bd910cc5c5e6b7efaf62521e8c97f4274bd89d524111c1b87397f377fb06ea22250694c3919fff1caeebefa07ef35a85d1dbde8598f602e2db128d70d4d95880a5eed06e72d68723b06574622d25ee974f93ea71165ecb531aaca8de3b38c21b914a967b27c6b24bbd7f54a091901453ecbc57e7c47becf5355c5f0f77600a6fce4a57ab8d792da0953fe8203d3ffb1b1aa99defe830b5919ad95b3e1913f0aad83707694e43f788138a8a66e6c018d8501276c291d1a4a1737390d47bf90c46d34e3ea674ee9bdf751c8722669a4735a110545938febed56e60cb932387d039995d12125b504993870db89", 0x1000}, {&(0x7f0000005900)="2da1b442c953a3ff0e9ce7ff00afa15ee73e75370d91574a1faf2ae57a64e4404da6d4faf7a258b66faf", 0x2a}, {&(0x7f0000005940)="6c20c3e5ded205b58014efe2b452e24ab99ac63a1f87941de169836f01923adfb71bb5a09bd768a298844ffdd7b66035f585d77b3f29d95f5137a4fb2f1c8f5b1f7e852eca44cd55372208611ddb9427138ddc80938b04d368355a42fec1caa67ceb6f3a90358c5c4ff8c1ce166b8b556c4708366571689fa5546a1776ec54796e00e74001c17ca3db96fd5e95efce160311ad8b899f2bd5e9ab9750242f71567b3a0fa0d226b032b4a050f1df299ee54ada71d1d0083ff2945538af9677e50dd1749d86833b98", 0xc7}, {&(0x7f0000005a40)="baf878b8085ea984eb4486ebfa240b6f3538bc02863edfb71479ef967a40c5064f93819a6d7de4fb5c09d3636a35e1b13b744d16abb6a858886ae856b2b0f2fb8018891fbc5e1b7944735c199e23c9ed6b5216af0159a1b07a8a53fc074854bffc4365729d918b2233f4ac858eb54ee9352c4788d6e55c37bd125550f635bebdb69ff1553d77249fc0f9eb531af267533e8f9b9c1214d7812fffd0fcd73dec", 0x9f}, {&(0x7f0000005b00)="30bdbcd295b294cd584e1ee5ebb027ee803e4398a302d0129552774fcc0ec6a61ece32774bccea5b3a3f698e08c74b2e095f7cb2ca9033669f3207dd5155cf53281a797a6f7d7f4e6b98a42d797270a447a419965b4a806eb67682f8c9262f420395f9e9e0d0254e311d19967a0ff8d3a50d6ceaf0e98e98c8f6618e084ae7b77065a9f4abe144997b1603a35ddf5166cabba8b53d74bfca3db64ed184cb6e32c61588d11f4dcbe27ced9b453fdee9d6fe96d8ef96997ddd092d3bc4d8ce87a4c3f138e430cbde1b3e95c65aec54cd982b64734d33e90a716ae4931f0d9809e5572d023bc99c8463e74f47988e742d658eb51caa98e7859ecbf1089a065735f2e27de7cbae9ebc4f87651ab8a770d728b76b9c73ed4b5230a4c0f1b66a3badffa5e174381e7a7e0f3c6eb2c9867109f6c2ad2952f5d1fbb4a00795a0b01029690a9d87903fa610c6f2a4066f13ac98ce15f3c0f666dfb71083f8f5f4263b41870fd3fa86dd6381e6df1e15274c343da52e580f68eac7102710adc0f42d786d8ec274246ffc9d741738f3cc4b39a09a0be6e1bb252fba8117bf2c48b744aed1309069a0f290ae4690d27ca8e226bc7a05aaab225a45bcd34e1e14e59fe4f9d6618e07f4827381de03c9035146330e0643a64a30179b4445cdb2b9d68b613ce84f3398e1574890f3ddd5d41a75d0480d56fb02e3ab9351076cba990039930e8db7844b133823dd5be1b86a14d28872aa4ca1e3d7887c2829104b8eae6f78a3b43d9b55fd27962140ffb632763fa09f68f5877cc6d070db8dd36033a471863d11fa4cff254ef2b5cae707baf9fdf3eea0c4061cb15e126fa6e0c3c9e2f3d73ad1c98bd2c556a8faac0f5ea1dee0a44d29c2c5526b9d88ad761739576de23513da5c7461cf5a35d4234a677a3bc9bc79a777ee3f26eeff2f04144a3fd11da109f4c3255f5c2ba2af08ecaf6459c22ab55318d5aafffc3d111dfc065575720856ff7e9aa395032a6b0b046c37ab60afddcd7c6ffaf1e56b021aa7fa2b925a911ac577a8503fdcf8e0dec1e3b55d346bb2a3b20adb4d1ecc085a309423a69e403f7bd36c84d403f95e34835a56de3f177de48b4d5c3aaad1a0ba650ef42eeda10f166e3edac807535a4468a612e99ac4463cdfa10fa23011a093aae44a5183d7a984bf228ab78f6cf53f7523a7cb32e5b4a29fb068a9bd36785496d91055005429e08242ede860fdcebe2e46de828963af6388342846b3a1fb2b50d04f58481c524dcfa33a8b8a1807bdb385ec21f4533f0a9d099eb4c42c3189c452fc1aebd9e5e2b11475cf66950ff5f7b951afe5ca39d80ab6e656c20a59bf8ce5a45880fd6c3c62ebcf30dd60bef7fd1a1b7dc1a746fc2ed6a90c7fcb3b931cb22c2cd9d81d6c8ff0936aed82e01a539bc677ccfb2b26ac5964756f9679f79ded2c6da1e33ce3331cabcedecd12982dac3c06cc5bbb44257f8fde1ac0cdad52973ff6c339eede739342dfae2cb0a48468603b62fba752bdb86ef1634c9827f6217c9d4ad7ac9570788366ebc0047e697effbf22cbe50080c206364be17461f90e24e15f40726b27eac4a1cd9a92590d01eee3dd72ff7582661a75648926de0abdf44dfa2d17ecffde314fdcd5e1fbe283468ef8e88447d44b690afb66a5da1de6295da7316439569c2eeca77af618907e4bf90eda7aaae9cec6d4e1d53cf0b9c09b4486209b0263dc7c3cfebdb6691e2dc385fdce272e02b5576db98bd7d5305488fdb3d582a27090a5044153ee86fa96edf5e8527f945bcf1782691c87f465926ce418d6efef4c0cb58f171e9f66a70247ef97573654b9de1ca70befea0f9f8222af0e235b39dfc914920985ccd21a8a439fa5a1076a4d6d84274ab147579eaffbbacc7dc01ffb0df84bea442a5a0bab7eb109fd7a5ea04cc6a232f31a34128d249dff6147b96d0596092faa15f7bc4fed64f9dd24feb884256e726e55f7680130db84ec886db35c2e21c9becd8e841ca68f114169f68d0e8061617d698bdf2cd5ca66a16c446a5e02f977f0a51bfec5b25b425bd404e9bf46ec231fcf8df2a1d44c4e38bbfcecd6b627d1af946a36974325a7358324378b232fdefae8073a6d860ba14f1bf6d23c41e285c0498a5b1d757d51f2df1fab0e456a3073dcb3d8f7b1d9cfce3531a9d09e7d1779127fadb64152ae52aefaa53262779971de2b4b4b5ac8ed03939840890ef907cae6e72abaffe357551f890f88d5935d4519e88446b61c78c20e975be1d871aa2acb9af26527c7b5f8a36d785f8367e1633bc8483818209445e1ae7a4b1aa46f448c47e14f93f1f9bba66d38fce4b0cafc58688ffc46b19de7bb9791fa63d49a2212d960c93d92d62c3f4626224d926e62e6c3b001baf067bdd6d96f11746c2165fbd20adeecf7964ba2ed0671954edaeb529f2922a7129bb5c6fcefae601387b679dc8ee084b1be4dad3d62064c1bb0f88e9f272be53e52be21830268db0005bff5cb8a81fc7ef32597f0413b473d482b9b6771857a1daeb62b35bcdafbece4278c6d3224f1c0b449781eff6fa480535469cc3f49fac872495512d7216f613550dbfd590ed157961532954e98f6c885dfa0173cb2b8b2b8d9f78f19b48d17e74ccc137f723c9f6ef85769667263418e321f302c5e49409ea5e7f0792dee9a8681cae2ca8f27b077ca9a9a8c97f226935a542bca03fea21455f485364d8fee3696ce72f2d29beb53a55209051621ad85e27ab1895b830910974b3b531e6d37d698bcf16f2eb2c3ede11c762535b3a75f3c9a0d5f2e7cec59dd040ff29d7bc4f8f0e30fef1786a0efc0b47f80151cd381dcade1debebb099e47bb6199912815d97d8713bccdbbf77fbcb5af9183ca3c7e6e4bd5f75f4b6320606a024e4435be2eed469a2d23e1bd7983bb15f402c71e0cb3b47e0f067140f86f4665f5b5967630e8bea063836fa2fef66e8d9efa514d5c1e57156adf1a72a7b10c04d18f7a7c89cf69fc34b22f0aa598f9a39e5f1fbd8bc4ffa50b314c0c6da429003905f07abaa0b1cde76eb1f7924c9f8c22dba5880c65ac162e255715b30b63da249b90faf17a427ee6c9e755f733de030e0ce1ed334f7e53b9a9ee14ae613cadeadd87ccd8517c6c16b0233901b404c39ad7864f9b1260042a884f4709ce8f97c240d923ebec837c5cf32076a7004b3d0cd74e45c15058720b35c82488aa58457ae3e9b7f693b60eaa1b509235de8de184e7239678c041371476be22b5569624c106efeba2794155b4e356e1aec24e7074e3920faa808d6fbcd4367d73407faac355154ed48590425f93b72f8da6aca96c41d0476fbe87e6cc49c1c2611f7970f579fb560d51e9e196675d0e983ea14e4018ccc2a72536da81afd0dec1d0ceb57e994b03e4173231c9fcf10056e6c3286fde8544ce246cf117e1362341e85e76ae923ddbd8e7620524ff7cee2ae5a0b1731b6316d992917f309f7ca02feec3f8b89b24c93aff63fec5f6485d0c05caa2204d1f15fef781a9cb5ff0c1dee9a47df189720dd066f42b945138c711a3691c2eb4676c7e40174e7f5b9534cb9b85818a9cc584db90c34b44a7201bc9dab45d5b9c916f9970443f692e24612a8019e100f21ffa2f34b2b066c73aab04d1cdbc5974ad4e283d87a18431cfb0bfb3d2400eefa88b008d907c874375253d27c000c0e028972a82676e001b9c56774907463a9457aac4f6d143b48841417e16cf0af3c0b679c55927e140e1ca7e6e0241f09275d7fab0edbf63fe636c49627ce6c3b745b857b7999541383a3dea709c4bb8de0655b52c8dc5d0748684341aaf75fc71ffdf99f92ffccde43f72249f36ea7240ed97ede5438ec63160a9213828926157d758af8d3aa46f2f1202b602350504a711c8dab6afc569177c57830e7e76c75997117e737d7c2350ec67ecd2747e8eb7bfaf58e6c0befe1767b18c68aa9f938e6b89f8d45ae37cf533bbce7d05889e3be36869c016dc5bef8d6826152e44b4b88741bb0c9039dc38b50e437a93698ffc3398993aacb9e494a4a776b00af1de175c3569db59ff9bb15067fdd0956d3ae3aa981e2be190128951add234052a8c2d5e2bd06b052ee6ba72aaf697153b9010e2ac59f206aedcc497c37941bc73b5d42584817b3d5d7c3834e0e08ae227aa18cd938ddd48dbf5d5f06acb901d45b7faaf4dc474b474911a3648e55493206b766c56edebe2109335424d0a6341842a8b0daf3e121c1e1075013f6af207de10fba3db3dc7c06c6e6c2112589cc55e75e22d5597fe23a0dc4a4ea0996b6cf524599672e965d582a122cdda91d27326f1a91ad689eb7840ee9d9407e17b2ba3572eb334c4f83858a9723d91c7d347a8a8ec5af9666142bfa7bae04f4610b9ac353d2a94122101bbce2e717d20e6e4af974364a016d952fa38402ad97312368c7c7adce111fa9ea54442d26c31d884f3c9d67519318e7020fa40aeb2d7524ee62a7e4c585a051db694adf41eafc864d19505bd31d4967aa7330d9447822d13fd81a57db0850f0bbae4bfad5a1d074ae2e78b4064be1044b6dc107146e2149863804c525a12bb45f828195b77c7fb249e132b2ce51b4612c45074ffc1bc0da431179f6308602bd27f1d73e24ba1e7d9ca9556b4fb92d65d01a4a9a90b83f5e77e3d7b38e28225c3f31562cf82ba49e169662439306c1862a367e094f17ac8bce667de4108bbcc7a3e714f47b6400a0e8dfb2e8763c2fe9ca887bb75f493fdd94b4fbab534af1627abd62312635dc5868006cd4fa9078f9d240bba955d4f9564726757f3bc87d79750119ff2b6411eb1ca1ae804d5b66bdd1b9a77fda0e93661232eac3edfda476acb1088a8d4c80697029fb1c00864eb3ef9ef4abb38994331f3cec89d576c804f5f3cd8b50bf88c1ef115dddae68cde0ea76b3427ab2ab37485c591235e8f9fa056402ebe437be73e2491de7822c518e92bb39bc4510edd37b5aff6d885d822f5ef88e738790279805a063c24e5839e894eb85254c2d6830e84e263e942d8dab252d69414749ca03a9f79ecc8fd563799550d4babb4d74d694cdfd27b261b4f28f5d8aa2e9f54bb4ce672758e7f1ad7eb8ab4738eb2a847e81e899e0ac42a836a0b14a9cecd90595b4e2e7c0f4c33d2b703f625c3abcfcabaabd99d3f380edd123f47d895262fc3bb561c822d7ca8001786eea6a7d3326cc108f8cd1dc8cdefc3878dd809c57430de0a0f88a5a5401c071186f0d7efe581b3cc40ca46d22965a60c2760c7db1e7df3c9373369b430be7a889f66b1291d2f189a6cf2bfebe02a8353e93da05884afa63d5b3aab55ec00c09b97eee19596c9cd69a3de36d327e2ce7ed8a7ba731972afccbb6d27ac1c52c928fc1d2fbaa6157702ff83eda9f48f586d0e65ac71ca2065f50f22c8a8521d918e6248daf6883503bbebcb47dbb99c2fc26e69c273b0fcec7c780bb8966d2e13796ad86bebacf9ed6486d57deeabed5708fe97bf309982117e753d9a9d9b87840eb5bdb451c377d798c9665f9271f7c6cc66c5a77ef4b03320d013cdac517181791fdcca0fefeca923345d8ae849223f89d5355ce8dd40fabd378031dfc66a974b4202cc9cc24d7c2ec4c4bd55bc67c8de35985435b56c01b99a8f734e62c78ab2c7bcbd177083f05a202aeff18cc70f8c27911cf247cff9338370c87557be451ecbe7de898fe5d2d4ea9a1a859d57cbd02340c3a99c2dcb6d1b63e69bbe66dcbdc994df54b64b667e9558c4932c6bb10600b2282847c5078de0da6a79880336c3a23510d7243ea62b8732", 0x1000}, {&(0x7f0000006b00)="f373d1bc208c56ddc75a949964ee0cf3a2c8e25e33bad150e7b19b72509190b8621d9b61a2516e642d53f4a1aaba008d343b0f5a535995b3a806f3e15f8072784dd95ba3c93251f1", 0x48}, {&(0x7f0000006b80)="859264b6c90b4cd41711797fcc5efd12f34b39e8fb796659244e7c1ecb3bd31b98c3dda5c034acf3fd64e8052fc55f835b42455b633176abf511d05cf61d9caaabd411f128736bbe03f84423006f17db", 0x50}, {&(0x7f0000006c00)="822c7406d28a5ce3edda2cd90cdc4da797f1a34dfd32cf644f5f09d8f101a03995651a45d3f6d4ac53ba6ef0e25d90405ba1a46851c1fb30a82a4ffa0c3862360f016473031e9170fed2a9149db1fe0df452a7f3516cb2db46576060747f9fc54ba40b562001438e9586cb7c016632876d58088e0bbf9db6231fab30fd73d03715efc2bd6d9921a18a19a6d444ffb36c089afcaee3828b1ab9905df883dc2f52778e54af90e5a24a7506c424b6199e1616a907d28f09db3ca47ec0ba86f5b9021ccc6d1d52f8ce", 0xc7}, {&(0x7f0000006d00)="b8db751eabe2a7160ef3d13190392817b8a059f115b28892183dab8abc9482884144d4c1f6dfe0e2e73f2b69aa6393d4ceb666110b6683e8ef3fd184ab7739d33390e8ef248618f4adee26ae556bd2d9844f0e6a6636f1b9302d23338fb7428f59c60f7232800000fc6688d6c2716fa1369cb4a71be5fcc269829d", 0x7b}], 0x9, &(0x7f0000007380)=[@cred={{0x1c}}, @cred={{0x1c}}, @rights={{0x38, 0x1, 0x1, [r0, 0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r5, r0]}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r3, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r0]}}, @cred={{0x1c}}], 0xd0, 0x4000010}}, {{&(0x7f0000007480)=@abs={0x1, 0x0, 0x4e21}, 0x6e, &(0x7f0000008780)=[{&(0x7f0000007500)="73d5eb5f81fd544f55475d0748f8cb7e5e9dd482a018d230b596782501c0c145945e0d07064f7584b758fa7fdffade46f2443acb3d7ef3451033f80a586687e8b8b9a52c5753c208d5ac962ca3a8eadb75ebce27a36094e7c47d4427eedb6a6d9388039c96d1726e7945e023fb7ddeda55be3ca92b268e99d8e3cccb1aef36ab8ce493844d398871d893468f730a575552d3a0c1c04c625c0f0cdfec351f6472065bbfa44b26779d4c7cec8c271259c66384ca9b7626b9c6498c85bfe3b5e317bfced31180de634f8f90d111c709f091ca00b15f877bebd07fc906349fdcba0490bbf9db90e01b42c4fac28e934f939fd42836ed5f10a01d1a6f2c8d20178efc25ad6c55a29c4c58d07cd48629a50fd8bbfa24ba6ec561220a51ff55826cf22774bf17e7ebd49244dfdaac82210429b3051d8cc1733741ae5ec777fc49dffaca9ae8613d41531f65798e8bd7a6993c479e1cf8591da84477b0451070f837b9c5ac46026ff7aa908eb376bc90a53539ac9ab6d35f63e60525203d80ec12d2205d59a13f62b9d6447b870316e8ee7631a997b10240905b0ebcf891294ed92f96b56d9c9d2df1e412cea515ff9dc7bd406bbc88221f2a8653a86eb1dbf28a89f2320d55ba25f0c10c0c10e29af84ff00af8a67491f8fbf89c2a6887d21bcfb04da36581e8db01a173bfc394c69fe4e1a2ab0d23102957ff04945cec70855be726cd1ebc16fdb14ab99e15cda427daa2f14d304cc9048d19e45895bcacf31189a1aa75749796747569dba02631e712094c85057ae7c08518de0a8e153ef86aa5801fb24f7485310afb39e616857e993a683539473c78aa4be3483b78bc0a8e88b4b01d8a7c7a5772f89abf0e4d5968c3b6186281c9a288cadb46242c9cbe50667bce0ba8bdd9aed96bbc7e1abc60e6f11813a1936d7ce1ad1c55ae7f0e6f4f755ee9633ddd59935264e3698fbdccf7c30a0ba13bc4418e86cbd74be93dee78322bd4f4c024b8f09df5cded4fd4d670686347f049fee54c7f5ae5efdcaeb5e8869b96dc3af8de31846974bdaf1645262606a0770643a92863fd82cba381fbbe4853a806ccc85c4fce9c501148799898b5ad8951e8588d236a10022a9a8c87ddbdb9b01c045e49e2f06973e866cd74fd021a6caa26d31f115f46e8a4a65ad0c4cd0edc40ff5577a0a15ba30451a3d148fd445448e93dd395d12816a813a3a69627368ee3a59dde15f7a3b4c410ffe6af9e6070ab4244ea3fb89402ecbe64cfc55bea2bd77969b5771a0fba21d1aebdc37a1980eb986a3110f088c984f516063fe1bbb3fc02d0aecf001395e33a57b4088bbdfd065c96fb01d8ca15297a00b604b089b752a3aabcec1e147f4e087ae223b2dfc58ac71f889ff5c2150b6e3be7a891c6bde82fabb8bc90fae1e906c49c2b1a303248de7a893a40416205e7fdf075bddc733d1533348d3b31a397ca4048b9feb4103128ebf3e2a3770b02ec3b03218ae7bbdf0c0e494e307720e4c593db77e7b66024adfc5a417e1ad2faba829c254ba580ee9302d4c0841e097d6a453eb266781b005128ad76a535b88f74d6ffb96fcb63115fe6ee1d4e6f3de34d3a7e48877567daada92af8f94f38707103106f5148d6e443d8b960a99334291da676d912e1f0a6bf39eece56249ecf5fc91962439accd05f1d9b3c0c2a6edf0974af40a717f4fb387b7bf9b3494e0ea045e53dbd3cdb8782d6ed6dfa738a2376d36879bac8eb381c463287c76538aceac6ca499e81ea6d48a0ce610ab14030c7ce22d8c1a4675156ac8d65d8e5a961f77614128a03937026370edb9e24aaf1c3b4f4b47fc97eae0156c1bb59127d8dd4b9b97be4d3a8d055e1dc90d871655bd6c2ac6c85d1d804def15ac9a81666fd927a7b61137e929a1d8c2edeabf2d8811100a8c32beb1d86313d2a38be07e9adfe660387060f7fe7c8ad787b13f64601090d6fb466f81d4b6aec0a582e519ad86fd5173c0238916b39f68c1a616c389f3ee501128abef2fdb862ea18a69137da84ed6a44e7ef22effb37da8f29f929ef73311217a798e2b50d32b36c6422d28283af0ad77735fb9a981690739d670e5e0d87f5839e2de71dcc6d16a601fc5f48884599c464e6a065a1d2be4d968186095ba88944631f6c83d779b1bfead3353647cd0d049474a06a21047c8d796ec9e3b8ac7fa0d0880aef062139e7a6b44d24f279b8a53d371b2259bd43e0cfd8618608b7dc6c5aaa5d6ff0dd80d153ed7cd397be6b3d3243ba08b096aeebc38aff6dc12fa6959145c77114a6c66e200ef8bf7f0175659f9e2832ba66cb656a629eb4ee471f023b1640a8d3bc901cf21ff8333c0c2ff99c21d72959b43b3bcf4f365f6b4b4dfff2625d3f6793380a353466f221db0a4cb80bac86ff8d226f36b00ea220c3a0d0bc02ef7318a9ae7fc4e2899ec672ea81e20aaa419cfc5001dca20520bc01f7924cdf10a844c30e89c3d6d87f621ef646cc74122af685cdbf3936257ceffe1eaba5558c609f90a014723551e6d3740bcdde30efcba073b6bde959b33fabf70eb51b896fd8e69dfe2fd7c77d6a289ee93cdcab0f8cc5f48e335a30d8c3f75bf3736e296f38688c450a4608844c4cd2017bed4517a610be3f8b82941e44a1b9972ce19a9411b53dfc87d16cebf7e4d641319925b6eda923826593ca00bc7374b5f42e1d4d2a897c212478e7f0736da7c204d6e4e7958aaf4d688e577bcff6e879b5cb7526b51bb47de351364cc9dae6ac607e85fc7acb9672e4fd0eb577f2ca9e3638d591ddc32ac6e176205d0d08244aa6df3ceab8209125c2750be392ab3527517aff55142ea7557e53767a75f5d43dfacade4a4a9ed0de70f6fb75166463308104bf71cb8de09d74517111aa6a5a42059ac7448897791fca0d9b25c518e68bb265c1e6fdfe54df1ae0bcdb36eeb5ce86eb172307ef76119c97e5268af11d228769c4c8dbfadb9a9030b9796009911f575a0f8f110a26dadc8bcc12dff5d617659a59c8ef20c27d2a5eb8ca6512aebe2ba18204b61631cb75f59b50a4a3637611b9a314bc0fe30a2819e0eff2362c1af32b4a3fa7e8cc5df0fdda6df82b4a141cae3354d7730a81a0560b2b128d6125abf8867dd74cc99f416e51a40ef8807c3ea645f71120920492f2f6ce357967303dd461084c438e90304314d54b54282786bd20e4be74b0ae17e16d3e209fda2fc4735129afc96ae225ce89d6e6c042d3305c281eb2ddd7db13a55cee97f26fb0e88cb1457158af4fd4245f13316d0a2aff088a3a5d3145f8e4ac963aeb3802686dbc100382f94f56bbbde6dc9838e6481b65fcbf68cbfd00d472706488a8e864eefc7cefbe61c79bd4c75636695e273cc5ace66f2ea1aa3b4c11ddb3e55400a3f69589256962d680678312f7755c2064dab5105bea541461a23d720578428d9f52bdc930dab19e166459f1a4e74d29a0891d9b83a8342dd7a3f98126bacb2cc50161c6da6496b3960434744fcccb248e07458d973214485070ae5a4888e43ab215635c33a034a3f8985df2b342a92f5c5f5b228b92c865b30817348843f3162cfd6ba4b66e6ec1193c6f5c3d35081890fb3999074464464e345b1a53b1cc6da352b659a2e94850bcd9225ad4e06190a5e8be1e8e099c1e91c5f5816d1c56b8b10a3bf2425bef56076eef9028e6205f54e26d1224322a4ecda932385cd26c76e012faaf465e38a96ef6d0e787c9ecd96a69ad6e477c9ffe3cec45d800a1c3a12dd78cf16e07a8c07548e836a2cbccdfb209b77b8624bd42f160235e48e62b2ba64ff1d8184a6165b0f98764fdf7966415091686a42ab64b2e471ed352ad786c81fa98acad8ecf0e0963700b611c90e2925f5b2ab5fb2714ddf4bdffda617b89502f8a4a43ad64e0be460cfefeeceb5a4c6cb9781942833ecb12784ce4e96ec32288a99bca735f2555b0e3852cb38d0733da31bf7c2979ef6270489b6eca972ec38881b770530e0488bc8500284b3248ac4997ad6ac37c4de3aecff0904d4892ce7a49c66ad2982c4ed5dacbcdc1447d3f6f2b20b0b70c9d6ee9db2eb0c8c15023c73496c1ee9c0d739b33091e1c1540a63d3b1862243514bd1353be7f79399cc2f61af3dfa02cefd3604c590a6daceea13661c74fa04ca0a521df2222dace344d6e19bafe7f7313feae46fff680cd73460b4bb041e348623a2369eceda6e0fa531185064406f2521ff69d553cb0d5b5312ee008da4e380a5a1b4023f0b51c34d827e9819318d2a77b6107b5753782df640540e53498c2c583fcb9117741798bad0935e953cae09aa325041d3332130f4c3f232d43fea136c84e320a3ff8e0530995a00b2312dd0ff396e597673aef2536091519ea859c5f753616ce890d86e45e10a5cb4d9f6774e540a18233397ca4f1299dd45933374b356609630ec0d8707aaa14e18e1e7826dade461863b9e0514b5d613bdb2634ea41cfb686baeb8ab8925c96dd02ab74f2eddf6e279fe109de848015a8fc7bbebdb5c9e2b97560265df9dc28a4233ef6540e94b10808433a2216bb803eec28ce41bc30e6a2d263f7ae8641bb910e798cb7590a0af0b5d97f4a63007fcd82e4042e3e64ce9df6ff52038cbe204f0f820fae534351e3efbd95ce3e90a370a5505bc3089ec04f9ba062292f55de583096fd73be0b60b6090ea58e95c38fda140a150fe1c1f856cbac9e9509e5ecd1bb130cab9a395a9326d0da72b265bf56074b27bb04b196bff9e3c43f55c05359c74e655ba5813514ba7567d3501788bf0ed1de32875e8c866ba1fd9f2c9ac56748b8588dfb18eb36179cc80c4aac69900b080eda962279b5e3fbe7a4d9cd14d28fe92abca6c7cfdfd2ec3337012a0a01a17ef857a1bcd0fe75e773d759ce477f7b94a70d929094af7ab9de65cc24fdd95b2fdc653eeac362d0c9935eea4b52422d893641ddef3905bfe7a39debc1591eb5448d49caacc98a6aee7541417ef45f6daed3d88f8bbed90ba2edf339ee856fef5c23b4cf326573bebdf1e33d584ba1f0196359724f9eb6d06914a9357a051f3c78f8389628f74e5de908f9a01acad4e0075c35057e163407a161d0c4eaedc620f41e67c6da5c4a494205b39a9ce6526fd9f2a21c0b660bf67bc3284595a688f28914e9585e92ac56330114dd8601dc89ef6b81588b7bc0b87fb14adf50c80966eaef21dc2d222b2ef7efd2a1ebb78da3e81702717bbae1efd3201eaeefe6fe582c489ff3bd9559ec58d19247a7f658a008f3de97423f0338f28c6401f7a2a0b2b2dfdd749cf3a3705329590fe0058bf7d355b6438403271bb01adebb4c872d68617378109375f4f04a9f36fa819f5bc92a367a2939d4686b73cdfac25626f0da2b6c89a17144333a3100e6d06292a8aee5b13249813a6eb6f9e0089ebd9737cabe5a1f8959f1701ac7179aeaf00c1399c82f5242a119ad27dd346cf920e74cb9e5369b9ad41c0d3459a4ee8fe43afd492fa271aa17be4c07de1144433d0c8ca2ca9cfa41dc5b02ac58a4f27d23eed61feffcd2f4b8159cbafbc296d86d6015e69efe4d4350e1466c5714bb2fcb22831c7295895a36c149fc096aa2376141bed8caa31bb3073ab3c4b41276de0249ae4cbd88ee2028d250cf542b22a9d06604297e3b7a3c24c9aba53591b9ffc65eeb590b3fdbf560d30a3f395f74057871109306aeebd9bd39e7220255f4accf1e1617921e1a3fe07348e02482a161058241d9c282d737f938494fdf4b27c809d6a2858239fe193621bfed1896cd0acd3bedd88a4aef1d0de40b384a57ca53f000c4c1", 0x1000}, {&(0x7f0000000440)="0fc35eb157be65035c4385c2572712fafe002b839c1d1f76eaee7f54fa8dbdc54e453a3fa82658ad27af214dcedc1554295a6de472a41004e508f9c20000000000000000", 0x44}, {&(0x7f0000008540)="dffca506230e49df932b6bc002d96d83432a4f172893fbeb077286c3f463b0a241401d43d304cb5a85e8e8ce28d8a61d9242773ada5b64b7810a8b01bd053e1db4b198cb6dc0271913312e88dd580c858a3b3760a7e04db3d52884d06909a8aaacf0f395009405b8e5822a56807109c7cfc5d5482d1b09188b02022f0b0160bd0515f8ab082067939e29ba432103e4", 0x8f}, {&(0x7f0000008600)="435f3211d8d53a5fa0b2b6c949575d2349cda0191976fc703bdb434d1e6baa89546560ae9b0cd991121771a6ae105933c12d418e732034ffbb53291316da1e6826347810cb85b74efcf7f46085fb9ed8ec8ea23c34d37497f76a98e1cc11df5a8066165f376a8be758b0081e406fbe030f0b9f2ef4de", 0x76}, {&(0x7f0000008680)="e901600b34c7a9bb0026ac683b50adf3835aecca7a96dcf37f6a6b3415982e4fba30ee8398eefb2553de6dd9e867b9428cbcb7bde01adc7119ac8473220488e99c4501424baa577b34c6ae9c821bbf8ad37a5b7bfa5ca92b34339b99634f8f244666417608c0938ef2e243e5e7ff52d93f12af3d2c4b", 0x76}, {&(0x7f0000008700)="d28851ca62870c6dd14362a17cdedf9cc7bb28a14763decdb900052e411a34cc4e5239aa2609b3ccd46099b05c87a28547dd3ee321a2a6cd9443147d5703959341560e6f1719cb728b771e1f20ed3970191b4bad0857021148d5e335f135fb444fb8f13ecd98737e985665", 0x6b}], 0x6}}, {{&(0x7f0000008800)=@abs={0x0, 0x0, 0x4e26}, 0x6e, &(0x7f0000008bc0)=[{&(0x7f0000008880)="2f95582a7800ef7d13eb7b5c968d5afabc3bd8e9b78ccdb454510cf988aabb383570c6eda76b5986b72fd93cee0306796877609935cc6e301bdd03ede988e31804c6860f17db906b99cc12097449568b5094ff9f0d82abeae39022484f5d9e430f8d30ae87", 0x65}, {&(0x7f0000008900)="e8debf25abc153c82f86a0d6d65319aa17e4b749ddd662f6ae9d6acfe7200218b8cccf6ec22712c6363fd2d4ed89c9721061165314a94d5deed53bd376ebbb25c6859069797bdbac9b050fd2aad91cd57c0b46a04f1ca2194d9523654cf8263e9e0be4422d4cc2af4a6f99711a48d773eb3424351998419080afe9d6c29a23152c68b1ac34952d56278e2b9e6e4a2948e2adc22b86463a887f5032dc589fba91b0cc952c08ca3d68013c6fea3d", 0xad}, {&(0x7f00000089c0)="2c2345ae1ec4cfe86edd70d7a50ab5e1cb2e6f7520bd22cc03ba2715ea9f60b90bb2ceb1297ca642ae3cebf7919f6450fd2dbc5d6e509f42506f516e68c7e3aeab088a15197fe985802f134116f7830cf61857cb034f834bab4bdddda20ada787862759b192a2bbefc441fcf269084082dafd3b36e31b4d0cf9605241274ddb9d598e7ace0dcd3963a59435bbe8acfcab55b0b6dce", 0x95}, {&(0x7f0000008a80)="f971f1fb5e4a6616a1c1e13a95aeae7645ff559ff7f13f5e4b84ccd92f41ffe5ff3495763e8b0bd57cca56d07b981e4a0014d1217d881a1ad68db00315b65ffdb922f64db58f54231b5aaacce000e38090d2b435523a1e89e2920949cd0c8d17c76271d5822534fda62d2399c19c0b9377705488b5af1be9b44b4432e88edeeb341be5c7d9b7528bc4011fa471650cdbbe4288c0886938b71e14ef474b98e27f781a58af6dd430c43ba1e1213b28b5ced8a899ca6e5745f69a276521a3737aa5c05819cacee4acd85d0311df76bf87b9bc72398549fb9191a8519f649f1fa494355cdd549b95c19fe5309dbd3b5249b89656a61cffa2df7686e8a2", 0xfb}, {&(0x7f0000008b80)="68242b39f851dd6975b25bd8a45bcb6d8c7b892a1f787aeaf74ef460e68dfbe976defde6d52bf2109b564303cda9b09238ae8369047c", 0x36}], 0x5, &(0x7f000000afc0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0xffffffffffffffff, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @rights={{0x20, 0x1, 0x1, [r0, 0xffffffffffffffff, r4, r8]}}, @rights={{0x18, 0x1, 0x1, [r5, r1]}}], 0x128, 0x8080}}, {{&(0x7f000000b100)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f000000d380)=[{&(0x7f000000b180)="43ae79463822d8241e094706ab5a43cf6b9f94b5", 0x14}, {&(0x7f000000b1c0)="69e957ef67cebffc6c6aef28eb8cf39b3af4973c20d95babd3690359a7d79d9be7a63ba1b863fcb5c3b0cb9f99b5312a8ea754314c6573f528251d0ded7882815ce7a991386c812f654b4f17aa49b314b6eeceb41a593970329fce0aa974f5f10365c2cac7c194128378e24fe396bba520f050efe2b9553b53f09adabec41c512e5514935ee8dfad77ed3ba094a760b54616f5567ddb4830be3c97d9908c51", 0x9f}, {&(0x7f000000b280)="e210784d6c1667a8d489927a8d51ffb5b18a921e9d88c852c80dae58661ab447577db53a011ba6a9df34b348afa4d4da92601f4c835cc8f95108e23f396655b633a955c8c7221363a5588486aaeb7371230eb5b5bb5aa444ae5e7b1a1e30cb0f176bdab1a756a371d538fc526f2e32e8de7db58cebc03fbf72118fd4050ca1ceaec70187adc9d9fbc77983d59254ca1ba57177c73309b95a2a293e0db38e3102ddce3d5e74ea87b7e3da0fc839b4c2b39cf3a498159ba0603baaaaedb9c7b32d1ce744ea586681e7dc7a92ec92", 0xcd}, {&(0x7f000000b380)="d443e60c4445aaa7a7c38313e96b6f6e9259b28dec0e5ea12081c84555f27874f806cd9d2863062ffcc527759e174837c00d66e862fceb866bfec79a3497d89f20f5d3e6f78f1dc82f50c2e1826acc5d46ca9d7271c46b93a750d72af93c0a3c1927fe48f8c3b8ebe1f1558a3a86db57b4b521bdd636afae8bddbc54f7678bdc71d56b8e15ad86e59d473785ffd0f59cbb6d858c56cef52685181a9cc04bac209de91892e6623738b67ae94658edbb87ddccc6c488e018da2a695c5f03d65ae7cb4fbfd4f1993e8e2c94280ade0ab656de22ac8145484d67d3716161e5d8ac3a4ae47998a24455264c98ebee67a39e1aa304c163958106908826379d88f3bc4a6a3dc19f962ccf854083522f877ac4e6308da6e2c108f575464179b53d7712c39fdebe258214337caf0ef94bc6b2da210531734fcd8dae5647a70edb8a550616ecdb679f58959bba901573bd8b38fd9a6ae8b667f97b07ff1813e67d86a25a1d4c2984f3adc4b5056d6515f37b28911ed07710def570b0f38c7598b640819dd1ad32906aee947246871b690e21c2346eecea23d8a47d565a6f2fc2c4d6fe86a6264d8c23151f20bd34347081b77592039e52231aae8d0c176c6ac398eb2dc84ee8fd19492150d96ae20ca996c6588c8e90201786f705fce4e7b11bd2f5517bda6594d767dce98dfbc54e8b8092b1e7c4a6249521ee45b62b5f49eb5b1d9a8b7c985890ad24d44178a118fa3daa29c26a116bc46f69702796ffc459e48352966a57a755daec7b62209e854e2c436f79f091dd3d330f09cc1656bfd6330088657714a9ca88eb6dede901f194c7a23e8223fe31c5bf06d97c7835220105db36c7d1de50f4fbaca322afc39c27d0e9f510ed76feb670010c66d68636aa6be6f49c8a259e143842fc9fadb9b4eb37cd88b85dde131af266da1bdd454fb69ea5f9625463c0d01a68c14686ab3111442ea25bcc71c4c0fde780b2c70e0b5e69bec1b1ab2a9c9a1bdd6679ed09c2f4fe1fc6847d0309baef7fd0fe64479f61a0fd5135fe64fcae2d347dea9a2b1e361aa3ebee3647ea202e36d1101213e0eb4ccb3ed184adbeb77c84267d6ca6488f4448d92268495e1d188d3daf6ce2fd77fe1405118db9d13fb608a7ff542a27ce37ee3aa8758c03299a2239e2359200e73405f0aac3d40b75df77653019af42ad3ed69fa3097bd60d5f0af1fe7610398f1dbb5f88ec60c0d05cebd55fbcfb87528980a01cf85f8433b503a21968f13c516447fcb9afcb35243985358916e47f82711dc115a2bb99eee1c5f052e755c78f768cd49fa53845b373870194abf3b80c42d6a294cc3d1a28ca956fc05e9992af97e689bfa8f6f5b86ec19c851f2d24ffda9150e082233a7b908b8e5a0563a178357fbc9832af9473a884f1178680b1ad826332c022e887d553aa8ad859caede30d1929921584d30d364d578f44478462a2c15e416fd7d0d96509903ee9d769e07b7211270a6563a73e6966a892798b943e57a093a2aed05837bb058be60646f9c4896a150d09646b0584b035a8841e8079e5ecb550e86a2d64252d908f629b9dcad9611b3c610c8331344c6a9f8e0b7639477ec99a58252f3acc136c5e80556cd6db170a739fb45f203066c3b8ee3f6995d4c1ed4b8d09683343514cdfd5bbb282fa8339294c8521d94fb2da54d9ea8f32b40ff79ed6fe05ba4d0479cacef4bee8789d74721d3115d56eb71f84fac162988cf67636a7ac66b97a28730b56d890e6ce2eda06203873bd8c2b3c13ba4ed946bd381a7646c987da829fcf5cd5374f537cc58624e2b9a13d15f010848bdb3112b075f603da45d0f5b7ff1e9e4fa6ed2064730a6c0c72ecb7cb827e47abcb67ff41f78e2b142053270f68cbef32da2b91908c9ef79e5dfe8cb5a69fb7053c609daf78a15cf82992a1d794c248896f6a4cb7b771620f9fe6b28aa29a36d8f2dfe6a3fcca659a7f25106fe4b84d9d06098a3e580b826c98db37e2cb6897854e8d5b10838c9677c94f815a139c56b8d5746e857e85c15602e9e098736afc2182fa89219d8cb50059e52ccb4d29ea8d69074b913dfb575ea75af18facc07552217d3f889496d4f751e71978872010c04c25aa9445a6426bcbe5ecef033e578bd849ada7e4d0969f0e1a38aedf1391db49c4651a5ddd52bcfa3c0edc174bc315e27926f61192c43e0b8337add64faa163a72189c701decf992b392913c1f4cc24f817f7044f52da7880277462688e1e92400e6bbd9293ebf88c9d71926ee4ca1e05d8ec350ae877e73b1a9178d006aa4e84979c7418d262f0560e0f966d80acceb122babf9274833e805f042c98c719fb86d51f8cb0730c842bd8e77177732d83144602bd2faba52c4cf973c6db26edd7f1217c5259195fbe3cfd3318fbc2074394e5a5a3ace6e2c84660e0e2803cd97bf4dd4ea3dd9eec1838b1a7836edb7f603a24ec95ad7547c8ee22705fc0a41cbbef7595692083589567118803c3f0e5029e1fa6b8190334cd3ff283e3ce314133e5a4331e10e1c1cc0e869eb8933ec7b6b7c797412fcb451c2b4891356e21ab8d3caf1c46b84aff554e0f1eecc5a496b78d3ff0f13a6c498604c2dbb0448762552354fad4b4b16651a458fa3823a422fc26abe1ed6506f0846634b77e982c383f033d9544a74914020b0c69927118c45d6fbf9eebd45676b00fa17e0170528b0ba0c769eb56533bb209fd172c010383d07b7af4986f61c501b6accf64307a90c04c3d4eccaca99175151843edc25b7ab3e1cc28f678289bf8d85a667f4d84690de860611cc9ddd0e1336f1b1a95fdbc077a6f1d1b5a2746de694fbff31838bbdff8ee1a6d5dc43ec58c5c4f36e93908f581908dce3297fffd8d8cb2c1c92f7e3c4986678f143e73635b4979ca83805970ec77ce1be960e7602ecb4b71474c05583b70db670695a5cacb44436d3cc343b361352855a3f7b01dd6d59790edc1a9591236844b656118f7e4c3b31fa5cd44e6e00dd347ee1ea258053f46fb614158cf427851cfc280d6944553f63c3ac98a5fd172aebe60eb39cc3575d9ce9d228c6b8ef97690caa3ffa1e938c540064c777313a7dbb94e30dbbbe98e5f7fba2f95d3eed738972c5b5a419f383f2e48fa8896a9387259a51480cc8fa69123e46caa0f4b8e3041c8eb28f1f6e7e0d40ffa532a20a31ff3815d1c6130379ba3e1afe942dc99ebcd8e56bb62b750c1276635bbd015fb9b3a18f2f08bbf00232a5dc710fa26fdf2e6e782462ceab0a5be83d0631311ef2a1475f706c9d44c2c0a076d0c4e4e3b2b9bbad5791011d65eaa5cc6ac4f8d180688dc4e6e93ed3b940401497f2338f69e58d90c9d272f5ee95b81c2d44768b8ee9d5e9a2e58ea68a77140e7012a9b232be429bfeab0de93f7da2a39081086d9c9718b17ad01dce689545de646b70eedb956f9604077db5462af7323da19ab7feab0fd0439f464c4e919d76891aad81e8c806aa4927014d3b68313dd1bbc7fd0c49dae1cdfc08656b6c75a81399bd43e7d19a2b9169bd8f949124cb8ca19beea7a14984fab38a364f961269af5f3e18a9e6656cd0f165e4763aca7658054cdd1225b3f4368720f86b4f191f706080d64c837d3aa7805a402edf575c87b02c65fe46b0f838b2e77513ff332fcee5b73730bf3e246e83a28ef66c207b36486ad6b4675c2f1a3e26fc1c966e30896952da785645d1b03eae02c627d4d1a4f00b3b6b4c0f0d8fa1ab3e220b27b0fff2dddd04802dbd20d899264333b019a57fda2694f05450110198c2a153f263f8133816230c01730d268462053b617a199a7ec27435d5eb97e175d62f540711c8cfc402fbb4012160c1eb827d48ee71c5f81b8bb566aaf0cfc97bf6bdf17d47c9c6e34d190972e74b125147c92e190d4e10b0e72fcde04dc855c11b2b7d634c9244903358b34b887e1846178b4ffadae1e199bbd43dca72288e894bdc71dcc4d396f3bf6684ea69994f7aa4ea50dfc1a8daf307fbe7d4c647707bc3526d2621fd7c6810691bd563885721668254ffd86170efe83768d410ea81861b4934861e0f641108928d4dc8e646b3320f93facaed8bc90c8d19e675da6c2eb1356c0446e0475fea6adac534705d4db6990a492ee13111cf7e4be09d29bd1d5ce7e3a980de89628de04f9dace2131efdad46205c28f1e4b87eb1d1e75c4cf93ea24650f96c4d2ae8a801c69ebe0ad7636be77134563f5b53ecd19ea406ef6876fa92575f846faa4d49f801a99cddb3ba745f940dc8d1337fe532baecb769e1badd0f0c7e79beff8b7c9e63e555450b074522afa1ee2cfb8edf68848e27c56595a928c684f58e628284dae7139a29dcc4b40dafae7f9b9400094066b765a1b5e51160f9f35a651edad99612663005ff0f547638b2c2996b0fb1b29fcf16128e70fc95bdae389f8998cf9cd5a4025066fd5614abdf245b41242d4681834f073e1f8129b26a2a6e6215900b548df534ac5d908cc98cf60dac5e311bd2fde658d261b5cd3a17139969418fbd6f4e21cb4c13c8075ee0c8486017f43d7fb8ea08103b941b77a9c67acb5c0fc38282260b4ec0657717f5e978899635b70f55406948f96f93987026331d5fd3198ebe7da015aba9ababfcde5e953f3e9e4813aa349f540e66c38d2100e8568ce7a5c8123ccbe6f63f892619f88173c1528afbc6ca1c3a5b4c347870b22ef743e08ae44f1348e3de97998b7c111918e82fcbb6dd152099b63155797463e9ad0a7c28b2c9b7e97f142a6e47040b4d4da8b9e3dbbbf1202b8cb8c3caf653cdc4c3fd3b1ee75d2a1abff66f9e90d25b5ed6990ffd328c9c426f32d97e76181ba8a918af1bd3caac297061ea5b451d755dfc64d29bfe71f8fecab7aec6095e1d1679067e5a5508be55b5b4a59b880381a1aa63ce5ad0a8e796484f266e44da51f2a4420566ff9e3a1fce8ee564358f875976f5385cee55bd832c6abdf83c4963f370faec7fb38d1fe204b8c17aa237039caab3b7b77c9afdfd8e532c8a8641eb758edc4a2b26c8314c9b2ec2eb7f05b966075dce02140c7a6e2c4638f67443e1297587f048059e2e8822cc818bb8cb051bc8e18590d3b78a437535f61efa275e6310ead8679390cf94f94b3e1d4ba7e2cedfc468e01baa71c68e21a9e8050396caec0c9f3821c7f9664e3c59b1f7f2e2ac2c478b63e44df3d342857a652cf254e039bdada9270f5150501ee0581a0a1925e910cf14bd88afbd89695445c163f84ff40fcb03a0fe804d750369715f756ecec819d5956de478baea7263dd3b129c513d7f07d0ab36a53daaf32f4bca86fe7f3926c5546d3dbebc4881f810d397a41765ca832e919ab34e10f5f6b305e9a7940e43f8d3d786eed5af3ecfd5130b79925a1a02d983c9aec605ed34f4d2e658e0b20e9535333603c56713d788664a62c82a8adff50d62cde0e5433b226efdd916e184dd30b24d989d1cbb3da7bfd52ad93557a00331e96334ee2132d57d90669d0159fd829c33e5ddfabcd8601e33fe6eb5858c7b1ce79167061848c2e18777581c760765033d0154b383b4ca6426e9258db62bdb762c30d16adb11f776460b3c0f04748abe47a80781a59754bb03b823a111c299cca608c4e8f8b058500eb1a009d7ea86f5c12a0c0539cd60c42c3931cb0438bdf297fe37b15a10f3af967072eb4d7c3a5c477814708372a564e62ea797e841981f19662e1d33dd3e2d49f5a07c386681a08a997d05bebc001222ff219b8c9d4ddb95dba38a54da57d895ac23f62874d2816b5ff7162b5c79cf23d9fd22b87494d4", 0x1000}, {&(0x7f000000c380)="534d780c18eea4d8be63e7cd4bcae6f94aa23b786bd1f04911cd0490bed22f9d55dd35e0dfc371d58ded0f1c9e2fe6f1881aabb8176806f57a4c84234bcd7f810cbda85765d89905cb8487a1889755bdae3e0ebc05c2b0ecdf0dbf0c0431c62321340f6c956a41b2071247ff93016fa50761fa0c1ed5aa1c27e76c081b8edba152c0c3e2fc9ed298e80af2de443d6d96e591e0b65ce7d89eaca8100c4dee2879485febc552a6d8667857671c0ae56a40bd2cc03de60477a93098f6a349ad97c93351dc8cb07d0b17b767fdfe21ced7f09771799ea12698e9b0473b078020d70e816e2f1b7580f1c83b71210b315350c615ee32156974e7eaa2fdf91f0827a90aea457727ffcea31223e80de2d2922a9f534c5d4ba4bc0509a341927868fe18f7ef415641611266ff8c09a0dc16aca8dedb25b249eb5856cbef8fc693e64cf5ecdebc0f7e9f7049b8030f82b75a4e93e794e4450fa2c8a1c490ab7a940455773a01e9607cb9dfd89271bc3d715a9dcee2de5fdccf42c043760aa71579e8f6355dc73937779c8472ab75246a083b006cd55e2b20e115fa0c881d75860fc5d5a473ae2d54c13ed33ff514b30e134a4f43dbfdfd294feb3ccb661da333de483bb7d51cce233684f14186aea423b5ebf1b5186ecaa5989068a1ad297a00c9a52992bfe948cacaad53c6a1c09bce30c8aa2ddc484fcef348aeb1bdcc732f14a2308b012126e2e2acdae6d2371f385666813b198e5cebdb0d2d753afa65802cfc38c047d3308a8b94995d824109c33202017c1db5ab4168636034028c2a567b71f1503233b67c8bde987b4cf4646247fe45430c183a35dea1786d6c7178a45625b121e7350cf15efd46a15f287779c55fea4fc2dd3d62cc4eaa29ea60764dfc44893a24c0143fbc92b396d16319c4b3a8cfe7bd7872f24ee0a27aecf8f948b5d6bb817892068386b9af00d80da5160ea61a9352b2bcea5984eec01f02d4c01244107365100c6abfba2cefd37865a2c6dfb8e0bf3716da420c2e0e686e1bad3e43c69308d932ada137630189b71c58450612c07851c9ff26b186f1734ad1a71c1ef123753b3314219a21152915338f3afa0d70482ee163c8e62383176b2ec38103fd4a6f6a6be99c5919452da1f864a2fad32958b84ccf2cb12c820ec97c114452da10fd8ce5c7b7e855286f73ae3588cfc2b8662166cbe6ffc6831e4aed846a6ea74f2e528f6135ac458b91547e5a76e84f5074339257951a024f45a1baf0e1c477e13e03337ec3dfb5aab5f3005263a9ec681649735d2b14e97e856129acaa009ebbc67a87f091be295b7efc7ab1a3046aa2155cd815254e5b749084873a1a641d55953c1239a4395d8132dc40461ab013f352c4eddbac80fea2f97a8ede8bbd1516a8f86e8d77c67eda838cd824e93faf9cf133f913c39b43ec1efe3d2b1e1aab856ea6a58b3df9f17c062758e4f16c61cc20736583ff5e658732cd4812d875b1e38d175118e8ba27aa31bc8ee3ae73b916b93a10037a05fac66fa7a2c109cb8d9312a182167d8078ce43a998addaef80b7584c5bd80f669a12f4e3a2c2d8b85ac3d98c034878c1e698bb3e8243eaecaac1de8b3e6b6f62227f86f6d5aa56afa99723a5be1deb2e7884914f65edf2e2409597ea459ce22313b836e04a7cc455f91f9cccc6fe3cc4903573e9c371aaef44aad401af66920a2c96ccf6a0d1d7542551d7224d36126cf0ba9c07fd4d9905b3df33d39edf884e6247e1a8293c8aa3ea37b36603a96e5f16cf06133f42865aa5d28e1aebbd6d19416bd27dd58dfaa4c0282ef7b77fcd739c1cf9c3144cd139aefe382b90ff0f2cba117edae76b2902dfc6dd2ddd243e2b4e390097700ff19156701ba3f1932416c890184d69cd267406c1efebe7b23bdd06837d8b00e7c71b8b06e4dca0a9c80471eb181450b4cbcb12f5f38c617d72317bc3272872dcbce629a2f1bbf0cc2f9c44fd03e9010347e836192c4974dac488a850217e5a77a52ad8014f7075ebcf18b0864e0d60a940ccf33e217cb1fc85374c832ce416d24b860d60400298adfd0248af7f606d2ee0523f73fc6363e513d795bdeb4a5116b927a49a856a79e25115bc355c56f7de1111e7f2e3665162be3ef9173ae2fb8de5760c008126c42fbe57de9c3030bfe94325166b4d160b7d7b9775bf684d2f78916447d684070ddcce28e72ca081fe2eb0ef8e443a4b6535386dadeceebe20011b3cf5318bca098aa43cce48b38f76fbcc06a7fe698931685aa3f04c1df071520cd610f8f4e9ffab4e7fca2581bab61e0273a1faac8968dda2ba80781271f842202d983369581060dbd8b8ad91703a4b526ecab6b943d3d986574676b992cdaf7700fff0533c4defdfbe4e17f7c33f634333bdeba2d286f36b47e6f330e7ba3a98c0844b8a7c55c1621f4a4166cfa7ef8ba64ae7ed434b106ee49b03ed01a3581a8b141efe3bcfd24735571bb3c0f5a7c662bec83f43886511ca9a4d84c143eac152a77edc28033486d2f62ff8845fbfe2df95a8cc472401f34f8d5186f4a26ad988cfea6dfd7c9d87a72d41b5091e06cdb7b51ff8d23e2049bfe384349ecf973364cfc117d92aee849ab48f9517faaaa50574a8988f7478eaba0bd55bf2d1fd5671d9361855469f829b0fc3c9f27e6bf7ccfe3fefac68cd1fea9bc3e996078857b171da263d89780a5dccfe53fadc224400f47561477c4e8c2a11b845027f2cdda8dfe559abd7f7ef4fe75ec4235ff3247dc1efdb3bee88cce541cca2f8ab077fcf39a2c8437b4ff7dd33ff08809b8606abb677d8ebf9c8f2dde27269d9ac63d6b4493ca2de107aacb3e19fedee05ea4151a540677215935bf08678990e389ad29f640e38b52f577ec151e95ae46b84b7b490c8fb8e25886bd25522130f57ab46f03fd6ab64f422043bfe0cb2f42282bd19fbcc4ed0e290751c65198c0720d82e72513b8972b58f3605f43fdb2c7de1a91a56b228683ce82c7db2ee7290a5e021b105f5cf5dbe33cfc9563c051adc15226cdd264d23d2c236f75b7711f86b0fd03ea38347fd8837f607163c45e7c4b778e6f5ac258b73c1e5b84ababd73fbf85f3a327f406ad1218a5b72c547bbfd4b3385a6486f8b14319ae09b044f35766bca3576b6d8dae73c07960ac3875916ad7a21cae62c30211e0a7855457001c3bcb49edf1fcfe94cd5a1ab8b74e2a325fed2a06a027f75b797d2f32a9b31ba9e7ceb4041f87db461f451aa077e3cd9727ccd8f8a06e0bfa89a9f65b581d0151f04443b001b45505087a7b513bbf1bafee25190d72d1af67563069f3feb0e554c3d0dd137f9071da32ac6cc3818d981afe63aec3a917e11d8c65ad05278011f163e33509933db2c9cc2ba22acaa73d15087bfb65ad23df35eb1825d1bdc31a785b69df2574a23c9c1596a643911802fff38c7865d9c55851dd2f6d98b4adb147ef81b47a70c864f79f75b9947dfd2b81ea0fdd3e2ca0eb5e3bcdb9630cdb819b854bc0cbbbf9db62a96cda9a465f6cda16d38c875656241a80627a35af3598ee26e5eecfbf024b5a82b7bd676a8404d2308bda81441664c38d8ffb363d17661d002a6b186c4ae576ca7e6b951eebf91aec3faac2f1c346c3c2eda9376aa76e8e0f24c073252495c0f9f78d264be026c9b25affab2d9073f1843658a287d949d1ed4969acd790b2a712216e83f2cda14408e8eb2129e6c1db0ff1a4c45d127121b81859efa7346ad695688abb9ac5d6ca3cef3c31894c200b408941045c0baca7c9677ff8d0537311563ec806acdd0542a42cf98bfa51b055a3776cf7dc518a0072daa18c1e70f0b1554d7eb19667758f5271372fad074c238a6740e88b9707798405203c9b228cde8b28532d336e8952fdbc1993308e27078618e2821b55e62dd71acdc4cbc63eb789e0d3de09fda1e465a545398217c97768de3c591341c3b458242ef2855ac386dc3347178ab8d74ad03874cf9f54fc288078782bea02335fc79f8706308f71ba944c5e557fe048d955b1416ee5e826a7b1917cd18d5bfc5294fc48f1982c25315baeef1fe0a20ba9bf075009d4deec2c14315408370e778912bcfcfab8f53ce1202a922ca82ab998ee9110fa5db32ee4808bb3e2c8ac27c70e70af4df5ee413885bbea8cc377bb8acce274e2ca7fbad941c032b6b78231d9138140792c7c3be2f2003aee85747c786421ae5a940f8e7d16f2429631b868d972978aca6d6fc1184f3c820b9fb8bc0fe58f7add606a5867e6a10a10f05de6d4bcccd18e457d2a4c9e3c5c73aa1e55e9aa4f80978a24181bd6f789888bbb4591762a2fc5f1f70f68ed2272ba564ec3bdc435625ba370a8ff54959653f31c545c96a10420b97ab7a5956b12ce8b46ec4a335426dd6c6499f22d0e720d9b08ce7fbf447100612132b96f7f08e765822e2cde6f8d8d080cefb2c146d52c2756cf1bc42a2fbc54ba45b69a7fc672e4302963b8bd8ffece0fc90fcec9620cd406a8b8bdaf04362ef38418ec0db20fc2ef65da220e1bdcee69dfd56eee6e62561d4998d4368f4c737d16ccfab044258458c64ac1fea26a6fee474bd4a6c49800f6a62480be11558efee623d5a1aded6c188295c8bec904169d7b01a19030ee073c60757765784b20d38bbea6bea7a6ee05908b01b658cbeff5d2ddb40b2438d5242ed8b45bcb9f087ad56d5955a92ffff13a9812ad49dcdd4e1a89c03e0afe516db857b2f461fd7e204f2427a7b2d9c27c6f4218a04444bee0724dbe77fd2e246174b364f118e293ab1c23e2f0ec7bfb3ced2415048e03183aa8ab87abd82c2939468650fd5202e7cb93bbe6086e6fd4fea19f4438f9bf1150e2d62f12aba075278fe0f33fc3c07e3fca5d4c2d1ed1ed1cd00e7a0f1dea1e55ab35ba58ef3f5bbf41fad66affb3f9139b2b844e0e5f1461b708a02440641b6fa92afe4eb88b340be1e907bef96b6f9ccf676676c37cb2ba8f94c591b87f08bde376af9984769983ef910667fccef267c600cd8c2cf455b2b73d57ec4842baebbccd7ed9756f292feea41c422f75381be8d4ddfee9a9bd419c930a62a66fae96e7fc6fabebead868daad3f9d77b73c9e6669b642399ab70d7dadd72dc1d267c69835d521b8b327a9411c1eea3e89b1e93d107a1afb974c7a5b2ef2e5989316bbb6f31b6c89682740de635e44da800a179385cdfa562e6afce70abbc358f58380bae8518c6c517c395b38305869a339d8f6883141e126f76161c3451a1d30250831e76bce2aa9eabb8c9f42fb0f8f1b410f0aa4c34054b189ec206a53f807b0e8c66c72596a35a5d37d7b22cfe0952e511643aac4c1acbb5d6f9aa687adb77b289c9e20d87397835b734d43c9d7e7729cd6cf7461a94765ff6e019f2244db28d24d24ff2bfe73019f5b9b63e738cbcfc1b8a77db30f09c7ff6aa0a2bebc8f638f67bd7ba286fa9053762d511bb8356e84cacd9e1d9958035afea36bf8a19e44a7a00809e72040c71772e5035f68f2b5e3853ee48cc8a6b8b83452c267b61e7f84b6e11bae43d0cb7b531f7ace84a11dec291058c48c896961e8f1009811a7de14a153b3d8f8a78c23449a0f2dc0c715c2b4d29004562ecdeb7b73d8849d2893ac16a5003e6005987c14c6b45e0cb0eb412c14d8484a25e6d7efa1a3c10e17b9b3fc96a67cff798df8004d1dbc66dfc354a4ac74e0b94f245772c1a42c8ef1e601374566467546c44b4e62da6a582bf73585e8bb4faa60b46359ed4c51b3e63d1dc2812863910506a7fa447c9ed63deec40dc162fd8b02e4b8a80bbfa44b442b68e", 0x1000}], 0x5, &(0x7f0000003000)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32, @ANYRES32=r5, @ANYRES32=r5, @ANYBLOB="3ef34410adbb634bc1f66c80a6bf418057"], 0x20, 0x80}}, {{&(0x7f000000d440)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f000000fb00)=[{&(0x7f000000d4c0)="6cbc9840adf67a01faeb4d8cae0ea6c904825eecfb4d69ac32a35af05495e85f83ec695124325e46b5c9a7f58365da80624801e766710dde371cef", 0x3b}, {&(0x7f000000d500)="bd1a6c70c955499c4af8d55f0aa8d1b5761efb9723f265e48c388bf595f78b0cb07eadc03f161cdb0f3a16f4951a6e8ba62eca22493211f4e5e88dee2bbfc76dc192d51d859b21cb0b3fd4efef0bc9860cd70cdefaba48e9951e19916c9b348716469944986fd027ec03aca30d7f46e6381bc37a5280520531999ac13a041ec8947105a090a27ad71220e941d93c4bce8ae2b3eecbdff9c53af4ee3b", 0x9c}, {&(0x7f0000001740)="46a5c2c004cd988acc6fc6f1e35491467e2683aed602b8ce9508785452b299cb34b252ccb851a186c21ec3081ac7a2d4417a14f0e689511339bc320f556329b5fd9a6f8915e7b63a315d000a57bf04768229893c4788bf977596104accf0838c6edb06864fa6eb251e7a26fae1a231d9c0c1ea5624bc214f28ea5ee0f4992b89b47e8f369410dcaf222f8423919a93c8a4a699a9168ca061e51ec2e8df4a22b050e53c9fa377003989fa007ddbf57122169354bf1e86c0860a87cb1203662de07d23b981e47f000000000000001f5ad95605d4c7cfd8f19e1fb8a7dab19672215028c51cd68210aba21c24e47426cf42594319209e6901405a8a5b3f3ed6c329d0175071d517569b2c9c3ffc58576b181a4642b53c400cc75cec961e3a9fad3b3466dccac59a45fc183a164b4c79a9964c25f2b5eb2162a29c5084443b77dc04379be6d9afea078f97c032442777f8a2981c80e221fff4dbd6d7a86760640b04b0aaf2e222e13f8d36d93a", 0x16b}, {&(0x7f000000d6c0)="64003fcb5a0d471a5f615e78c5a8120a2708850fd52609baebd1cbb77745039ac4d7cd271d486e038a980fd2049b66c29a80d03e5f58bd9fdbcfb6fa7a7fe84216d80342b8cf0901d2306c55ca037fbd85da", 0x52}, {&(0x7f000000d740)="724f2b7f3d4c873c3012a5bb86bbe48de5eaaf58aa0b5000ab3f6367bfe9d976d2017420ccbf0d3eb2cdc27ee534382e28a1d1a5fe528f808cb5fe176fd577a8d365e00a90e8f5fc2da7ef646918c929e4492e814839307d821195810b2a18cf61277d81ef29b00329851267b1d2bf2bd48b90d5ce878af14885a08add714768321c6d4c600ee031ffc58874d05dd0025d2a1dac38e3569c1f51a4d708c40a62b301e0aaab668ad5b39506e5f4ccad5acf9b70cc04fdc77ef2ad598476f525b3e7fb72da26cf200a9ac698a649d3904ea916f8c5b457d78e8424fd550dc1634537dadb9fbe1f26189ee0ff326aa8bd410cfbcb1e22b6ef153dfa3ac369de35db52904306f1f801c6d0a41060ffb2e03ddab32867cb0bd769f01fde85b44cf6d97c20fe5b3bf1b012c0b00dfcf28c59a068b55506674be591ec89cf7a4c7a3cb0837a546a713304e24d44079f9e31f469ebee2c82ded2630aec14314078a2d5fc393aac583645d39f0797f94cbb3c8819d9b9e682f871523940700ed1ff2768d076a07b13613c629177982b8cb0fcec6d6213bf9e2621d0ca882481aac3f8472ee352c44835ec61e6d3b36181862bf38e85449b73724f0c237eca22a746d9eb6f43aee6927c76e3041e952459bdffef2531c2f0e4fc3d6275cab94d582c535b5c61ad7d26a5327a910f69c7ddd336e86f90e9fa36781525fbe06db8f0d08a60641cbe913e4072de7a25905e3a02343842226cf0a56469bea9d9dacb19e50f870746949ef93282831d6c8be4b553dc693f4880ab966b0ef64c79824b8ecc30ecb15e089124bd61c565792fa0a87e8e320bba844d84d7c7fe07610bc9e16eba2266b8166e6acf660f941d92cfb7fc5c30bbe7e992576386467fdf6bffb93595b35b1a4edab34106b0050602eef3053755917247467966f1bcee4676af9a6227a4bfd3431e50871c1efd717788eac38d222b7812d30c82656ae4f868356dab9efa55b603c68a9d225336a99132d3790604bffbd384b51a07672c89bf2001cb056721429e0f51f3dc6e613a522d1db5fc56b8877f59b50afcce99e3b440cfa1dd999c707093a69c03ebd990e653adbd7ee52f008d8b963b07f1d0277f14d52f27e8203d9547177485735870718115ec765e311d3f5a53500a1108416ae0f177b622a11a231f6ab69127942c78b4b5368a72f9ad2a26b3daad77035fb4f20986b36a849cfe8a3e7dd98dceab716bc9934ef8fc1ae17d3976a7cfffb4fb178303f336acdbe545ce4814990630ec67f2468e361c10705442fe27989d8fd67c3b6e42e8d90bc6b2b8ac6ad309324d164dcc569190aeffc6fd22ea260a11a3b8008d988a5c65246a09515605717bf1b4f1aa34b8d30f9c85bffcf05b93a6b76332fbe2d77b6076e7e5f17c98dfc4b54bd0fdb773c935013d3573c3a7f685bbfdf116fd2a390a4bc88fa16ce3a14d4535c6fb956c1ee00ce406f6a92669a4b28d9986a8ed28dee71f070d1f0b10664bd9d2d41f4d19e22e7a4354d7fa3d12bdcaad6848d3c0de9b660085cb9c21710847b4286025b28a14599880dc8c0702e569854097ee8fb83e686626b9279d93beeff43ebef58cf18da3efa73b8367a9778a51d81b563f91b8dab0bcfac43b8a98b16a606d327e2d877cb0dc3e6012897b7b342332409424a29511a4c38d12cc2f7efacaa04ea25d594b8a7fab723515fc2f8408eebd49a61c6a9563317e449de05ab45dbd537145f87ccd9098d6e4dc7baaea865d8fd321e94fc7c5acf5629695ab6969517449c2a7f04dd7ae6bdf55744faef8a277460d5352c45191c1196e0ea6c07f3828a24bde574af50b50db0a82b2e165f5eb2222a697812849dfcffbd68607a08b68e9fc629c390f754b95cf874da5d73c4190b7f2806d20c339359040da80a9bf005a3f385071fc546580d5b2d8e991c1fc96221ebbf69b6bb51cee5592260325c6ef1c43d5a36e188a4e1da7941f1c26df332139a418751b94f3d92a8c77c8364d737feb0c2bbbcd0205a66b892820820e4da14cf1324103d38d8b3e31b1be952cedbe4b5670be1cc6edc6be3904ae3425eaa1e897c8630d791ea680c5c3d201ebd72a2456e03c3231323fb4645ea8936a2f568bc6c5e1299e06d1446df179bc7aa043762b4eee5d49853813d11aab522a7f0f755f9db8abb89e2c6bc21c0489322646d35075af789cd2bc260f335909958ec7b6e7a9a1fa7dcccdbe745c151dc9fabfa865947183dd86875e0981ea7706c860e3488eb6a854104a1b584b5c4a067692f528f331c7babff18e32f07dd4f90ba608c7f1dddff6b2c60a78d47ffee0dca30624b1a0c1d559ce7cef18cef14da5d63c4be3c37a28f099f77a693e6a3fc2629b7cf9f06f59a7b0a4d8f5bf9bf72b0fe5eb92f658ee740eee1fb18946349962fbe4710fcd0bd672f5c47148ad25e42c26b17c29e5b959abb6b377c3a3c1177745d83f03e675239631d19edf28407c9005d512db006ebbcbf11fc4ccdb1197b6d33ba304423c28824c789023b9519e42d887d0117c7016b4b70e9cbbf9f588d85affdf482be0cd9a5cf0cb0bc1d2d943b068b3a72ebc39b317db6df1ac7adb874383784177df5a4778a8fabaa4f1eae30f6f2b4067e6731c33c772d25ec0c9705031203c2187aa849ac950edd49113c9e4ba7a84f2e128cd974eb129a67745e9fe52bcfd2dbb003579ebddc96a2002833a884dfa8091d03055848fa437da490872765a580e0ff878e69c51a580faf7b4e2099dbc29a4eae78a2481b5c0f636635f56e8e75cd8c426e7d7b07285dd57b81df280ddc4eaf92c041bc7960f9c412702ca2095b334d70140d5d09da3d7e3501c5d4e5b98d94e4e23a999d52c9cbf689c3090e0de061426551a4046db28b3e3a8067ca7d7cfc867b3fe372650a70fe9984846ecd86937d4edbcbcd1e1e49670702362ecc24a874d601fc2ccf699fdfd9991a5e6d861fcee187583015bdcd1664e0865a1e07eb19eb56922b7344534600f5d5e898aec1e87ee4d73c5fcded03ed0eee9cbf4c0b31546b7ced920fad7e61a5969f221c59d4fddcba7bbbe353efbd1a7f4b67af988bfa9d601fb9264dfaae9cff9d1d807192e3ad66e07abff3a2d50002c02ac1e5a13d032f99cabf68decddd63b6577e89578197aa256aecc9c3e2a5133c8dd0e9fce9fbb56ae5262815dddce9341b21eb9751b1deab9e4b5727e73e58e9abda4cece7ba9133bdc65397fcd154ebdb53f89f326196935cc57aba5532f27e9cf5215024606a3877b748aafc81a154ab2ae41bd2b2446e44b34d3369b15722ca63215ed8864806092f85cdb49b0264961e6e0b81ffffeeb0c732903d3ac6ca654942ced0ddd415e13f292a4a1f10ca7de0900fe17468ddb08d3870de8e06edaf9a0a1d6958a096dba84b72b3eaf3715abc25a0f0511c28facf93d884ecd0098af5a79b42a4bbc54359abc827f4ae96c96d5410167a490a5ec7d48ee1a150f61b74c234df6aca8cdc874708b5e713d4e8956a3f4dd211fcd2ebec071a6575b2d469fb62dc7cba348cdf3b69a91e64e6184dd4418ba7c85c1cf55e5bce62ac913d3824f0ef9abc121942ebde5f4cd3d9caab61cb56acd4e9435d3191b886bd177629f261317a8ce2a2b03bb0bfb3c1683c29379fddaf6792865d22da7a248f7da35abda46d9f3bb56808d5cd601bbaa25607d3355c25801233775497839970cbe22b0340362b9d42a88ccdbc633638d4aac69bb81084d241d87c7d63baa1e98e477a671b4fc4e6ddd8318bc20562fcc474431758f92515bea5150f5284ea09cfa5f3210bb2fc8ddb929aaf7d719f4b3d9f9ab48912aae4c173007000a8be4ebcaea4774f76a8a5bc5ea21de584b799e9a4ed6d3129b6971a5ac98b3407a483c320e3d6ce9ababfa40c805a5dacb104a7cf2e3ee94f86f86627d0cef8842869dc95a0c9ceeeebb771825ae00cf8be0fba21bedb189e468b26d21ce5b0ee621d0e9bb05c9ede7646afa8ac3c0f6f1c3d04860f818408eb9fe7df6c742e65c2f04f392616218b931a5cc8ae6300a76358aa9f8ee21f663c3ad9f0bf30bcfbb8f5668c92e4baffed693de8870f4178d8755c1fdaca35a1dcbeea18234712ff55b4d5c9dc26c0188abd49f9111769f56c0694a93b9639cd94333b912564f5836c85b7279591efdf412b1eee3ad2b3fd875e9fee03feb30ba2db4ea2d52adca83869a086d2699556e6b0d5f0ac3aca2fb988ccad3eb458b3df7656498722ec738ba54983bf0ac689ca4d72c2963c4f1f0b25de7f4694d72fb6e3ba739058df3a8cca8f9d66b9819dfb5c4bcfc3a8f6ed22bf2339e9c0d04927f6163956e9d1ae49b41b3ee3e3aa7368d367ae1925ab97f236f5a405ef9a60e063198b94b34674e4cf116e81725e00b3102cc71ad62d4cdaa9088d1d67a1d953ef2752270a2173540495e2c48fd1ba124e541cdc8d8009df82c011ee6e3b67d4d6ac9b2a18c7d825fffb86124bfbb02ebf61aa43e3f6d6b0bde0ff017bf46f802d43972bfb919e74d9a9ff66dff3c909499b3466e2c5013e1eebcf0adaee156f636e9642c2665d7e5340caf14434de98e583cb70818e12e11d1477128a7a2a392899426e0fe57c1947d037044a041daabd5e87c559385f6050298c9b07f3fbaf88e287c1f8c13928dacbc1a04257d3ad928645131dda7e85ca5a2a51ffdc2c72bccf4c3fd441a53bef5dc7a1293788eee454c8574c7e99483359089c250d611a832e21395d3d502bb557e98ac48a5510846fa9d5e25007798c9e4fad7ab1e4f919380d96035a45a6b74eb956ec469d90c56182422402ef731e2644cddd2e2845492071029d7be216de2e806e8d3ca1ae747f58c72987e4152a85fb079644e750168ede1e7259b9d70ff7171532f79779ecf5f20a3ca304e72f7938e176362003d33a4a7523ee8e06a49b8ea3b5dadb7ead4be5a5943b4ed2ca632b8536f6019d830db7129380e3c7b6d6f09dd29304d77321aa69d8054172bdf10bdd4e179840d64e73fcbadc94e51787bf1e7ae73516be771d6a85e65887c8b8cfb0534dfabefc355b6fffc612e826413c83f746b2ed58bd7b86f9f40b2df88c9c8c09ed170f452ddbfb43bffa4e81b7180352aed7be8d45c46d886c3875fa349e8e61e43148cb080002b52cecc20919f4f92f08ad3134d90ba68cf07d04c9e1288a37357e83a70ec87c13d25c938e4d1a386850970bacf73996be356e291c82246008ee1d14c7f0040c1d9e6cb32699177d65a6f7f78ced99a44bbf2462ef9d047eb70c5b76a13f1d0c2baff7098d124dc8b330587e67f016d8053dbe00c6b689fcef2dafa22b48660e7d7c514ece40756780e714c10f2d419b096a4191b8b5e86c923213222b1a4da5fb667a2b1cbd57dbc11710d1dc1aa556c1cc1ab3d0e68299fc9056a87554b9efd0d354abd883ba13f531e6e032c7b5dcfe02a7200c9d53b70e118feb769b1b7b6c761d530e3f80d6802787c45ddcf3352393105a680e521ff74e4e60911517cd2eb1850341bbd4e0d63591c3cf002b2ddd33a2a72c337be4d54b8b6a008118dff8222c5c62919251c1c01452e87f5614eaad1a8ffc96d93f45d97b1a39ce3086c40e512370f60ce8fa6e0ea18461d5f66c2517e9416646822f4aa0113f8a73ad0e8155eba1a8f3e0c5449d10e82371310f0b13153fc1d01ae6eb75a19ed8f2a443f7449c2f5725072990cc1421841f8f8651818bc4c9581bbc68473b4fdd4bb3e4c3414198cfcb1b6429bbf0181d148a48f05da9a4559ede11e11af41c269fd9354", 0x1000}, {&(0x7f000000e740)="f5f8a4864d81ef3e46afa5e2b1fa62f0ef418e109f6df69ede9da496dd1da6e06fd2b365a02f9030d20f4f370bde8db440a0cdefe18686e02c1d9be01c88837d2171cdcf73c650cd7be8f9db377495dcc016c382ec0e48e091a701ae3e02bc8e858b7633b8828d4177c0812d3f35024e8ff1dac3ed8cf6970b46a99c4e4ebac47049a3bee1d8808600e3bc8f30c744b681f746edd2ba6d9a994749b1348f71103466f759adc8bd4fa3b30f09d7b962fccda233b1633d8442fb09f85136baea15249fa487b7de712a8d87fa0d9b210511e53c72df546b5941435803d2df314b824dc36bdb2b46fc418e9818773192620ee9d4e7227b", 0xf5}, {&(0x7f000000e840)="f2529403a4009dabbe21e521e7a6f82e422fe9506f350a975d94c7966048a3a4c5a6967ca8c5e747f845b99d82eb7de973f84d3a3af738323ef59bd787d35141d5ac6f069fae90588abd5dde61eea4488b818ab7a2c7c591e64a1196d4dd4ea5191ae5071181311d17625617a15b12755bef76e2d9b1028564c1fc574bb739f7f32f77488e1465e5469d5adc3c6ad1d4663e99e3ce53f43aaa914918a2c7e292d77cb5a7a881fc5f74cf05a947eff65e9c4b241deb5e013547f2b44c116368c66031b2922b9d7f8b16f2be4fb3a96b0c385c57a323deb9b483b793011f69810e0d95f43af2ae581571b4cb18c03e849f5fa2bec5235ec562e7b6e55f852c5af4e9c868018d8f4d7c9d28e03c6c4d09880a066285b4d65399c9c0cf53d841bfe6be6c7428c5b8f8ff0aae0761a3228abbe5be9ffc95c08233dc79008021f5a07bbe2f36996e4f10c42eefacde7247d4d3131d50ff0b7a48d5b1789f7bf0112f67b18915deb5cdbcbb8a8ad05e17c41c9555befc97027372205fa673f58597faf112ff8554ff7f91715817269c87dbe70b06436783271cc9a586138c3b63c34bfdf1011fb56c52d116ac7761bddff3955e7ad157ed1c3d5ebd763751f2b890cf88059efa631fa8ed86c0bd266dcf9fa5df86e25ef1c82deb0f7df1b6acdbaa407752e2f9a5f2dda329fd277575d99fef81f1ca2524023664d90db8a19ed22dd91de7a854f354956ef9c9de0f9328437bfea8f8d23fbaef8c1a1ed1da447af08f04920358983f9feb77396d4787324a6c4c6eb87a0f49cac9dd3b7c8e5bccfc63cd14e9907f2de043cff647552bc61d372f13d6a6682cd15dfa98161127d8781ac725a821f5ffa92607f697998621e84072969bda8414bf651a4f522131a6bb68e23beb3ba45ce9ba6a661843f5e103816de9603abf4b37b1cf67f4eead6fd81dbdb875490731b7745363e3f2ee2a070cd77f7bb9c17d31e4b761bd0e369b2e99af7860d8686f4d5b761fcc4ff24dca052b777c80d314222e5147bc1572240996990ffe2bed062e1332acd7cdf316ad7ea7b6ebc5c7f9e7174dbb473f183dbc31c7fea771cda6ff96d8a91261e88dc98b76690bc6405156cab6ec7d2a21f7900adc2f5a8bfedd3a7ba30ddd208eede5fcc761eaa77b77f8536f2fcd6f66f0b4587ae262f36cbea2e03b9106954e9a509cc270d3aeb4ddf2422b86dca7db58201220f87bd834f7794dfb2279527d74e20125ce882dd5cb5243efc7c6ea71c8e1cefede0ac39f3c0cbe6fc857b3c55331774ea1dae8d065de1c97e4679864eb817e3f9c20faa80f5cfce0be14d261f444ac31da097555817a8d26cc035fe2ff5a6ebe60945a6e8f39ec6e42311c26fab7c3ee6d74f7dadce26eba1c92c2d48a47bb172afdd07f53a59486686e599c4d0b149ddc76815209cfd49a46391330b762ab70a9d5a13219cafdc3c51d041e0cd21aac9855958e0b04bc0c10fb041a785d519114636fe5e93fdd8b7413eaf9c19c7091bf8d4b542cc949f994c38afc382e5c4fa95a9099581b225196a5424906e0354a440887f6a3227cedf333a4677b736e836bc5c603494cec0c09966fd01fd41fba19cabb922383936cccfdbecc6e04e7942926216c75b7ca7c5d0e4d1dbb342d3db7591a0c6a06eafaec56b280c2b6ff8c37315915b0a9ae13df3a925f8223b09116438826796c5695f6d03babda0f0cd1d9fbfe74fea88183bd658a81ca3fcc05593a196f2ef5543cc16462c3e1639afedaa81954c3964cd4d35f88a3d70cb5a57864bd1cb70575fb7b571bc9756bc9cd13267eb3097d23377e38283e38c3392aec63971e63fd825e81d3539f4ca681920d71bd05db677adbd85fee52e47d88c90d95378308179024488a850e0257367f8fea7b51823ffbf6d161b7a0aab7d5133b6f2289816f69dd98d6be7f0538a733f2b6d52df539fb25ff551b323107ead88f320518591302d98934b7666029b14e14a5c899cd9f26a14aed8babb26bcb487ed0a29864c927f949cc753ed114af109fabc6d8af4a417b0081a54dd05e79705fe6e63708f3d434f08715eb809444a90dee7780a0c768790f494eb08ddc35da5906d1cac74298484aa8d75262993dab101cda567bec641c937429b5f559b13bd9c2797e33e02e313b6cc47425554b51c6720dcc78b4e533104eb9100d219ca4d6887b002e97a3ef3bde1a2798a68199bf46d22658506cc4909df94e570f95ef07044b99e74921966e9a347999a095b2c6de158a299c9ef993a127d31a17f512f6113c842156da4130e4916e0355277fe8dca13c547e332efb9cf4ca521fe440898844e131b2460c20036f948f8398fe3bfe18ee57369f77ec742e7903d0ba70dc60f9f4621698ba64d4eac4da0fba75a30f6afab4861bbd9f8c157b1e065ff31826a269fb2b3834afa5e920c13fe2e53526e92f83f4ffddcb605735bf9f4f5e73c9819b0334333576cd16bdb474705e017a72478291bff55798c5938790d6f5042b29455c66e7517346f5eb6cf4e5e96d33d82927e1f40d6bcecb4697d6e761954e998738cf49dc044cf9932019f3759fd5fc7aa8af1b6155c560e56765acdad4d9b5001bac8c2d29f361dbb2f10e6f9820590f30341ef5f6f63e0b854e450e1783fbcc909e981951af6a9c3ee3e5083874c44602448e597a5823c9323c8013e280fb053ad6ddb4024f3c4170d4b2f2b1478d1f48ac8d1e6c0f555312174ca69373822006e85be701728331d139504a5a57b27b345d0d691c1c75947bb022f6e4c699eb6a1d64b3935d0b1ab4c63a51a9ee5498a3f6513789cad81a27ab1771173b3e434386ce891282c7b75e70ee63033c624e3a2ad57d220279c82880bdef2ea313d711a98b08c1cdd696a736a176a0ca03d8909de2e7d21894c64ae66444cf536ae01dfb16e49581b94cdadb7ff5500dce3a4ea148582553fc877055f44c7b71a0c3bc40f865092c18c37fa411bdf7af2f31ed80c920a253a95634642de732119e8cef5f655961ba6b6361d1a00b802450748075d2a8670ac077bedb87bb90b474f2dda634c937957fbc70b3d6405ab4a65455a69b6d52fb9d935106c3baf6fde174696a43fcb9a088eff4a7ca1385a8feacbca4e1ee8828459e49c64c465b97dcd3d20f9f3d4dad8a78eaa32f0bd28602ed6a9d4b605088285e3a9907c3d9edcf864ae903723bf85f679ebfaa5370302a967ae2fdbbfe41fcca8819e1cac4fd30c464d2e53a510dc653d8e3f561ff999ec75d2c672b95d749f59d062ab99d4234ff04c8d2918dbb3955052dcb9a6ab983eed51dd9e144ecb679eb2a39f2bed1a8d26e82d6bf263c10b1fce0b3f5c7eeb922557b3650fdcebf9f53569a16e820f48b97d4d23d67973e154b194d9a1b0b3bc66de46dd1282d0002394932365a1aab8843ca52d7f4619ee091b15127918d2e1ca2f807898e977be6211d8eaa1910b4c200e2d4c461b3d650855f755cda4f0c11a9885f39f3f8ac0d3e39b6e19780758e4a54bd329df3c584822ecf85ba20dede18606819957177bcb46ab7118bce8b3cc447524daf8cca9932ed8bb80b670d1832d7086f81914c717feb663dc6f350307ed6caff2d8172cd04d8643b2276786522723b0156c6a14203fad9da27988408e5c2e0fb88a0f1fdbcd858d3a8f1dad7f555ff5b5b65d660001c9fe3d5a9fdc775a3a7ec640ca415ead98e3d2f211fe3fd4400f8c19f043832bad0e299dbc5cacbe184f81dd46567d6f5cd3ae1ecf885297abca455fb5d89fcaf5e1dee85eb59c184c80252e279dbdeb93f82432954fa298b22782af0e90e3685fecd993151ea5d9b5e10b5a65afb8b33da855a4842a243ca0376170a0a0bb4b247a86d79dbfc710ee1c0f45e5b0ededf453606e7f4f6041dfc243c5d6b846009ea5f392e13bc854c29a0af152de8708aaa12c63222e1e360b5a4494d201c9ff5a782b6ecdc768275d3c210098040194afeebe6c59f0cd45fc55228731fbc93501ebfd3ff4a4a74c1af89afe13f8be63306ac612986eea630223084b1fe2c96c39c32c0787824c1f9c73b54bbcd7420aa700f13ff4077aa725fa52d60d72d2fcba4523a60e584b5e27e510688f3dd1c271bcf7b37a223f7330c19cf67ca036e00af6a7d15ebfd4dfb0b49608f5162b6c74ac9d77174c0769b660def095b640518acfd53ecfcc37d004a48b43aa2e5efea7bc6bb5353a76694eb5cdf7546ae512649c2a54fd4da7615076b0e561f5524024d62b3a94049e0dedf0aedf46195581115a051b27037c056f4f086da3efc35b1317bed674bb5b58cd6b8382afc4e05fe35c3227bf523c4b7241658209da57b155282d2c2fe85fee1afc6babc17be7acf2c966b5c53ea6091926245edf8a1ea62d6d9e0b1de63abdddb45fa279ef3f69d45917bed664a36f87ed2bd4e4b3119217ca799ce90abfcc96848cca12c4d6086e83703632fbe4e74728c269f2edb059307c7c9b3c508f6f1e4d518a7cbf6d8f6024367004088e6d72e95bac16486dbc7d4575c57ede1524d5767af37f0517f55ab2073d439e9641d87ca19941f453e9456db1f73cff9077df90ce8b873d4a0bfcc15a1801e1f88ea8c093045dd1da31f602aae9ed4fd5432ba5d666be01b0583203be89f0202cea9e132ec66d03f4e979459c9a5ad9ac3e2ce1ee16fe97482347ecbac3e52a851139d8c5f93258881e0848f0c641d38edc82e3c20622b5158c3bebffbaebf6f93e0a2a32515cbf59dc006327e605258085db6cec0b07158abd4c20f07f36d63afd47d8a5b270f0f7ea0b00bc49dcf49aaec9dc71fdd6aea26c0a4329376441220d08b78524ce245975e72cffca270041e13c69a00465cc22c2452dac613fe3ac9a67b93b75833b12adea2646dedefe6b80908b246b9eefb4a77f995cfd47caeda1a88ab227cac11fcf065bf1fb34ce35cc3c2b42bf0c14e11e3e6903b05f785dc85cfff94db968ffcbc8e484d44a4155294035c71fb484b1e5389dd3f9a9b22f85f7c1becb7ce96e34f4cf7ad5d60789d34b7d13c47cbd658fb95e845c6682a9a0d2b82598455d85ffefa3a1e00e6b83c3c6f7d01a54277aecba22adee13e934ef4333c9340b85054a62672693cf79f4e73eb909886ab2307b36157e5ee9712aefc4e3ca9ffada709dd50b07652a922ef868db6b55776140eb364d287b9c09300cf02f5e7bc83e600794276f591fb43f4d0974535690b5d14c3f5dd2c4f8dd195b0760c87f8e7462502fd338ca476a917a5eb76ba554b294f6f701e51d33825de37dbc50091ea071dc71f93635f7f79784263554d4eca0c97e52768234f729a57ce50e95459ccc7e118aaaf44010dee77c05be8a65fd26e85fffff6488dcc8aed812abe1dd6822412f2aae6352d7bee704fc62b52dc094eec8f6fbfcbe746c49625fed0655b8d0a6aaed6b45b15bf6fa79319143bcc58f5972c139cbb3d206ea2c946a0c2dec3e5960ff551c9b3de92c609519aa8735cbdd374e20e116b3ec54930a6d7f669c6faba9b0c2bfd92895bf57d1b2fac93742fdc88a8fdefc8fbfa368d12ec49dae0f8f592437137a4f2ad5b2f0c2358130edba9be383e24b4018f249774bc5b005fa91e1af6733e7ea7952e4c7f36bdf950931be7110427fa08267e9530469eca64cacaff7b34bb201ce3127cfffaa26b7c11c8c1fab209a872a04903bbb5a22f94616a0ab5230b935390ad1e69502fb01bf9ec34f371c3423bd794f2541240da11fc4c28636ce438738593f53370770cd1cc9c0c8879bbb2db5508f9fbe9a8feed063f524e8f", 0x1000}, {&(0x7f000000f840)="a38859d92ac127aa9fed513f12b9539b9cf57693aef0d15c55b2267460e05f537303a625b79c0b2ae13820ed35ec64d5d7f242243e51770a400d206b8f6b72e4dbf90001e31fc23f1ef54f8352f165bc2468210075b3016bd32dd7c2c7fdd5803837a60a13928b528ec398bc2252753840a28f6ba06410636282cf30a27a1c544f0210270c420723665d7f72dc62d69156927c8929366aa15a706c988857d11df7ac0b4be59e14df737d2ed202ee7cb41db31472e6b626517c8a0b38f04404ec6771e149f01ead8da825", 0xca}, {&(0x7f000000f940)="739964e941232bf04917f741fbe96880163aec537c7f690e678b04606cbd46b4401d5e52bc6eba34026113ef94bba0ebd93b2b53986b4e4837720a85ec66bb72dfe5b22271d8422e848eee8cb898018313c641125c505e3a0dc23fe254b11cbdedace940f42d64438d1e2f3dd4e307226267534627b96e761b5bc6f7d07de03776b2367b00f8d1673fadccaacccc04df67b1d563b882353b420cf703ff41737e051e4423017e47cdf25571e99eb9e985d53108ff49f4291414c1ce37d764de420db9e19d7fa9e71e750901dd0169aa6f6eec3186d4aeac35bcaa9a7de31969875152", 0xe2}, {&(0x7f000000fa40)="bef895c07e0dd405c1a009a7e02a104cc038cafac502fb3bc34a5ca4459310fee59da5f07d57abc31cd426601b2e9235c05ae8ea99aa13290dee8f7b1e606ae9adc607d9cc56ce60e7f102d55c0170cebb685da07e72dcb18e6ea9934cdb75575321f078ccd4758fa289c60532766040da2972df9f87dbc1ac0ac5c54e9dd605b0629e141f", 0x85}], 0xa, &(0x7f0000011dc0)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0xee00, @ANYRES32=0x0, @ANYBLOB="0000000018000000000000000100000001000000", @ANYRES32, @ANYRES32=r0, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000020000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32=r0, @ANYBLOB="004000002800000000e8ffff0000000001000000", @ANYRES32, @ANYRES32=r2, @ANYRES32=r4, @ANYRES32=r3, @ANYRES32, @ANYRES32=r3, @ANYBLOB="1c000000000000000100000001000000", @ANYRES32, @ANYRES32=r2, @ANYRES32=r4, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=r7, @ANYRES32=r9, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32, @ANYRES32=r11, @ANYRES32=r13, @ANYBLOB='\x00\x00\x00\x00'], 0x138, 0x8000}}], 0x8, 0x4000000) [ 2050.246526][T19060] EXT4-fs (loop4): mounted filesystem without journal. Opts: ,errors=continue. Quota mode: none. [ 2050.322290][T19060] ext4 filesystem being mounted at /root/syzkaller-testdir388207037/syzkaller.lzqyAi/13/file0 supports timestamps until 2038 (0x7fffffff) [ 2050.438035][T19086] tmpfs: Bad value for 'gid' [ 2050.594664][ T20] usb 5-1: 0:2 : does not exist [ 2050.641538][ T20] usb 5-1: USB disconnect, device number 52 [ 2051.055509][T19086] loop2: detected capacity change from 0 to 32760 [ 2051.090523][T19086] EXT4-fs (loop2): VFS: Can't find ext4 filesystem [ 2051.165887][T19086] tmpfs: Bad value for 'gid' 07:08:42 executing program 5: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x20000009}, 0x0) sched_setattr(0x0, &(0x7f0000000200)={0x38, 0x1, 0x0, 0x0, 0x3}, 0x0) pipe(0x0) r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000002180)=0xfd, 0x4) r1 = socket(0x10, 0x3, 0x0) getrlimit(0x7, &(0x7f0000000380)) sched_setattr(0x0, 0x0, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) syz_mount_image$minix(&(0x7f00000002c0), &(0x7f0000000300)='./file0\x00', 0x7, 0x9, &(0x7f00000009c0)=[{&(0x7f00000003c0)="60760764deed89d979547c06a58f5ff9fd6a75b1bcf533482648b902bccf8024f9ccfaf6ecd2067b71bfb95372fa6cd1e534394f0fd26bbb", 0x38, 0x5}, {&(0x7f0000000400)="e58bb1dcb684762e946b1ec40423292cc7f4c8084ffc942c820d0503a567d3da72090bd1cf408c68b941b5519c96e87810ef7d943bc61d5955c52b0c7019b4f917855391e520fb43bae40c463a6b23df376bc1aa7406cf0c45e491d841c47a1bd15de1eaf82d30c03713802c0be86d64b1947341c0b5eff09b6252d2c5e4ed8c33d4b0545d6a1cfa0d534f1ba5e84f2958bf", 0x92, 0x1}, {&(0x7f00000004c0)="25be50c45ded3731ecb42fed82efd821615d78b9e37a1359708204ef5720f87acd5ad0c4b4a371bdbcf04d205948281ca62ce330d8dd9830072ddfeef8939dd93529c0be06dfe8cab23a29b51f84d543324b9b0e198c6e3c95fb881cb957a459cf553c88fdfa882beac6c8a7364df11d1acc0c7116028a53c39a66c9991c90a17066b4e9f5b9ecfa913fe124013fa9f196c226c6746d9d6c2f99f1e1ac095f3e09ff63892b76f3ea79ab635aaa84dc93109071b31eb2536f27e4bae3d857b10a515bcfc305b7c6b2f90c", 0xca, 0x1}, {&(0x7f00000005c0)="ce4da7fe0ec64290ed4787e1ebfb527fb12affc3cd495461e5251a5d59f965a8a6dc5c62204245c8a9569b5f4839954e19bfaaf0b269b63aa377aacc77b8822ba3d4a9df80bc346fe09b78a42babde0321edf2fa21d5c64c2aae39a7d1857524b4868369111e6cfb1b407e770e708f0a1b4852cc888493e8fc2ed2d414703ce4c8580de37847", 0x86, 0x8}, {&(0x7f0000000680), 0x0, 0x3}, {&(0x7f0000000800)="a8", 0x1, 0x40}, {&(0x7f0000000840)="51d26a3fa6210c853592ef30d97f566dbca50d225ad11156285b95addde1a5bd70048b4abefc43a780bf97907f8340eca63668d3fbf3cbbd", 0x38, 0xde45}, {&(0x7f0000000880), 0x0, 0x2}, {0x0, 0x0, 0x3}], 0x4848, &(0x7f0000000ac0)=ANY=[@ANYBLOB="63616b65002c297d2c7d232e2f2d40202f252c2cbbbbbbbbbbbb2c2c2c5e5b2129fd292c7569643e", @ANYRESDEC=0xee01, @ANYBLOB=',smackfsfloor=cake\x00,rootcontext=root,euid>', @ANYRESDEC=0xee01, @ANYBLOB=',\x00']) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000008c0)={&(0x7f00000006c0)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f0000000880)={&(0x7f0000000700)=@deltfilter={0x64, 0x2d, 0x10, 0x70bd25, 0x25dfdbfd, {0x0, 0x0, 0x0, r4, {0xb, 0x8}, {0xd, 0x4}, {0x2, 0xe}}, [@filter_kind_options=@f_flower={{0xb}, {0x1c, 0x2, [@TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK={0x6}, @TCA_FLOWER_KEY_IP_TTL={0x5, 0x4b, 0x5}, @TCA_FLOWER_KEY_MPLS_LABEL={0x8, 0x46, 0xfff}]}}, @TCA_RATE={0x6, 0x5, {0xae, 0xc0}}, @TCA_CHAIN={0x8, 0xb, 0xfab}, @TCA_RATE={0x6, 0x5, {0x3f, 0x9}}]}, 0x64}, 0x1, 0x0, 0x0, 0x8000}, 0x801) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000340)=ANY=[@ANYBLOB="3400000024000b0e000008000000000000000000", @ANYRES32=r4, @ANYBLOB="00000000ffffffff000000000900010063616b650000000004000200"], 0x34}}, 0x0) bind$packet(r0, &(0x7f0000000240)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @multicast}, 0x14) sendto$inet6(r0, &(0x7f0000000080)="0304ff1f5c0060004003002cfff57b016d2763bd56373780398d537503e50602591f031ee616d5c0184374a7ffe4ec55e0654786a70100935ba514d40808efa000801601842fd08d49a47eff71bc4131fe4c1f99bf00a900000008d1843e770afd6e9ef5837dbd0000000053", 0x3287, 0x4000002, 0x0, 0x2ff) 07:08:42 executing program 3: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) pipe2$9p(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f00000005c0)=ANY=[@ANYBLOB="1500000065ffff048000000800395032303030"], 0x15) dup(0xffffffffffffffff) open(0x0, 0x0, 0x0) 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', &(0x7f0000000140), 0x0, &(0x7f0000000580)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r1]) r3 = openat$proc_capi20(0xffffffffffffff9c, &(0x7f0000000040), 0x92002, 0x0) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffe}, 0x0, 0x0, r3, 0x0) umount2(&(0x7f0000000080)='./file0\x00', 0x0) writev(0xffffffffffffffff, 0x0, 0x0) read$FUSE(r2, &(0x7f0000000600)={0x2020}, 0x2020) r4 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000000880)={0x0, 0x0}, &(0x7f00000008c0)=0xc) syz_mount_image$tmpfs(&(0x7f00000003c0), &(0x7f0000000400)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000002c0)={[{@huge_always}], [{@smackfshat={'smackfshat', 0x3d, 'tmpfs\x00'}}, {@func={'func', 0x3d, 'KEXEC_KERNEL_CHECK'}}, {@subj_type={'subj_type', 0x3d, '\\'}}, {@dont_appraise}, {@euid_lt={'euid<', r5}}, {@smackfstransmute={'smackfstransmute', 0x3d, 'huge=always'}}, {@context={'context', 0x3d, 'root'}}, {@dont_measure}, {@audit}]}) r6 = signalfd(r2, &(0x7f0000000180)={[0x8001]}, 0x8) perf_event_open(&(0x7f0000000200)={0x5, 0x80, 0x8, 0x7, 0x4, 0xdc, 0x0, 0x3d2c, 0x80, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x3, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x5, 0x2, @perf_config_ext={0x4000000000000, 0x6}, 0x2004d, 0x7, 0x7, 0x2, 0x80000000, 0x3, 0xf000, 0x0, 0x3dd, 0x0, 0x6}, 0x0, 0x3, r6, 0xa) 07:08:42 executing program 0: perf_event_open(&(0x7f0000000380)={0x2, 0x80, 0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) get_mempolicy(0x0, 0x0, 0x0, &(0x7f0000ffd000/0x1000)=nil, 0x2) r0 = socket$kcm(0x29, 0x5, 0x0) r1 = pidfd_getfd(0xffffffffffffffff, r0, 0x0) ioctl$FIBMAP(r1, 0x1, &(0x7f00000000c0)=0x8) perf_event_open(&(0x7f0000000040)={0x2, 0x80, 0x0, 0x2, 0x40, 0x7, 0x0, 0x1, 0x800, 0x8, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x4, 0x4, @perf_bp={&(0x7f0000000000), 0x1}, 0x14, 0x70, 0x2, 0x2, 0x2, 0x4, 0x101, 0x0, 0x3, 0x0, 0x9000000000000}, 0x0, 0x5, r1, 0x0) [ 2051.862383][T19114] tmpfs: Unknown parameter 'smackfshat' [ 2051.973620][T19119] tmpfs: Unknown parameter 'smackfshat' [ 2052.089879][T19120] loop5: detected capacity change from 0 to 222 07:08:43 executing program 1: inotify_init1(0x0) connect$rds(0xffffffffffffffff, &(0x7f0000000700)={0x2, 0x0, @dev}, 0xf) fadvise64(0xffffffffffffffff, 0x0, 0x5, 0x5) mount$bpf(0x20000000, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) pivot_root(&(0x7f0000000340)='./file0\x00', 0x0) bpf$MAP_LOOKUP_BATCH(0x1b, 0x0, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) write$P9_RREADLINK(0xffffffffffffffff, 0x0, 0x10) socket(0x10, 0x80002, 0x0) mmap(&(0x7f0000ff9000/0x4000)=nil, 0x4000, 0x0, 0x10, 0xffffffffffffffff, 0xe3c06000) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, 0x0) ioctl$F2FS_IOC_START_ATOMIC_WRITE(0xffffffffffffffff, 0xf501, 0x0) r1 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r1, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r3 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000000)=@newqdisc={0x4c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x12, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x1c}}]}, 0x4c}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000001c0)=@ipv6_deladdrlabel={0x54, 0x49, 0x0, 0x0, 0x0, {0xa, 0x0, 0x18, 0x0, 0x0, 0x3}, [@IFAL_LABEL={0x8, 0x2, 0x3}, @IFAL_ADDRESS={0x14, 0x1, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @mcast1}]}, 0x54}}, 0x0) 07:08:43 executing program 4: r0 = syz_open_dev$vcsn(&(0x7f0000000080), 0x400000000000000, 0x10080) ioctl$GIO_CMAP(r0, 0x4b70, &(0x7f00000000c0)) syz_mount_image$msdos(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0x0, 0x0, &(0x7f00000001c0), 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB='ui4\x00', @ANYRESHEX=0x0, @ANYBLOB=',\x00']) r1 = socket$kcm(0x29, 0x5, 0x0) r2 = pidfd_getfd(0xffffffffffffffff, r1, 0x0) ioctl$FIBMAP(r2, 0x1, &(0x7f00000000c0)=0x8) ioctl$KDDELIO(r2, 0x4b35, 0x7) 07:08:43 executing program 2: r0 = creat(&(0x7f0000000140)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x46002) io_setup(0x1, &(0x7f0000000180)=0x0) write$P9_RREADLINK(0xffffffffffffffff, 0x0, 0x14) r2 = creat(&(0x7f0000000100)='./bus\x00', 0x0) setsockopt$inet_tcp_buf(0xffffffffffffffff, 0x6, 0x0, 0x0, 0x0) ioctl$KVM_GET_PIT2(r0, 0x8070ae9f, &(0x7f0000000040)) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x215, 0x0) r3 = open(&(0x7f0000000780)='./bus\x00', 0x14507e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x4002011, r3, 0x0) io_setup(0x0, 0x0) socket$inet6_icmp_raw(0xa, 0x3, 0x3a) fallocate(r2, 0x0, 0x0, 0x1000f4) syz_open_dev$mouse(&(0x7f0000000000), 0x9, 0x80) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) io_submit(r1, 0x45, &(0x7f0000000540)=[&(0x7f00000000c0)={0x101010, 0x26000000, 0x0, 0x1, 0xc, r0, &(0x7f0000000000), 0x377140be6b5ef4c7, 0x2800}]) fcntl$dupfd(r0, 0x406, 0xffffffffffffffff) write$binfmt_elf64(0xffffffffffffffff, &(0x7f00000007c0)={{0x7f, 0x45, 0x4c, 0x46, 0x6, 0x0, 0x81, 0x4, 0xc000000000000000, 0x0, 0x0, 0x7fffffff, 0x0, 0x40, 0x0, 0x0, 0x80, 0x38, 0x2, 0x80, 0x81}, [{0x6474e551, 0x80000001, 0x0, 0x7fff, 0x2, 0xaee8, 0x4, 0x5}], "", ['\x00', '\x00', '\x00']}, 0x378) [ 2052.158980][T19120] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop5. 07:08:43 executing program 3: perf_event_open(&(0x7f00000002c0)={0x4, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000000)={{0x6, @rose}, [@remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @default, @bcast, @bcast, @bcast, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}]}, 0x48) listen(r0, 0x0) perf_event_open(0x0, 0x0, 0xd, 0xffffffffffffffff, 0x3) unshare(0x40000000) r1 = accept(r0, 0x0, 0x0) sendmsg$NL80211_CMD_DEL_TX_TS(0xffffffffffffffff, 0x0, 0x20) write$binfmt_elf64(r1, &(0x7f00000004c0)=ANY=[@ANYBLOB="7f454c461f00e600040000000000000000000000070000007c030000000000004000000000000000160000000000000000000014fbff38000059fbc3158bb5b9386ad7aec6ad90402300400008000000040000001ee60000d8ffffffffffffff0000000000000000000000000000000008000000000000009f000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000"/600], 0x678) syz_genetlink_get_family_id$nl802154(&(0x7f0000000200), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_802154(0xffffffffffffffff, 0x8933, &(0x7f0000000240)={'wpan1\x00'}) r2 = syz_open_dev$dri(0x0, 0x0, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, 0x0) r3 = openat$full(0xffffffffffffff9c, &(0x7f0000000040), 0x301440, 0x0) dup3(0xffffffffffffffff, r2, 0x0) r4 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$FIBMAP(r4, 0x1, &(0x7f00000000c0)=0x8) r5 = openat$6lowpan_enable(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) ioctl$LOOP_CHANGE_FD(r4, 0x4c06, r5) perf_event_open(&(0x7f00000000c0)={0x2, 0x80, 0x2, 0x7, 0x5, 0x40, 0x0, 0x0, 0x4000, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x2, 0x4, @perf_bp={&(0x7f0000000080), 0x3}, 0x40800, 0xd1, 0x8, 0x4, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x1}, 0x0, 0x9, r3, 0xa) [ 2052.336441][T19127] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.5'. [ 2052.395133][T19128] FAT-fs (loop4): Unrecognized mount option "ui4" or missing value [ 2052.437603][ T26] audit: type=1800 audit(1638169723.556:262): pid=19130 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=14275 res=0 errno=0 [ 2052.558760][T19120] loop5: detected capacity change from 0 to 222 [ 2052.621037][T19120] VFS: Can't find a Minix filesystem V1 | V2 | V3 on device loop5. [ 2052.699997][T19127] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.5'. [ 2052.805237][ T26] audit: type=1800 audit(1638169723.586:263): pid=19130 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=14275 res=0 errno=0 07:08:44 executing program 4: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x7c, 0x3}, 0x0, 0x0, 0x8795, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ffe, &(0x7f00000002c0), &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000000), &(0x7f0000000280)) ptrace$setregs(0xffffffffffffffff, 0x0, 0x0, 0x0) io_uring_register$IORING_REGISTER_BUFFERS(r1, 0x0, &(0x7f00000006c0)=[{&(0x7f0000000040)=""/151, 0x97}, {&(0x7f00000001c0)=""/17, 0x11}, {&(0x7f00000003c0), 0xf0000}], 0x3) mmap$IORING_OFF_SQES(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x10000000) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x412, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x77}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = shmget$private(0x0, 0x1000, 0x4, &(0x7f000034e000/0x1000)=nil) shmat(r2, &(0x7f0000ff9000/0x4000)=nil, 0x6000) dup(r0) shmctl$IPC_STAT(0x0, 0x2, 0x0) shmat(0x0, &(0x7f0000000000/0x4000)=nil, 0xffffffffffff6fff) shmat(0x0, &(0x7f0000ffd000/0x3000)=nil, 0x0) r3 = shmget(0x2, 0x1000, 0x0, &(0x7f0000ffe000/0x1000)=nil) shmctl$IPC_RMID(0x0, 0x0) write$P9_RLERROR(0xffffffffffffffff, 0x0, 0xf) shmat(r3, &(0x7f000034e000/0x3000)=nil, 0x6000) 07:08:44 executing program 5: getresuid(&(0x7f0000000340), &(0x7f0000000380)=0x0, &(0x7f00000003c0)=0x0) syz_mount_image$efs(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0x3ff, 0x5, &(0x7f00000002c0)=[{&(0x7f0000000080)="000a15912b892602f4eb745d86df2b24a0a5e4a7cb153fc1d1f18a3ef4c8162bd386aaad22e2871d02c0e9f1c1feabca96601b3cc9178bce93cabb0a1e9d96f6976fc36d38d0fcc0095d08d844", 0x4d, 0x81}, {&(0x7f0000000100)="0f7059db173dbc8bf80a6d618fa25784cdef6ba2", 0x14, 0x800}, {&(0x7f00000001c0)="f0b62980ab05cd0ac536bce4eda2179a69091b2d1b20a04fdbf493a5de112b374e4b357ceb7bc761704ea081043450aa67cf0ac1edd46c192a50135b12cddbb1f02141caa4f3c828a464ad9e0f6f16c0d75dab2f0c0eab80d09c672de0f6f575f6f3a8fd2d06065521ef0735c94065f529e165ce8caf54aa64460daf4b259432797da43c674b806f63158d9c90ec32d06d01a350", 0x94}, {&(0x7f0000000140)="0e5317d0e9f2d2501e802751572995e94a7e2ea0b9cfc6df6615d0fa0aa1186a1b70379a", 0x24, 0x3}, {&(0x7f0000000280)="6d28140a49ed4caf2f5067a876a9763dcc060fdfda047f0a33c96e6a814d23ebf026328b8f7bd032446c3847918426e2d56901ac48906c3ffc", 0x39, 0x1}], 0x2810000, &(0x7f0000000400)={[{'\''}], [{@fowner_lt={'fowner<', 0xffffffffffffffff}}, {@obj_role={'obj_role', 0x3d, '\\}'}}, {@audit}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@fowner_gt={'fowner>', r1}}]}) ioctl$DRM_IOCTL_MODE_GETRESOURCES(0xffffffffffffffff, 0xc04064a0, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3}) r2 = socket$kcm(0x29, 0x5, 0x0) r3 = pidfd_getfd(0xffffffffffffffff, r2, 0x0) ioctl$FIBMAP(r3, 0x1, &(0x7f00000000c0)=0x8) r4 = getpid() sched_setscheduler(r4, 0x5, &(0x7f0000000380)) getgroups(0x1, &(0x7f0000002780)=[0x0]) r6 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x9, &(0x7f0000000780)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef010001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000000080)="03", 0x1, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000daf4655fdbf4655fdbf4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000daf4655fdaf4655fdaf4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000013900)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x30000}, {&(0x7f0000000b40)="81accfebe446cfd424ae1195501ff32c3a70a64969327e4a65bc017a2d4a41b87b642e893d835f74fcfbfd7000da2bfe8d3e860df2f2303ea7e8ed3ba4b7bf849d939aa3ad50e3187486056637c221d3ccb90eb1204ba3a90880c0dbdb541f51f3050c3583f3df5907f0f065488aedd9544feea0799392888a8af6b59927cbd417f7b239bda616c95fd5e112e7084170fff2a22fe86fc4b1d7d9671a6deaa5ca7aa6097bc2df4d0e407af0eb7d7927b0e5c64ab151c59cdd404abf189a61aeaff8e93fece449a94862efb1cefc76ae2698fb0a47fef9455cf6f3ca51ebf25267d92938740d36a3072823e2cdeb4a3e6de63fbdc5514b058020188882480b57a70c10d22a73354b6d17bcac45c9ce378fa3ba84eb0e4d753dd567e1902a66c8f9685daf10fe6b9fb2a5457b5f98084ba832e4002a416b1fa8d3710c4b6ac996208b76a7b635d7d25da9341d99541551dc525348dfabac1190e821f1136533f5888dde0519dd4f243c8bf04af3ac31fc4898d7e282dfc210c8b5b09eadebbb570c269349f187ad079397ffaebf51b615051f5581d50ba4eefe3eff933007be439faf79f298f78c11189b99fcd95de613d1a929b823495bad0a57a08aa3977339c265593bad629bceb9275cb3f19658f7c5a0261b8ca2d00f34c115b73b55ceeb73b6cd86c5b38af562f259a64cb1de01de6fc44bda09006ae380438a6b16e51154cffbe19625f5ed3c79ea5f246ea53970e3922e5740389f2467adbafbde1e6b47d3110f19405662bc037d6238dd0050f2a928e5bd7a80e152e6349e0992834cba46f60ec6673a9b9feb3b8e5b286cdaaa330020ea0760a2b05033d049bc1e75d388223e2d267b80363efab6413358602ff933276f4b5c9989f88c6a773eeee977acc6601f053e360cc3b3219f8816bae54aada03ce3b7ecae7b843a5377103ab398b9f92e26efbd62844465cbf329911058bd2a13e39a3619985b74d82e7c3806d6b65e3b1729b4b4fa4806d22d854d8d1254f9b440f42359441d114d18622c0fbd5360d932b89a6e0aa3279f44973feb6558fd6e34783bcd3b5a74133657a97b8479400eba570faa5d712f08e53d95f71a1aac335bc2d32d873802fa861c553159237e13a0e9810113197cb6728d450343de580e1385b358afcdcf4e2b30672a1ce29df3f31d880976c8028a53d1f032fa03bc60116dbbbcb773bdd6668013e6bb062b931f52ceb96dfc799a17f4ae188d0c0d4d7a9bb8559e208ae0a8fb51c88da84425daeb0e3ece74ec027f8a961b5cacf1a28b25e70a7ed0ff8b681e37455cf163d614b51595e3981d8e68c8ec8d06e199a5db3880a5847657caffe8b11fef5dd7086208d7c109e24f21092ac4d0deb9383efe27f26a6599f6f18e849173215c4580624887ba58f3dd63032e674b653e286c7e21b7d96e9dd32e5d8836ef6458f0f4fb4590d6663833d1fa4a2853a53c9d8a696761664be714c67c1e00fb5056c70ece2a7cfa8a3b2999527ee2f55775b021e3b01e4317cb55d1855e00fbd0caa30c9809e8a6b2551a802c2d0ed7ee67bda6f45d00094d0134186f6526c02ddc99e255feaa34a717982b7c9ff1f779e95d6bccbf76356727f857b8823b822a9c264ea4dc57bcd3015968e1f9eefbf17365bea6bb3df4736d7d7f85cb44dc126a7258dd27c4d2450d2c28f843c96a467cdc6a36b66665c9b3e1daadde9c75af450ec0205b6fbfa03ab88a225f18ab5316cd2264fc92d04e745a8d0ff3a270973fd83e7c3434b61d87397e084869dc21c19929384ef6033f934654733ee100055f6d4f5b3b833c1dd368c657ef988fad8f6bd48f325f2832db10624e3350ff090478b5b41e1c5caf51ba414cc9ac124f490b0703f184c0179c8842fc7e8da049b84fe2da7d1f28e63e6a9969c5496553cd38d884d3d72300266950d8d5a893502f7577fd03085e7a7c091956055c41dada0ff5a4292c316da9111f48d1d14b1af7fdfe554dc18a4fe3dd6ae4fd857f6083aa3ad457350689a24f859949230ade8e6759dc2fc5b3bc76f7d15076fd3fdfceca84c698e37c4602e393a80c2a84717110fcbd0470d362424df8ce5bf72982bd93885bd8b00de02b1b60857428a554973ca70e733a61443a76da17a50ffe1d88e16363633fb3871d12a29d3f8ec5cd8497adde4ee4d99c5c21af1d60cce7e29f044887dce107b2749e67af090e88ed8498cddc67f3680b81fc1a8c12042fb8424276dda68881f6a64349c5dd3dcd6f95ca6d508aacdcb3f4ff8c7064c9f3de7224cd0391568dc5b96dc7219fb4aebe44c2341d15aa3e5c34f8649b00284ecfeebadedf5f6a54458e4385385600ac97a1e8de202023b76c9743639d2bc728c0ca19e0af7390d855a4b462c9e4f8564904904344bcfee75ca4237bb2a82012719b345bb7dd3812b4f18f673676362b1b79b01f8370cd8a93df2e60339a03a36ecedddcbb343ad7fa5a9a067b0add21c6a80b3765b394840e3994fd5a736f1919b955e3634c67aecec2bafca65c82216890e1be8a273585c0b3450be566aad442aaefce6445b3ad8d7e37cf8db9d57b2df05f24a3f69b81426bffc1c7c7b5619ebaa7fdca6e3742dc660e0c0d2f839c6e9180beab115da6082f244b922fb95e8f08be02bb468eeb6ffa4972cb5164cf524cc17f0987ce74612e80c5b6ba2f613e291852667c3ddc1a6c964697ec00325247a36efcfbbb1aa500d08f4ee56950f6a2a9ebd0a4e13b53f5d93fe22bcb10e010adf35ece9b7717bf3e1e27134a4c2482dc14171be0fe0ec5f5fb515b3b7142e713325fc03bb38fbe0ae56c93b710052b6f5548b0a23a34a5fe773104e51e9b6bcd322a7cbe89bad8c57f0301893ea570e3df8f9aba1e265dbf2d467d7e4e", 0x800, 0xfffffffffffffbff}, {0x0, 0x0, 0x7}], 0x0, &(0x7f00000000c0)=ANY=[]) stat(&(0x7f0000000240)='./file0\x00', &(0x7f00000009c0)={0x0, 0x0, 0x0, 0x0, 0x0}) fchown(r6, r7, 0x0) syz_fuse_handle_req(r3, &(0x7f0000000480)="b6ebaf069c44ca661709135f68768d9010de50f436f695698f790a97d203f8b73196ca6cc2d3d7d4cf907ec92b3713a358936fa5d88f976d5d561fe33cd06b24df9dc97de97ccdae2f01018952fbbe453e56c73a60235a988cbde9b9ee27c88f99e28ed044fbda413e754900655a906f50514aaf013e747bf77c8f31998217a0dbc6664013887a2c23d1f02bfd01e27e86d3a2e871535334de3ba043c117ad2ee4948ecf87ef9bdee69ae792295b49b27f0411aa8ef3f7d8b68efb5a2edc9cf06f1b48191788a7b633c4cb808dc035b922344abc7d796603d1b20bb56a815459d4d1a7043b98fc143657bc1e082f9e0c4d2c636303e127a40047e8724a207a3f793883602617a749eb10c9b155ef804aaadd6e30c7fbed9515c3d2d3bb63e977303a1209de72e4c1056be30637c0baf4ee45d10f9f54276777b3844f9fd2f29054575878a30eaedd799bd38640cd0fe7c06358f42714a3ec5ccb9c6b1945468257fc2ed550b3b9c2b1d8c024092afb88d595637f6b5cff7af7fec98feb9bfed8813b45896e6b809f279311a0f4e7fcc82b4bb4a32da26f285d3b978159ec76f5138d51707f6a39bb3d9fa0abd76d63f7cb7baa0afb8ee55c55b43950f5d12754d2a3098b5a70627ca213dc49f2425e5c9e521225239af709cedaaab417b9355dc9d3c8f782d51d636dca1fc9741df083a42ab792290d3628885e11d5e73efdbfe912cb37eb8d347f6edf627cef45ae21ef420446267107e00b91123a82f5c06784b3f8229e09ba4e1bc28e3bd6670fb60c6f70fc3ec00835a8c4bae8db823432ae8aa33dee9f42e00d2b84b9aedef45306e03410aedee6b49ac5699a22624ec6d37069f538f17abaf6702b04e2a7d65661a7f065cce61c483bbb70932802e12c1e9f0126524331ce0a75c7f5c7ff3f576bf1e01d1905d8ddf647774e71600cdc66f5c99e1ffa509e2a5fc4e97d1831b54cdac8b293da02c67926588fd29ffdfdda5a4cee06d5d023d19fb59eaa854077a61c530bcacfeb5af8324576cc09e33923049226ad9dc61adbbe06a8b5f938bb306bbb3a4ad609fc9e0d0de1e0224cd51733f93e82c4ec1cc26ff13b3030f07cc4fabd592be365eb0e693a90598c361e3d385b1bcfcd273ba5d612a0fab8afe29bcf70759b040d8c002778f8bc2bc1e487b474ac943bd43f8c64e3c3177a8f815f12eea71e16434227f59ecfd9281e6e8b8a415b285527d2c56377bf89a3adf8a342a131f026878f7ec843e668cc1e079073b1cfd8b0a721b41fc1a754e2f7cf72f0afa07a7aaaa9818fc467c7b98f94afc369842cc8e35179c9cdb71b8048cc3fbfe9f0b2c3e7ad69c6cadd2fc49b88b17bb018654c9db39f3a4b62b9cd28d3923dd9b84b0550c7219b2fa13aa95dc2b3eca5c2774a6f12ed0ad2395dc9d20e85d7a8c0c81dc62456734060942cee4b4981db3ba48491479b3fb8e54f44191750c23ef5cc672141d1fcc0e60c5885c220ce8618ca8d5f08ffebb32cd3b7e8d5704f5e7eb6c6d7f6164f8a295a2f1578b564c6f24bb8687a5620f0ec16adae650e3f479ebacb635c9e9e3acb02153978942a49da345396b1218a728e14884a0db08fd067cc2f363363d79ef9b5490a32ac9c64403bab74a3520c041a4e77822a770170ef8fe1e64fe66f079d2a8915a559152d9d40bc5ab7d406487346bc0c9574e3d41762137c7d17e264ef1a6a461b3ca8b422e22d7dde1e95cbad85051afc30a1e07cfe8195d96e0fcd74659af9477293632cfb7dd45b3ce990f6a07a01c9b39409bec84f2865596459449a69a539044e76c8bb19bbf0841a5dbd78c6e13b2611336e16a64b0b6ef4ce8b854c42f4729db144cb9d8bf3e1869a6b6b4dcf2cdf74d951e7b5e7583b44618035b7f00bd903750b1c7de1b3b41cf8402292eb45e4719f10c854b507886402d10e6282c698077dc963a6e726cc8fda6bfcf291fd73528474bd9a3ea41b5b1bcb1a4ba687450cab9f35f46bdb09757898b1642ca6011c12ff45483775caca05c0450f5b0adeebae052a632173b4ca321f17b90b74b748bc4bb383fe82ad72d5219b642a9720b63efc6c8ae541e18ea2ed92c863ea5eded9a5486abdfba7627b3379a30dab70e171b92da6a24af82fb722565c6a6b372134dea6a62655ea005057b0300eb08d1c193687aba1a12f261c74c4e335e4f8ed3f288ba2c725b64ff88c81134e93b6d62998bab35aea45b9568858ad1fd4324b55fc491b65ad8e1028d515c90f83188436519c56c7d5630e7ebe4908c576e382c33e28e2a23726f47c8c6d11de34c7bfac44955a9b504641495116287ad289d6fc4a3184e8b8228d75e7c381b5b2ccfa6a4e021da33d90cf87ef82022017d7a38b61660cea812b949fd2c7c7dde20bc70f5db8adc28e95bbb71c6df4756a49258a69d08ec0bf11ef9535345132a09f0022f19e4a35200d1f00eaaae672db27f01d0b2ca2bd49197f8857379dfa0f86c21e1551bd0d0f08ab7cc9abfbce84ade1d1009a14f689b900cde2ab6c01c38165bf749a005dfa5b33739713bdc6839462347b4a0329b884931636df0aff728dad1022560881e5ba82fc7d929c107f349753281a4f8cc8fa132dbc2352f49268967850791e77a1961f06c94f1693c2172143fea0c4bc213abc521827ee41cac5594a7e57e4d3265183b2f5524e4c0445fb2ec2ebe0650a4415ccce9e581dec6f3a1bc7e7bc77ca3fbcf8e13493ad9526a64b5203ea75de81f14fbda6730efa1a4cafa7df48bf9f9d23d5c165b30dc153abd8d7b16db44af2988cc67ef0bb0e72c6efed0fb8b48d4fec5a9127c64fa6f22374e08bddee517b28ea1a35506eb7e7d2905300987ec7bf921739bc6344fc2c98c1635d8932d8da0d6cc2d90706ad705ce7fc64bb87ab53ec20e49cb7e1b90c3eb173f899830b6d31540ffb3e55e639d35fa1062f450a462780a9fe42f55d516753588c1304284736b57521a0488161a55081cfbd9a85f8b13584188dbe2cb49c741ef79f7361a2e777b7f95dc720df3058caaa4266eb48573016fb5dd339b70482d5211f0a8a754a103408a1e102db6f94e87545caaac39b9e257cbe2c4f38c53665e34c6a06da68920dab4316c6195df7e7a8cabfd8ecffb098c56ce9f17cde8bd88a817fe6941aaf42d343e7d481fff06e324dbefb8c3ce9a2eff9c244e56e102071f870d61ac5d31e13dd791ba05c7176fd2f1a7e2103186d1d5568455b7234f75feb19a95b5e65df019a4550c43cf57a101f17c8939129dab74e714fd3fac5b78a247b999ae9215435ce5780b92e2f50bd2eb9902a6e1bfff66d197cd757de8b44c4795f89ce7eb847f9527b1f6f7ca41699220cd4c4006071ef24f56232a6ea95c5465386c593e1f11a513f9274110e1f559acf94167e8b74c0e05b8214aca2ced3faeb7e5e8d1021fad061e7c726d8dea304c40c71c7a3d11920169a2f98ae38020ec4bef157c177715194e5b116b0835aee0026e131e1243e062ee85d5b98ac65ecfa943e18d8870636ae4bc75de3bd5da7d169470f02901f482ccfafc2db4e97570311580a88fb0ce5327e0036f8dde9c2b09313a708b1c173a0c1ecae7560720d9c7070c1bee02c4f82920b1a133f1f8ab7cc3020ca920e5c99fc9d14a7e8c56a0a602058a8ca725ce315c3e8d5703fb1cb85f57a491a847549a42e0ebb2dac8035b9158950506425014f67aadf23c28b38f2a1083a1b8cf67f13e1d2d92e4972fc194086d967779d9551492e0aa61c719a40a6aa2f98d2d35d7e43e80aa7a3600700e92579cac9a61a2ee1b5b3d214dd4112ff088c52165821c83a20b2ece2cb4cfbc1e7e843199a81bceab0676bd2880776f375704f369d05315acf0d50f6bc90e89d982b3feb5fe55f402806da12503451c55514355b40edb3cd9c7f02c7e81d1b7a7b18a37222239c6398372119421b9eaf7d8646275c1ef8b5651a4447f09d182521524cc8878cfdb8d45740204bfa9c2009862aca1dcc601de4a595be051fd27c72f30e79e3dd98ec0b46f4a6c1f6464ac347a18db7415226e45acde015cc9059138e2794a016a516a50cea482ba138d182a6a6b8aa8174835e09ca3d6be797578009d561ddbabb085ce3f94611058e431b3d27d9c770901601b92e22b60b8362fae0feef538d8cad93a53861338a761ce91ce7e3457d710d6df9774c74661090b74f86a492779145df364c0eeea010fb2259d8680ffcb462d5462db1260ecd09d5678ba1762f7a4369ef62ebc651a667290deb2046e2fa0ce3f7d9d4fdce92dfd5770f06bc27b5daa67b22068cf48fe31d4d31c489bc523411d13a2fde000cf671f5f897bc42cf0e66e8743248167e4907459152f76fea595080bc2c1be039b4f8918d60796893be00a1033d906f66e17e031256a6b28d5ac759dd4caad24f51d2be5487bf3642891ec1439091a9df3861c54f9a346102548b057ef7e49b12fa8f63d2f53a3d8c8f979d2855f43718b722131831fad957cfb044a964507226e6ebe5b084bcdd3378eb71f9e0ed3b01feac15647339f7bb9b68c052b896ed9fff6c39810ce594e51cec91bb0285660719cbd3dc7c24a558631e0d7fbe0b08e096d48ad175fe6046e36d7b639e4c67b577396d395efff473624d1192c2f2c73bcce1f3d6923a75c3afbfb60bb6160fce9b6c288e67288561d68d925eee5287b676cb6166cc4645a7039c7da4c33654f48267c12b959dee9c9f1bb7df31c331b417754630f03856af135f2b920c606da68ec82eedcd4e2c36303d0369eb5aace9e2fa2276357942162592e87220674981ccd819e6b0a6b7eba7a36309342da9cf008bad8dd627311ad7abcb26caf280bc1c80ba2df0c19b5a71342c5c2e74c6b48baa308dfb0e93c56215a4eb6a5b97bcea2e8d7267c60e0317d2b9520fad7e95158cd4a9058adf0d60a752097d5acfbf22a513f12b8d5a184426b6ce27e91cbd8822a035b937dfaeb547185391c49a4cfbd4fc6398e68e77479c9b9e19aacfcab057385d8dec8ba106088672c64d68e324e9c8d71c10ac8231a93602801d26a086ebf3cd20deb9ca410dd9a14c8e6382d8d0a4ca75c9faa87c4ac92ecbd2035ec9eaf262a1c51731058e7da2a6826a98dd24606677d33262930a380090dbf34d7b06d735a9f50407dcab5f09f5dfe98f072f2ce7fff2cc7728f6cd185120743ff3c2d0b1a2f275c652901896524bacf3d6461c008445128a6a5768f742aa2b35b5ad0e1ba759545a5b12376aec9ddba8328ebd8633ae9cee8dbcf3f1953caae98fa88214329d089722d91649e3b88cb6f7dadb6edd668d339966264aed196cc94e8578082c681ae9b0e24f0bc35f01d4df9b3bd130928eae5ef9f07da403ea8038e184801f751a0663b9957c8b55accd76c6bcab9785a8260ac75a3f09b3ed68505d6ad5bcb1f5c86ec3653887e6253f6c59c76ff1c6371de94e8d98ac556ff95763a119c8d60fdd15f8ad687b32877b973723516195397a7f162040956dbd3779d0fbf2a1ec96e1214916ef16a0aa8eb9a4943f5d2f57da946f094e5c7d96605b6996f82d4599d013a59b904fa515f7a6b4ed664e918f15e1096f495983ffc3681c770d38dbf526ea95ea7457af50b9fee39adb6ad49085975e7c22c49887bda35505f30076c5c180762f1359debe77c1a88e32baea89af3b85e34a778d878d41a468b2960f8064df648df03c6ed6894a09b369cac8c38b1ddc3e7d808a138c7e102836e0c358f1c303e45ad83bc0d4aec554eb472e7931d91d0ca5290aeac15a4b6fc136769309ce5cd0d89ad8720f0e634e966217ca39ef24918c22a4a4ae620c8f80a6d075ec6402a21e5c46a26bcd53c63a00564e577ab196c7134afd37d2cf95b13ded373f820689e68dfe50e12042a817034d6ec88a584c970c3d41307aad71b41e17f998e86e1056ddbf006f31ff330cc127ee151addd466625303dee199168e2c66c395a35fab16ccc41bdde8c982eee06b3d893123967b504bfcccbfd61844d06fdb6c30f7687102ae288eedcf3c05e5ccededb84e8e8034ce1eb1399259312530b0db3f531b359523805dd35ea5edf8a99aebbb475ccf9b67a38b3658255ac21f221f9e55462b1a5b33451b3c965ce47db1e5adb7f57a9683254f7d30da86884fc69b0bef67ef5db6c1e19b35ba4d27c3aa2c6ff4a7bdf206a2c195866c7bff7d007a1c3e3055eb247884499edebf13357fd3e6547f462247c7da4c52d4e6b01a5db111102e221cbf1873fd8f7b2c36e5144106dd45929a7a66a13e8a1764c8f816dd8bf090d37d327cad8a411d627b5534e3e77506bcac4cb957d2d219fbe2d104030dc8455098eace9b1605ea782465e142acc49f408389fb95aee3bc24db774d5fd24712ac1bfad9b6715415767327496fdc3a45c5ef980f83f883c8694a7e9d019353dede2549c6c56526f9a8c2b54592e4af9d75b895e7e97a4a6cdec8eecf8481a5bcb47eec21a16fd1338f2e52a4ba7e1a780bc4a119d69b202f96d3a93f325cddca4e5855fbe7f70c63957112ff0121ee3ade7ce544028604e8505da8278990fce5e32cc990eccb48f03643c3081e565abbb1e0ffb1f69472d4bf826b2743d7cbae5882e31c75a0a03d1b15294c36ce1db5582c078072be6d50b1a3c9eee29ed6b6df6b0d8a74048d21797b923205011d7cb37722e0dfba19c2c433f04299e5899462034eb887ab980d195130297fb5a48f599a9521a16babb728655ba5634835ab2d3ed46b1bd756fabf71493fd8b71ede1fe95c2b5363e209338d6dc032ddec902285ef0740832b908a913894b7de68ba41312927a75e7cb5250f854ae9f190c56939d472cfb3fd394d49067700a717200dff7bb8e177881604fe09bfd5b1e78c7bb9ec3006a5d7251463c097f780ea5dfe1c77063479513e89c521ed3e553d24cf01fd4317612cf1e0faf793e2d1eccc804bcf55c644f0a3b35666e2a6739d86d60c1345cc332acfb93c3451d4facc4545dca73299a67b27c66adbc55725360c130eede91ca878bb78754ef55ed74594a8e60dce1ffb700920f77c0d4e43327268d7f0a62a7d98d8d5f9b2c428ed65cfb6aaca2904d97f7ebd33afe23a8fe3c6ac18b3091f30e7d8ed0e7a9cab418ec745a7a575aaa6eebbc3b88826cbc848f25c51660ab59580458489c250a7a7e3a93c6f3f46da139c26725c963ca17f23b8532b00c53dad48f4da8bf0c8f6ae91d149f2346a20b26f2114c496664a48bac33c07d93129358cff8a2c48799c0ff7ac7b14c970288a6e41709300c22b4b5fc98347e23c6c5b73f9003e0bb4d2eef2b2dd64e9e7bd62cd0abacec97c15888da04a6c6c71c498787fd205fa2060c0eca94a7826e9e0ed62c1a2637b67adb1c41b9e9bd78e2aa60a1098d869dde7465f1489f852f0702190c918219cd7865bbc29c07176f99967eba74ce3ff9a64a9ffe3536788e63a9d52585b4020f59bf39cbd519ac640caa5179a94e77fe5b158443bf2b39926c88c81997cb6fd5c3a82f76e335231197937c7683756ea8d28e844fb6a7e3146c4cf57447974cb5b36303b46ad8b27c6f17220b678a38515f1460f7d53e94da131e964715a353054112c59be101d5e504176ad2f935e046e1e6927d9ad99332d950c3ec08df7ec7a56889f1a326a1c09f3531af8d2a927b8a09306a1faad6f8a9ae91198098688f5a662b45becb1d7b89abb9c1a53c145c9242ca99aa0c6254de84daf7d7edbc5d0d2484d676337a82d8fb813772563fb73e8980fc33815a20b087ce493d6bac6a832246a2f16873b6a529c1370c30fb57fa873273d7490c63d3e890b9efdb3c6a60e012fd6f066ac551a656c0c949092f5f06839e299f9cd60e745cddd056facd70be765574ae09db5ce4148f90ecaac5b3380179f5440215014ea40e85fb36339d15b5bacd35a255bc35da72c3e2b38f4499b00f2f078b52ca071f1dee92885c0a5d50cbb9506f26dd218c2527fd4d2dc959ff39f66b59208f7303171e71b85cf36665b832a14a3e9c21652c2494f4894213a32dc8a71b1f61c907a8d5469e5c937c44c59cdfb72ac38e3deeb24f94f7fa43733fd4e211bf76b0adcb0dfe9289012def0e5a279f74f83754c39a9c65561dfcaf5c87b2ca8d0b7fef9830a252526bf4861920a1b510e677b75e4d2e26f999725d74794ff6ff9cd20a6ce3f8d8cca07361472aae1018bd6b609dda4f8d42767faab7a4e16508c437c270f6f10f73fa7b484d77d7087f706f25565b66f4c931e6bfcee509cd10dd75f0b601baaa233b7f0a9d811cb39bbb800918dcb5f4ec7e3d13eae145c4160f816b5036d5f21d4e8e659518cb7b87fd1b70c85c5690d3718ea11ff6f2e2dbbfa53b13e097c310d5e8c0e26f297ce0c3fbe9868c8d2a9adb77b62c6025c5a68b81a5bcb3714ab7fc45d81df68b138a3693d46f331da7ed70f47419f421b9ca3969c543921544e60abfdf6431bac725d6e19396f0ee35846f939b79d7fd5a68d5cc135d9319640acea7fe4273397359c24d2f6cc2c31ddc5bac5e95c3f79a6ecf878147f6b5bd715fb4c81c3f96bb809b4693afa8f8556b0f6b0d0b438cf2fead8853387b96ac8a66fb4620eb2f643e04456f34c726b84dfd7b677bcec1f7c9074ea852b207d187fb8889b12768c0723a9ead0cf70d0294ba6df2d1d68d8087744c39f8e4191055cc913a72f14c0b25bc565224a93ff54113d21c8f34b5917a0c49e9512f57241191e7d425be00ce4fcfd424dc009b5d8658d762c626714e8e3f680a6f81c2c0b7b091328362027b71ec55f4799f66f08f41bc44f72571dddd8145a1b301bb69a23ac1b02d6a635886fbb58efd30df430e3009f9d5cf9aeb5698da08b208b93b38ead55bde2b223be69a3ae847e28792a62e61c5c6e99e58d522c9f604b3512fa158a061eb757b226decfd6643878bbda7b4d2f49d0e51563231391191ae3b815688ee796732d301fb26024bedd4d0ecca770647cdd3a5ac7fbde3edafd7298914327394982d83e2ee40beacf580e8f16afa58fd02f12e585d44350b80f5cfc9a3181ba51d7fe6a64df2e4ea0448615b86c57748ef545654df5d8ed74925a8a3ffcc6c1f84664d2511e9219044c8142065f841a6c92f8b11abb5b09a2686aabe88f55364e3e2ea0cfa1e4880e72576af3ee4c48c13c936287b0347a63b4f81844f1da7516db29109caf9021e0e09a29eeb20ebd1b7205d3f082c36d97f8503f018f700ec690f4c8bbf528260953f234416b0a0f1bbf3e0c8b7783fe79bb93d4f9efbf68fcc420d288f68f72939126b4e9095ccba560d2f455bd7b2410868cc71c86794373657d5772d13d4d0028fe3cfe0ea246841649d4be7b7496fdef748ebab626558bb07470f6ecced50a072e4f5e4c09119589fb7e2a275c1f693bb3e5a412fb2653ca9bcaef3a3d7e4a4795b3ad91e2526e8aa72d553c6462d55aae4ebb2820b98340ec8945914ccc3ae7fdde6a16b33e7ee566e163c508184525c99ac2bee81f2de21effd4c4a52cd8133894f68f6f8354b6173718146483164f045cc7bd02f477d6fc45bd4d1657c4f6b44d2a8112a368613541b0614e2533d652db420d305018fb7feacfeec4102da0ae29a48e059d712da5dcabb175ce1e257ffeaf4a7e32463ce7f62b50d6ca98702b9cc914b40eda53e2feaa9d51aba3ae48c0d895255fa24c955a6311156af71e7abdaa1c25179f6c1332c10072c86d8bbcb1cbab635f283739073d612af81526699ff1a1d383c4259502c3238b2e20401a2965e85227c8ed3b225cfafec158e1f68e61f14245f638dffeed02cb56982e00aa1c3c7879c69bbbc7e0b561223f23687af62c8c9d96be9bb38423d027c9ac7f8f229150fdc0562494c56eafd77053b4e049674db94f3fc8a4d317145e3c3410d3c67849c05a53217b16476205c79d64bdc91e3290eabd3b493b963b8ae91e80f34af0420be9cd34865f437b5372b418583bc7289ce210ac99a62bf76779984b96b8fac553dca0ce747d903a8441769073edfc923f6ed99e6fa760ca3a7f91886f8da489caea04647fad3bbe328b3dd83673e65340d1a81f86dc267fad62485d7b4d1b2beca89334ce27e9267b1c60c0fd1dd5bb7f1f6743c47ec060a3b4a8fb628eb109cf47e4f71ef952961fc047f50332c1b4f8889ae191dfd81e0e47e4a81214db35b5ab749052d02b4fcc7f976afeb8be83fc8f0f6f7943544b5f12b3b222311c82184d0b2e929f52f8db2ef8fbdddb2ba3e586bbd44fbc228e1812233959f2458ea183ea09b7df10955ea6d1e8bd64a8cab74b028176b87aa9385f76ec20e5e9d8b5d0d64680db87627572e7fdea0afd2ec1f04faf974b675bc1783b4fda1724e7557f010f805d4c58cf7ab22d4225277d1a0af3d7e789e21450d445d35831eff00a166b1e5cbdbdb78e3034dfb3f09f47f22c1f4515e0fc61f108de191a43a3366c3c5192ef75a137ad4d1071010a52b99d1a4d70e0809db845a19c5f6f489b0701bb065d6f14558bf914df45c47742c0e4232ae3a2bb4bfd39ce0807cd99582156451ef545a2f542162cc1a2532f3af3d422bea6525342f3bd583b4935aa1c1dab34c817addb6d4d60867b52a4c405a0473de30ef1b52b81191b492261c62e536bd2c1de3149bae4e6fa09b19b4b348b85da63e9f7baab672e8da67b04fadc21905306c9612c199de85cc8f1e24d71876f736c89caa4acae2c21f1761f7c5afbef1715e47406fb3fcc142d1b984264dd369447a6e39871aa94048b85f3ba6fe8d86d2c6fed2eece8dcee39029c76637fdac751b459f2f848a1adb12829a433aa31c060a5a5585b4fd3a6213755e16b40197ce8ea381b6c08b14599a72afbd0a6953de8c2ed71ba21f9bc32104d6cdbdb75da597604cfde8f0b8a9d4fd268000daae887a990dd7a7d8977a63f7bb4ec98f3fe64a5d16b21a2a55e893def6f5a269b68578dcd3b79be0f1e1938660b659c3d12788c966e3b11020981dee155cdd5e72c350107444b4a4160104c54227a27db06b452bd0968c82bcba31bc67780ea36f96ab5ba220a78e6c5f7a434c27dd9b0a0c37f0cb67779b09c0fea23ffd08ad47aa2fe291d9c87dd241dcf524b1f4081aaec64a097941352ef4e860eded00560219eff85f32ed05065ec49e99b852634daeea22768d7244752da59e7864f1950b00dd290e1546dba88ab9c3227d3f49b816ff8f10db41cc80ff5fb4e79c8c1bf1b8c694784743c836472dbcd5279eab18914d04bd0850bf53f8f8a413d5ce5f1e0f9b533c2876dc03f6a503f72aff339ca2e9c898d3f6c866891c1831fea58d54491541a73a3cff0b6d08b474129f840e9d8380d6bf3bf5fab7e8881011267574370e7a0ecfa3525e24e45552315b1f8120fd7bd524285184a68dee5ac44d16cfafbf9f5b34c7ef5ed6df74b006a550cf59fbc08fc16c8d0210e2d4e51e0290d79b7705a7904d8ff2cefb3ae289f18c7b88994b3559eb6a327477e95819e8b1343891eae5b7b7b0e5ca1ead1426a55e0c40a96b9305b5c5df6e1f143c6bd167a3aa44fce4106c0811043bda7590dbe8dbc3ad8763c90808facffcb188d22", 0x2000, &(0x7f0000002b40)={&(0x7f0000002480)={0x50, 0x0, 0x2, {0x7, 0x23, 0x9, 0x10000, 0x5, 0x1, 0x4, 0x7}}, &(0x7f0000002500)={0x18, 0x0, 0x0, {0x7}}, &(0x7f0000002540)={0x18, 0xfffffffffffffffe, 0x9, {0x3}}, &(0x7f0000002580)={0x18, 0x0, 0xda8, {0x4}}, &(0x7f00000025c0)={0x18, 0x0, 0x4, {0x6}}, &(0x7f0000002600)={0x28, 0xfffffffffffffff5, 0x43, {{0x7ff, 0x20, 0x0, r4}}}, &(0x7f0000002640)={0x60, 0x0, 0xffffffffffffffc1, {{0xfffffffffffffffa, 0x7ff, 0x3, 0x1, 0x7fff, 0xffff0000, 0x0, 0x1}}}, &(0x7f00000026c0)={0x18, 0x0, 0x6, {0x80000001}}, &(0x7f0000002700)={0x28, 0xffffffffffffffda, 0x4, {'}:+^):k&}-[$\r}.+)]X$@)$\x00'}}, &(0x7f0000002740)={0x20, 0xfffffffffffffffe, 0x7ff, {0x0, 0x3}}, &(0x7f00000027c0)={0x78, 0x0, 0x5, {0x100000001, 0x2, 0x0, {0x1, 0x1, 0x6, 0x100000000, 0x6, 0x8, 0x1, 0xb3cb, 0x99, 0x8000, 0x5, r0, r5, 0x5, 0x3}}}, &(0x7f0000002840)={0x90, 0x0, 0x3, {0x4, 0x0, 0x7, 0x5, 0x5f0254fd, 0x7ff, {0x5, 0x1, 0x6, 0xa4b, 0x0, 0x341, 0x8, 0x5, 0x0, 0xc000, 0x8, r7, 0x0, 0x1, 0x2}}}, &(0x7f0000002900)={0xd0, 0x0, 0xffff, [{0x1, 0x2d140fc4, 0x2, 0x0, ':.'}, {0x4, 0xe9, 0xb, 0x1, 'rootcontext'}, {0x4, 0x1, 0x7, 0xffffff19, 'fowner<'}, {0x3, 0x3ff}, {0x0, 0x8, 0x4, 0x0, 'efs\x00'}, {0x6, 0x7, 0x1, 0x0, '-'}]}, &(0x7f0000002a00)={0x10, 0x0, 0x30d}, &(0x7f0000002a40)={0xa0, 0x0, 0xfffffffffffffff8, {{0x1, 0x3, 0x7fff, 0x2, 0x2, 0x0, {0x6, 0x8, 0x2, 0x2, 0x400, 0x9, 0x2, 0x7574, 0x7, 0x1000, 0x9, r0, 0x0, 0xffffffff, 0x5}}}}, &(0x7f0000002b00)={0x20, 0xffffffffffffffda, 0x7f15, {0x7, 0x4, 0x101, 0xad6}}}) 07:08:44 executing program 1: r0 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)}, 0x0) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0xfe00, &(0x7f0000000140)=[{&(0x7f0000000080)="2e00000010008108040f80ecdb4cb92e0a480e000d00000009000e", 0x1b}, {&(0x7f0000000100)="a1a10b9a979fb85511eef06629c3691f5dbdae", 0x13}], 0x2}, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x8000000000000003, 0x0) sendmmsg(r2, &(0x7f0000000000), 0x40000000000024a, 0x0) getsockname$packet(r2, &(0x7f0000000180)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000280)=ANY=[@ANYBLOB="4800000010000507000000000000000000000002", @ANYRES32=r3, @ANYBLOB="0000400000000002280012000c00010076657468"], 0x48}}, 0x0) r4 = socket$kcm(0x29, 0x5, 0x0) r5 = pidfd_getfd(0xffffffffffffffff, r4, 0x0) ioctl$FIBMAP(r5, 0x1, &(0x7f00000000c0)=0x8) sendmsg$nl_route(r5, &(0x7f00000003c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f0000000240)={&(0x7f0000000300)=@bridge_getlink={0x88, 0x12, 0x10, 0x70bd28, 0x25dfdbfe, {0x7, 0x0, 0x0, r3, 0x1000, 0xc00}, [@IFLA_CARRIER_CHANGES={0x8, 0x23, 0x4}, @IFLA_NUM_TX_QUEUES={0x8, 0x1f, 0x80000000}, @IFLA_MTU={0x8, 0x4, 0x6f}, @IFLA_PROP_LIST={0x18, 0x34, 0x0, 0x1, [{0x14, 0x35, 'vlan1\x00'}]}, @IFLA_CARRIER_CHANGES={0x8, 0x23, 0x4362}, @IFLA_TARGET_NETNSID={0x8, 0x2e, 0x1}, @IFLA_CARRIER={0x5}, @IFLA_GSO_MAX_SEGS={0x8, 0x28, 0xaa4f}, @IFLA_PHYS_SWITCH_ID={0xe, 0x24, "5394960a4cb59e6858f3"}, @IFLA_NET_NS_FD={0x8}]}, 0x88}, 0x1, 0x0, 0x0, 0x24010805}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f00000001c0)=@ipv4_deladdr={0x20, 0x15, 0x1, 0x0, 0x0, {0x2, 0x0, 0x0, 0x0, r3}, [@IFA_LOCAL={0x8, 0x2, @local}]}, 0x20}}, 0x0) [ 2053.381305][T19174] loop5: detected capacity change from 0 to 8 07:08:44 executing program 4: sendmsg$IPVS_CMD_ZERO(0xffffffffffffffff, 0x0, 0x4001) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xa5480, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x10404, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffe, 0x0, 0x40}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = msgget(0x2, 0x408) rt_tgsigqueueinfo(0x0, 0x0, 0x0, 0x0) msgsnd(0x0, &(0x7f0000000480)={0x0, "2c9a25c100d5e7ddbfba4c307384db975a5f6dbadbc11091e90a737b9fe1e6ba251a434e02573db48b155949324329c6b6377e65c00110704c02757ce222a728b1a7c88a257147f32f56b383e0d82871002b9a28649065fb06bb5fc0362e196689985163379df9d687b109d333343d6618d720071569112426a5ae22b117644c56674e353683788c9ec0248e56800b14deb9c11a2a290131ea2fb1320d4cdf4f7e42314b08ce48f8e847a43a4954549b2faf4ce023541eff41bf60a26a72a64c3547312f4a"}, 0xcd, 0x800) r1 = msgget$private(0x0, 0x0) msgctl$IPC_SET(0x0, 0x1, &(0x7f0000258f88)={{}, 0x0, 0x0, 0x0, 0x7}) r2 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000380), 0x4000000044882, 0x0) ioctl$BLKRRPART(r2, 0x125f, 0x0) io_setup(0x1, &(0x7f0000000240)=0x0) io_submit(r3, 0x8, &(0x7f00000000c0)=[&(0x7f0000000140)={0x3a000000, 0x2759, 0xd, 0x0, 0x0, r2, &(0x7f0000000000)="98", 0x3e80000000}]) r4 = msgget(0x2, 0xc0) msgctl$MSG_STAT_ANY(r4, 0xd, &(0x7f00000009c0)=""/238) r5 = fork() ptrace$peeksig(0x4209, r5, &(0x7f0000000100)={0x86, 0x0, 0x5}, &(0x7f0000001bc0)=[{}, {}, {}, {}, {}]) msgrcv(r1, &(0x7f0000000280)={0x0, ""/118}, 0x7e, 0x0, 0x2000) syz_mount_image$omfs(&(0x7f0000000040), &(0x7f0000000080)='./file0\x00', 0x3ff, 0x4, &(0x7f00000003c0)=[{&(0x7f0000000180)="5155c16882eefc010074d5849035ef7c0c74ae504c3f64db1dea75151791fb4a1156db731bad251087cd4d0b87ed3b8c19947a68bc0fc01eca02cc5914f1ef750a0fb4512614e0", 0x47, 0xfb}, {&(0x7f0000000580)="f9cd13f8b364f4c50bb87c923a43a1b4d020faf0319a903abcc87769b1a9021085e3990c0b2959889c74d8008f0a4c32aa0b61294e2250df5b91f83db32d17705098e60f6b9ac8be33b1c5a3c5dd0d64ed593348d0ec89239299db36f1faf322f2847f63df26d20c165f2185b72f5b527806c1971d33dc3a2b5c71f538381a2aeb99a56839cfeaf34ce9a0f5a87ec83c0285b14985dd4edd5727e99be08dc1f197cdeaf780fac92ab272a87bbc9fe82e64f631128d66dd933d5fd93817559c3576338e79ea8c45", 0xc7, 0x5}, {0x0, 0x0, 0x8}, {&(0x7f0000000680)="2fbdee7d3dd3dbb1800e1fe083512ce8465e469dd6be17b3deff5203f1e61e8bb7055cf0674da43811a33d20cb3608c201c95d87ac34b5dfadbbdd7fd2590d179f6075e2ddfb79b1acb740b4f87cf401eaf918c0a2399026a37b3262493c40505ad2b7f22a93af7b22a0104f3554f63831f449f5eea8190e109792b55e4e2b89f2cd34ad6bd0d3ad3bddd537da02f8dad7e18a28b1e969e77380807f351ad010995b15e9c1f2dbf83ae1ed188204ee71fd3b2b779ffdc5e0680a49f6dc1ddd496df5e334b0190ffacf44ddae8b9b685c5f35", 0xd2, 0x1}], 0x820a0, &(0x7f0000000ac0)={[{'^)'}, {}, {'/dev/nullb0\x00'}, {'/dev/nuLlbp\xff\xe5\r=N\xf9:\xcdz\xa4\x13qT\x05\xdfEq\xe4\t\x8a0\x00'}, {':}[%:'}, {'/\n\x87\xc3O\xee\x88\xe8Rj6\xe6Wn\xe0X\x91\xd4\xea\xe0`4\x8b\x94N\xb0\xe2\x1a2\xfe\x1c\x13\xf2\xd5\xaa\xce\xa1\x86\xfa+\xa2\x91\x98\xc8\x16\xd8b+\x90 \xf0X\xb3J\xc3\"\"\xc2\xde\xf1T\xacb\xb29\x9cS\x1a\xe3e@o\xe2H,\xd5.\xa4;\x02\x7fO\xa7\xbd\xd5]\xa8\x7f\xbb\x80\xbaB\x0e\xd9\xc2zmM\xde\xd5\xa5j\x95M\xc0r\tyA\xec\xc1\xa7\xa8\xb8C\xa5\xcc\xfa\x7fS\xc4\xa9e9\x89\x11\xb1\v\xdam*\xca\x86y\xc9\xc1Y\xb7\xd8\xbcH\xe4=\x85\xa6\x93\xb3\x19\x11\xb8~\x05\a\xa0\x86'}, {'\\}\xda<'}]}) msgctl$MSG_STAT_ANY(r0, 0xd, &(0x7f0000000bc0)=""/4096) [ 2053.631940][ T26] audit: type=1800 audit(1638169724.736:264): pid=19163 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=14275 res=0 errno=0 [ 2053.661404][T19197] netlink: 14 bytes leftover after parsing attributes in process `syz-executor.1'. [ 2053.795827][T19202] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.1'. 07:08:45 executing program 2: r0 = perf_event_open(&(0x7f0000000100)={0x2, 0x80, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000180)={0x2, 0x80, 0xa8, 0x9, 0xcb, 0x3, 0x0, 0xff, 0x4009, 0x3, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x7, @perf_bp={&(0x7f00000000c0), 0xa}, 0x10000, 0x5, 0xa93f, 0x7, 0x1, 0x8, 0x7, 0x0, 0x3, 0x0, 0x1}, 0xffffffffffffffff, 0xd, 0xffffffffffffffff, 0x3) close(r0) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000400)) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89a0, &(0x7f0000000000)='&@[\x00') perf_event_open(&(0x7f0000000040)={0x2, 0x80, 0x70, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x9}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$kcm(0x10, 0x2, 0x4) r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x5) r2 = fcntl$dupfd(r1, 0x0, r1) ioctl$sock_bt_cmtp_CMTPGETCONNLIST(r2, 0x400443c8, &(0x7f0000000300)={0x0, 0x0}) perf_event_open(&(0x7f0000000200)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x203, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x89a1, &(0x7f0000000680)='&@[\x00') bpf$PROG_LOAD(0x5, 0x0, 0x0) [ 2053.889171][T19197] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.1'. [ 2054.074178][T19212] loop4: detected capacity change from 0 to 1 [ 2054.125768][T32748] batman_adv: batadv0: Interface deactivated: batadv_slave_0 [ 2054.133250][T32748] batman_adv: batadv0: Removing interface: batadv_slave_0 [ 2054.244980][T32748] batman_adv: batadv0: Interface deactivated: batadv_slave_1 [ 2054.269102][T32748] batman_adv: batadv0: Removing interface: batadv_slave_1 [ 2054.287604][T32748] device bridge_slave_1 left promiscuous mode [ 2054.293948][T32748] bridge0: port 2(bridge_slave_1) entered disabled state [ 2054.385103][T32748] device bridge_slave_0 left promiscuous mode [ 2054.391361][T32748] bridge0: port 1(bridge_slave_0) entered disabled state [ 2054.496591][T32748] device veth1_macvtap left promiscuous mode [ 2054.503192][T32748] device veth0_macvtap left promiscuous mode [ 2054.532998][T32748] device veth1_vlan left promiscuous mode [ 2054.560114][T32748] device veth0_vlan left promiscuous mode [ 2054.729092][T19258] loop4: detected capacity change from 0 to 1 [ 2055.279657][T32748] bond2 (unregistering): Released all slaves [ 2055.364623][T32748] bond1 (unregistering): Released all slaves [ 2055.859446][T32748] team0 (unregistering): Port device team_slave_1 removed 07:08:47 executing program 4: r0 = perf_event_open(&(0x7f00000003c0)={0x2, 0x80, 0xf1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = syz_init_net_socket$x25(0x9, 0x5, 0x0) ioctl$SIOCX25SFACILITIES(r1, 0x89e8, 0x0) r2 = socket$packet(0x11, 0x3, 0x300) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r2, 0x8982, &(0x7f0000000040)={0x0, 'batadv0\x00', {0x4}, 0x5}) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r4 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_PASTESEL(r4, 0x5437, &(0x7f0000000100)) r5 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r5, 0x890c, &(0x7f0000000600)={0x0, @l2tp={0x2, 0x0, @multicast2=0xe0000006}, @rc={0x1f, @none, 0x1}, @nl=@unspec, 0xf0f4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff}) ioctl$BTRFS_IOC_START_SYNC(r1, 0x80089418, &(0x7f0000000000)=0x0) ioctl$BTRFS_IOC_SCRUB_PROGRESS(r5, 0xc400941d, &(0x7f0000001680)={0x0, 0x7f, 0x1, 0x1}) ioctl$BTRFS_IOC_SNAP_CREATE_V2(0xffffffffffffffff, 0x50009417, &(0x7f0000001a80)={{r0}, r6, 0x12, @inherit={0x50, &(0x7f00000001c0)={0x0, 0x1, 0x2, 0x1600000, {0x0, 0x572, 0x1, 0x8, 0x7}, [0x8]}}, @devid=r7}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f0000000400)={0x0, ""/256, 0x0, 0x0, 0x0}) ioctl$BTRFS_IOC_SUBVOL_CREATE_V2(r4, 0x50009418, &(0x7f0000000680)={{r3}, r8, 0x4, @unused=[0x102, 0x2, 0xfffffffffffffffe, 0x8], @devid}) ioctl$BTRFS_IOC_SUBVOL_CREATE_V2(0xffffffffffffffff, 0x50009418, &(0x7f0000000600)={{}, r8, 0x10, @unused=[0x1, 0x1ff, 0x10001, 0x2], @subvolid=0x1}) ioctl$BTRFS_IOC_SET_RECEIVED_SUBVOL(0xffffffffffffffff, 0xc0c89425, &(0x7f00000000c0)={"5e3acfc1578958c17eca5ebb7bb45d67", r8, 0x0, {0x200, 0x1f}, {0x2, 0x3}, 0xe5, [0x4, 0x998, 0x8, 0x6, 0xfffffffffffffffc, 0x0, 0x5, 0x81, 0x80000001, 0x5, 0x1, 0xfffffffffffffffd, 0xbe, 0x7, 0x3, 0x1]}) ioctl$BTRFS_IOC_SUBVOL_CREATE_V2(0xffffffffffffffff, 0x50009418, &(0x7f0000000240)={{r2}, r8, 0xd, @unused=[0x4, 0x5, 0x9, 0x7], @subvolid=0x80000001}) ioctl$BTRFS_IOC_SUBVOL_CREATE_V2(r1, 0x50009418, &(0x7f0000000440)={{r0}, r8, 0xc, @unused=[0xe000000000000000, 0x6ea, 0x5, 0x8], @name="bd7ed780d88cdb09729b6df44654edb43f966e15103fd4b2ff6182912f08b4c9b3e0a3e16124edc7ea28966ec460df9db403dc7662bf8197e6f9ce01c437e3bc05e62d212296182a1f94b2dac27ac9da5b9edc0db7820abfd1ccb8326b5569ffbfa71bc332faffbdbb7afda1b6f8623975763b7fc4ef04ce564b52510be3a3535fcc851c3c1015435521f575c0fc16b408d496a199576fee7c92715b41966c90b046aab486cca05031dd05dc2d401fe46c8aca80e4c61825a46894b39bfafd9f7b1fe601b037cc908bf6359aa9cbaf93b3d633ad9bbe0b64f89ee2c096a437b80ed92e4547ad24a45929e772c61fc1f22eb2fcb4fccf3a8bae33bda75efcea637f7d58107bf273710d53d0c9bb92dff249164b43df6e11bcecea5eac79e9e22597f2a22ebd2c04e1b967781e195e3b37b51d168def5a191f4defaf3a6c0159052d20d6ebd432c93e80456e84285617e2c8ebf035f5393a1464d7ac320c121b7ca087ebff669dbe06ff21c1d8caa608d2a4d55227df94f74f64e42e802e1095b4e5ed179e5b3306217b6a8a6f93f4143b1dded314687919b62ca79f393b0a227bf608947a72c42be6cd2a45d01303019915d9f1d2e016e00ad0e67d406321c29847ea4c813f14f0a83961b3e492b4ec501062ff2c13bec4cad38fc0e759c19b607b07b2d6c0872b8f6db91bca9e7c1233388b73322fdb0c5a8d059a2e355f42a3d10a269b65bb9e1c132fc4ec8ae3dc7411b1e099ed334e558ba31ceb40cd0595788893ee24ed6d76573f370281a6f9b7ecf8c708f3b80773527ca0c6c129449acb39f6333e5574c9c6f4946c7d8ccadde0f1c1d54054648bd52e4a1caaaff9d461a06cc8c1d042acb0d2cbf287fac65a130f9dfc3e3b50be6882b2f1e17f70bcb348b6b44bcc5be178fb52f3e00eae49b7c263795dddcaec1a4a6c4fa676b01a224bfff5aa80a3394ade8262b304e47e19d3164bfc7d84fdb2865cb1257d03c141309d23cde0d39b84cd883438c55b380f836a107043e346f48bb3bfc736074c1c967f3b3d28011aecc80480e46f76a43512a84c2d2f76a821de155d610a0cc27ae33ff9ffd02c3e3793e1c76e5444af2d9b8b0a627de04385a7e25fe787825793f8b391d1bac4da4bc03ec5b6f060b96cab352fac3052651439ffcea7b95e08911b3d0fb5175c609d39ee66e6821b734dc7edf30379e023fd839cf36867ef495a39013cc8b4c571dea6f705af8aa143ebace34b36d28d2e960f7f44db6a205e4db53d5a28431c0926e0a0cb4f1db725d9c9d5a50f64eca9d12735bff53a13dc6a8dae37ac271b4a3188ce94a5be5979051280f42ee5950810f7118f74ce81850605d27de9bb84841e745e27572d4fa79694577db8c52f3880b34db644cd7940252621c54376655eb17efb46b3dc72252af0aae7b556df2ec18c02408b07eb6dacc98d1b10591543d266ae286162a4219c6bb52010e0dafc25b5d344e931ed8b99791dca1f53261aa5398c7514d3d893ba9324c64f958498690ca897875151dcc01e82f5b7d7bfbf1f30039e4ab9ed9693044e6debc272ea65376824c62825ec7e736353aea195f452c17026d644db01fb3ad3ef6f170a5114fa9238d2b41f1acb7f9a0839a348e46ece1200ebd5210c5714bd30132fb66f85c6a762f594b7825fd0fd14fb832eb29d6694b34bc017f4cd2b63ee8c10b2f0797ca578449f93ba1972da41c5709246dbdbe9988a3b299494a40111b83979ec06d16540a6c7e903ef4d48a34a13a7a833d2a72ec5f217310388a07ea30e6380a81dcda1bd64f6947029e55568598f2a0d44eeb54570850540c31589989556c8c92f17d4a66424e6513a8f8300e37c5fcaade90c0a4469fc0f048a8d0e02991aa558f953ab1b20f52939cf61ef50af71616e8d8c07fdf686ee686ab0242d80e19e348d65a9567c677ad3fe4d3e1700a97d46ffd7790bd85388097ec6d18fe51b9c352157ae599c6ff9afcca4a934f1561253c04828336d8bc600af47388c095d1e6e9cb9ba49ddb22895247348709054a9742d8de41007054a4dc4008ddba62b363959fd1b3b0a722dce682ba35182919771815402e6e37e67fdbd1114539f29565a20c502aa9a764ad1ff2a54d543a0cda69cb55d5dedc3ccc5f2570736bc78d069929d68d8ce82beb1c04ca5be58950877b2735f17defca7f01e133afe62a0211fd36384c6f58c0a1340ff451c19753d28566f01f60cba7aa9b74748301cfc1318642dda84858e2330c9cd0473614b99a19fac2f1d404ae5d42184b8ce7f71fd63ae1893f36ba2507b847b093a7153484d5deec84d7819d330f30e2e1914255f518be808679772cca5d39e19f8a98a5428ab362b86ed56021e751b392dcc5b62baea479a7a102daa48f5661ff84c298d220ce673a7e071b776030f36bb5af58b1198f4b60afc8579ada172a223d0f9eda6603041f73c06ad01bdd742ada3978c29a954092200aefe0106f7b55d380df7685b0b9b24b7f28b0702125a0b44c8667409914915e04d93cad9eddb36e85ade641ddd5d80cd9bae22a04c5d58afd211aeeff613f2d1f86e8232e484cc453d7b0bb85d9fad5a89300c24f939be091f46a368fd37ebf9fc07c24c025befd84fcfbb472920f2b58817c4af6ddc67f30a6867425d1126b2b174ca2a89de48f98cb5eb19f38819f8ab6666051c1060023a8260210352ec33ca5462b3f4f2aa79ded3495d952c7264a6765633e1a1b3124fe34d7c57514b7b168fd280646ce99f2ec9f047f2459001ff9615f81a949fd9eb5e1a87b53df00f5b44b6c341263665d83c8be812ff8e5d858ff7747201883e6c2f0ffe0f8ade6736b579a5660c3404b5ea4d72d28876adc6aead483e84beba567b9322155579d7df87af7b4b82ea5fed3d9301eda2511a2a9b57cb66c982611f933861381868f2fb6a164e439edfea46439203f2dcf77138f62c93473724f59b979cd1ba073a24a45b2f3678ce7c5ed6c6e358c65a25aec6c1fa1a54381768a8b96158af02ef747439d710552b35fdfc811bdba274f02259a193de648840e81aab894f9dba7ea503bfa6654a392ad54063d8cf23f95ea7ae730ca9fc240ea78cf73777381ab10087d64024385402feacf083faac75929661ebb1573833eb5a9c917809dbe6b033517b1a90025405f22138bb084f03b50ae28b38c4f15b3b5cc42ac773f17996012a2a62958d6aab129395db452995773469542b95de94d98f666fd5940d4c98a4580fa4146736d0e74878887a96bd36ea8f558bbeb106dde0ebffd687b7f89fd793d83cca6d89997b4fc5f469a330556ea0fc28ee90f141777670ece70c14dda5703afc2348a47031ed04f2a76cdfbe2cafac5e4291831345c54acf75a2db3b7242909ae8f68a2171470dd63fb630cf8b2396d9246eaddb070eaa7111ef9546e890dbd4776331cd7e642663e7ee4b1507d610e3a09e0942491be3ccd5070ff35aaf71c00e04ebfd5e76473e60972acf39184b85ad00a0480d671333e00cd228440a2c153b35802c771088aa6c92f4de5c9ab78137a162574074815abf5b3c377f5e443f2cb79cd41a2f0d875da063dd3c78805e4437407dfaf6e011329774118ec43cd48f01c733075857b7c8da9e4d983b6d07bea90710bb4562003db887cc912e4518cce5e86cb51c76e7e887465624668b4caeccf6c706ab5ec303f381978b241aa28efac4f5f761c3e3bf6f83c2a3541d833aa8075fc7ad812608fde5b79eb45f28a9c47be30182594bbd17f3f5650d9a5b00b278ec40057f6f0f581e22cbf539e41dc34e98224aa1ae64eee6077fdebc6f1baf8727691600f81eef286fb96205465b6e1b681810fe3b92302cbeb91caa8b14461c53a617d8a0ee62879e4373f05cdad9359d448f82efd555fcf581e59d0b7ac37669472399d74826109ae21b401dcb71cb3797a44d517eb9bae3e5f36aee3b50c64361116784bf7751646513b8a49698393f29eb79dbbda82a0a737975930dc3ec22cf99d16192ae8ad29f1356fd0a13aef931f4016b50416d91af1d660a0a28204530dfe4ead9611d47804fc821d91977085a9b86a4ed996ab601e04faf8023d4545c673658f00c08281ab2f832eb7178efa84035fbbdc634cf46f33f1edab0a15cce0158e103b5b6cb893e4964c9894cf43b06fae8123fad8dc3c81e27750e05c50e923688bb78cb8c77badae0b8bf1fb9146d09a864feae541f66c048d8df82602d62df73dd6e6c9e0149b693819f688e9ab3ed17561e3212c2da4c15ca88b43cabef0194de6b9be4855db9146eab91f4cd6e8781c5933b1771f2fee1bcd5b415527b7023588dac159356b379f3264d24b9a94fc71cea478b7cb19966a536e147a63d1e5ae790d06e159f8eb0c88eef643258443df3878ce66c57948e9f6c6aee6eb34ec1c68d78edf0f45c92c1a7fc3a753e67428a3c3f5abf01ad0c581a9772ff3badb93b62abf87a3db5dfb04857dcadb41eff328e59a06488bab7dbf28134350a4073b34493c5fe8c0c0c03c31c577944e84168490cda31158af830bf51529f9acafedc94d739b1dd6aac223a04fc26d275f6f83f3b6ee0953d1588bf1fe667959311a54ab54c097f8f6a0c53c284e387ae9c8ad164d2ac9ba5b645fa8ba9941a22fc6f7541fe08fbbe6ad81820d6874c9e6582c5721bc342ccd4c4f6d2fa0bcd66a570ee03f57a77395a4fd73dcc2551b60353844c66313de2c8c0107af33b92493d2aa3898afe6c0d7340dbd326d6282df3afe4855253b2aa08743ff73788cc2f8c6304226f01ad7460ff6aa30292bb04cd7a81715de05be297e387ea5d4cdcc327badba0a46d78a643a59259c15d78166b61656d1e72efd0c2a29d6a27757e15b1adbd60f9b3ba85c4ca8aecb328367691b421d642e36596163424084d375d2ec2a285918c29fa366412a8c8acee263eb797474ad91a008cebd0f78e60635d2b660200675621d8c8298601aec7269d9151d8d91afc3f489d691baeb090853c68b152419ced10f5006e4091eec7af8e03343c1d0304c626233478ddde2f69bed559de4d51e9d59e238594e4afe6671475cba31f43235c3bbf1139d2376b2f04c49471c0224db0e7d06467289e15a728a9a05b5cb54b644b81d8fcf4177f15d7bc0b5e4ac80baf0dc718b40534c5a50f4df5209f1c9361008e3035b37ff67d03de5c5a279604b394d4d6be31aca4079ba4df1101671c5506df4b7987d900fe7bd2fefb32d482bd01a0995192019d7fb9bb08383aa3cc504849253135785a6677f83d1e2d0fc6363ff858be305e7d8c9ea0b8fee2e0518ed7078f7ea91bc7e79be07a19433fc416cfdf3d3327d33b14825c5ef45ba0cbdedc90a31c0835e4d2671044956b9f19884b54a02d380529d56e7dd0fb5f1cce029aee312d91e48e61798cdfc91356b5e130d3466e7dda0402dfb4cd9819bc317f12b3ab44b4cb167cfb251b15596b4ca3eba5cb65fc571af2dea14f66d592cee8559d165ef2d13230c92519169c5abe4623b55af11dcb9eccb33d3fd1d1668c4e7ce28c0e86ff3f930cb4bee32494960a9a5ade077380a448340632e1a68ec742965c94e73925e73650d9ce839a8c6589627a1f264dadb0292b6f82e281842835680914d948c98a69ae461f0c5aa9a579c4a8488fd5370b166b4473be8f8af02119d6dce0a88eab5a4fc65b949e864ec9341aad21d86a7840fe"}) stat(0x0, 0x0) [ 2055.934375][T32748] bond0 (unregistering): (slave bond_slave_1): Releasing backup interface [ 2056.032348][T32748] bond0 (unregistering): (slave bond_slave_0): Releasing backup interface [ 2056.135130][T19174] loop5: detected capacity change from 0 to 8 [ 2056.393946][T19174] loop5: detected capacity change from 0 to 16379 [ 2056.411799][T19174] EXT4-fs (loop5): Unrecognized mount option "" or missing value 07:08:47 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = perf_event_open(0xfffffffffffffffc, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x1, 0x2010, r0, 0x66a90000) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_mtu(r1, 0x0, 0xa, 0x0, 0x0) bind$inet(r1, &(0x7f0000000000)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r1, 0x0, 0xffffffffffffffb5, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000100)='batadv0\x00', 0x10) setsockopt$inet_tcp_int(r1, 0x6, 0x5, &(0x7f0000000080), 0x4) sendto$inet(r1, &(0x7f0000000040)="e0", 0x1, 0x0, 0x0, 0x0) [ 2056.657343][T32748] bond0 (unregistering): Released all slaves [ 2056.855504][T19197] netlink: 14 bytes leftover after parsing attributes in process `syz-executor.1'. [ 2056.887905][T19202] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.1'. [ 2056.960537][ T20] ------------[ cut here ]------------ [ 2056.967126][ T20] refcount_t: decrement hit 0; leaking memory.