eaa4eba4eca4eda4eea4efa4f0a4f1a4f2a4f3a4f4a4f5a4f6a4f7a4f8a4f9a4faa4fba4fca4fda4fea4ffa400a501a502a503a504a505a506a507a508a509a50aa50ba50ca50da50ea50fa510a511a512a513a514a515a516a517a518a519a51aa51ba51ca51da51ea51fa520a521a522a523a524a525a526a527a528a529a52aa52ba52ca52da52ea52fa530a531a532a533a534a535a536a537a538a539a53aa53ba53ca53da53ea53fa540a541a542a543a544a545a546a547a548a549a54aa54ba54ca54da54ea54fa550a551a552a553a554a555a556a557a558a559a55aa55ba55ca55da55ea55fa560a561a562a563a564a565a566a567a568a569a56aa56ba56ca56da56ea56fa570a571a572a573a574a575a576a577a578a579a57aa57ba57ca57da57ea57fa580a581a582a583a584a585a586a587a588a589a58aa58ba58ca58da58ea58fa590a591a592a593a594a595a596a597a598a599a59aa59ba59ca59da59ea59fa5a0a5a1a5a2a5a3a5a4a5a5a5a6a5a7a5a8a5a9a5aaa5aba5aca5ada5aea5afa5b0a5b1a5b2a5b3a5b4a5b5a5b6a5b7a5b8a5b9a5baa5bba5bca5bda5bea5bfa5c0a5c1a5c2a5c3a5c4a5c5a5c6a5c7a5c8a5c9a5caa5cba5cca5cda5cea5cfa5d0a5d1a5d2a5d3a5d4a5d5a5d6a5d7a5d8a5d9a5daa5dba5dca5dda5dea5dfa5e0a5e1a5e2a5e3a5e4a5e5a5e6a5e7a5e8a5e9a5eaa5eba5eca5eda5eea5efa5f0a5f1a5f2a5f3a5f4a5f5a5f6a5f7a5f8a5f9a5faa5fba5fca5fda5fea5ffa500a601a602a603a604a605a606a607a608a609a60aa60ba60ca60da60ea60fa610a611a612a613a614a615a616a617a618a619a61aa61ba61ca61da61ea61fa620a621a622a623a624a625a626a627a628a629a62aa62ba62ca62da62ea62fa630a631a632a633a634a635a636a637a638a639a63aa63ba63ca63da63ea63fa640a640a642a642a644a644a646a646a648a648a64aa64aa64ca64ca64ea64ea650a650a652a652a654a654a656a656a658a658a65aa65aa65ca65ca65ea65ea660a661a662a662a664a664a666a666a668a668a66aa66aa66ca66ca66ea66fa670a671a672a673a674a675a676a677a678a679a67aa67ba67ca67da67ea67fa680a680a682a682a684a684a686a686a688a688a68aa68aa68ca68ca68ea68ea690a690a692a692a694a694a696a696a698a699a69aa69ba69ca69da69ea69fa6a0a6a1a6a2a6a3a6a4a6a5a6a6a6a7a6a8a6a9a6aaa6aba6aca6ada6aea6afa6b0a6b1a6b2a6b3a6b4a6b5a6b6a6b7a6b8a6b9a6baa6bba6bca6bda6bea6bfa6c0a6c1a6c2a6c3a6c4a6c5a6c6a6c7a6c8a6c9a6caa6cba6cca6cda6cea6cfa6d0a6d1a6d2a6d3a6d4a6d5a6d6a6d7a6d8a6d9a6daa6dba6dca6dda6dea6dfa6e0a6e1a6e2a6e3a6e4a6e5a6e6a6e7a6e8a6e9a6eaa6eba6eca6eda6eea6efa6f0a6f1a6f2a6f3a6f4a6f5a6f6a6f7a6f8a6f9a6faa6fba6fca6fda6fea6ffa600a701a702a703a704a705a706a707a708a709a70aa70ba70ca70da70ea70fa710a711a712a713a714a715a716a717a718a719a71aa71ba71ca71da71ea71fa720a721a722a722a724a724a726a726a728a728a72aa72aa72ca72ca72ea72ea730a731a732a732a734a734a736a736a738a738a73aa73aa73ca73ca73ea73ea740a740a742a742a744a744a746a746a748a748a74aa74aa74ca74ca74ea74ea750a750a752a752a754a754a756a756a758a758a75aa75aa75ca75ca75ea75ea760a760a762a762a764a764a766a766a768a768a76aa76aa76ca76ca76ea76ea770a771a772a773a774a775a776a777a778a779a779a77ba77ba77da77ea77ea780a780a782a782a784a784a786a786a788a789a78aa78ba78ba78da78ea78fa790a791a792a793a794a795a796a797a798a799a79aa79ba79ca79da79ea79fa7a0a7a1a7a2a7a3a7a4a7a5a7a6a7a7a7a8a7a9a7aaa7aba7aca7ada7aea7afa7b0a7b1a7b2a7b3a7b4a7b5a7b6a7b7a7b8a7b9a7baa7bba7bca7bda7bea7bfa7c0a7c1a7c2a7c3a7c4a7c5a7c6a7c7a7c8a7c9a7caa7cba7cca7cda7cea7cfa7d0a7d1a7d2a7d3a7d4a7d5a7d6a7d7a7d8a7d9a7daa7dba7dca7dda7dea7dfa7e0a7e1a7e2a7e3a7e4a7e5a7e6a7e7a7e8a7e9a7eaa7eba7eca7eda7eea7efa7f0a7f1a7f2a7f3a7f4a7f5a7f6a7f7a7f8a7f9a7faa7fba7fca7fda7fea7ffa700a801a802a803a804a805a806a807a808a809a80aa80ba80ca80da80ea80fa810a811a812a813a814a815a816a817a818a819a81aa81ba81ca81da81ea81fa820a821a822a823a824a825a826a827a828a829a82aa82ba82ca82da82ea82fa830a831a832a833a834a835a836a837a838a839a83aa83ba83ca83da83ea83fa840a841a842a843a844a845a846a847a848a849a84aa84ba84ca84da84ea84fa850a851a852a853a854a855a856a857a858a859a85aa85ba85ca85da85ea85fa860a861a862a863a864a865a866a867a868a869a86aa86ba86ca86da86ea86fa870a871a872a873a874a875a876a877a878a879a87aa87ba87ca87da87ea87fa880a881a882a883a884a885a886a887a888a889a88aa88ba88ca88da88ea88fa890a891a892a893a894a895a896a897a898a899a89aa89ba89ca89da89ea89fa8a0a8a1a8a2a8a3a8a4a8a5a8a6a8a7a8a8a8a9a8aaa8aba8aca8ada8aea8afa8b0a8b1a8b2a8b3a8b4a8b5a8b6a8b7a8b8a8b9a8baa8bba8bca8bda8bea8bfa8c0a8c1a8c2a8c3a8c4a8c5a8c6a8c7a8c8a8c9a8caa8cba8cca8cda8cea8cfa8d0a8d1a8d2a8d3a8d4a8d5a8d6a8d7a8d8a8d9a8daa8dba8dca8dda8dea8dfa8e0a8e1a8e2a8e3a8e4a8e5a8e6a8e7a8e8a8e9a8eaa8eba8eca8eda8eea8efa8f0a8f1a8f2a8f3a8f4a8f5a8f6a8f7a8f8a8f9a8faa8fba8fca8fda8fea8ffa800a901a902a903a904a905a906a907a908a909a90aa90ba90ca90da90ea90fa910a911a912a913a914a915a916a917a918a919a91aa91ba91ca91da91ea91fa920a921a922a923a924a925a926a927a928a929a92aa92ba92ca92da92ea92fa930a931a932a933a934a935a936a937a938a939a93aa93ba93ca93da93ea93fa940a941a942a943a944a945a946a947a948a949a94aa94ba94ca94da94ea94fa950a951a952a953a954a955a956a957a958a959a95aa95ba95ca95da95ea95fa960a961a962a963a964a965a966a967a968a969a96aa96ba96ca96da96ea96fa970a971a972a973a974a975a976a977a978a979a97aa97ba97ca97da97ea97fa980a981a982a983a984a985a986a987a988a989a98aa98ba98ca98da98ea98fa990a991a992a993a994a995a996a997a998a999a99aa99ba99ca99da99ea99fa9a0a9a1a9a2a9a3a9a4a9a5a9a6a9a7a9a8a9a9a9aaa9aba9aca9ada9aea9afa9b0a9b1a9b2a9b3a9b4a9b5a9b6a9b7a9b8a9b9a9baa9bba9bca9bda9bea9bfa9c0a9c1a9c2a9c3a9c4a9c5a9c6a9c7a9c8a9c9a9caa9cba9cca9cda9cea9cfa9d0a9d1a9d2a9d3a9d4a9d5a9d6a9d7a9d8a9d9a9daa9dba9dca9dda9dea9dfa9e0a9e1a9e2a9e3a9e4a9e5a9e6a9e7a9e8a9e9a9eaa9eba9eca9eda9eea9efa9f0a9f1a9f2a9f3a9f4a9f5a9f6a9f7a9f8a9f9a9faa9fba9fca9fda9fea9ffa900aa01aa02aa03aa04aa05aa06aa07aa08aa09aa0aaa0baa0caa0daa0eaa0faa10aa11aa12aa13aa14aa15aa16aa17aa18aa19aa1aaa1baa1caa1daa1eaa1faa20aa21aa22aa23aa24aa25aa26aa27aa28aa29aa2aaa2baa2caa2daa2eaa2faa30aa31aa32aa33aa34aa35aa36aa37aa38aa39aa3aaa3baa3caa3daa3eaa3faa40aa41aa42aa43aa44aa45aa46aa47aa48aa49aa4aaa4baa4caa4daa4eaa4faa50aa51aa52aa53aa54aa55aa56aa57aa58aa59aa5aaa5baa5caa5daa5eaa5faa60aa61aa62aa63aa64aa65aa66aa67aa68aa69aa6aaa6baa6caa6daa6eaa6faa70aa71aa72aa73aa74aa75aa76aa77aa78aa79aa7aaa7baa7caa7daa7eaa7faa80aa81aa82aa83aa84aa85aa86aa87aa88aa89aa8aaa8baa8caa8daa8eaa8faa90aa91aa92aa93aa94aa95aa96aa97aa98aa99aa9aaa9baa9caa9daa9eaa9faaa0aaa1aaa2aaa3aaa4aaa5aaa6aaa7aaa8aaa9aaaaaaabaaacaaadaaaeaaafaab0aab1aab2aab3aab4aab5aab6aab7aab8aab9aabaaabbaabcaabdaabeaabfaac0aac1aac2aac3aac4aac5aac6aac7aac8aac9aacaaacbaaccaacdaaceaacfaad0aad1aad2aad3aad4aad5aad6aad7aad8aad9aadaaadbaadcaaddaadeaadfaae0aae1aae2aae3aae4aae5aae6aae7aae8aae9aaeaaaebaaecaaedaaeeaaefaaf0aaf1aaf2aaf3aaf4aaf5aaf6aaf7aaf8aaf9aafaaafbaafcaafdaafeaaffaa00ab01ab02ab03ab04ab05ab06ab07ab08ab09ab0aab0bab0cab0dab0eab0fab10ab11ab12ab13ab14ab15ab16ab17ab18ab19ab1aab1bab1cab1dab1eab1fab20ab21ab22ab23ab24ab25ab26ab27ab28ab29ab2aab2bab2cab2dab2eab2fab30ab31ab32ab33ab34ab35ab36ab37ab38ab39ab3aab3bab3cab3dab3eab3fab40ab41ab42ab43ab44ab45ab46ab47ab48ab49ab4aab4bab4cab4dab4eab4fab50ab51ab52ab53ab54ab55ab56ab57ab58ab59ab5aab5bab5cab5dab5eab5fab60ab61ab62ab63ab64ab65ab66ab67ab68ab69ab6aab6bab6cab6dab6eab6fab70ab71ab72ab73ab74ab75ab76ab77ab78ab79ab7aab7bab7cab7dab7eab7fab80ab81ab82ab83ab84ab85ab86ab87ab88ab89ab8aab8bab8cab8dab8eab8fab90ab91ab92ab93ab94ab95ab96ab97ab98ab99ab9aab9bab9cab9dab9eab9faba0aba1aba2aba3aba4aba5aba6aba7aba8aba9abaaabababacabadabaeabafabb0abb1abb2abb3abb4abb5abb6abb7abb8abb9abbaabbbabbcabbdabbeabbfabc0abc1abc2abc3abc4abc5abc6abc7abc8abc9abcaabcbabccabcdabceabcfabd0abd1abd2abd3abd4abd5abd6abd7abd8abd9abdaabdbabdcabddabdeabdfabe0abe1abe2abe3abe4abe5abe6abe7abe8abe9abeaabebabecabedabeeabefabf0abf1abf2abf3abf4abf5abf6abf7abf8abf9abfaabfbabfcabfdabfeabffab00ac01ac02ac03ac04ac05ac06ac07ac08ac09ac0aac0bac0cac0dac0eac0fac10ac11ac12ac13ac14ac15ac16ac17ac18ac19ac1aac1bac1cac1dac1eac1fac20ac21ac22ac23ac24ac25ac26ac27ac28ac29ac2aac2bac2cac2dac2eac2fac30ac31ac32ac33ac34ac35ac36ac37ac38ac39ac3aac3bac3cac3dac3eac3fac40ac41ac42ac43ac44ac45ac46ac47ac48ac49ac4aac4bac4cac4dac4eac4fac50ac51ac52ac53ac54ac55ac56ac57ac58ac59ac5aac5bac5cac5dac5eac5fac60ac61ac62ac63ac64ac65ac66ac67ac68ac69ac6aac6bac6cac6dac6eac6fac70ac71ac72ac73ac74ac75ac76ac77ac78ac79ac7aac7bac7cac7dac7eac7fac80ac81ac82ac83ac84ac85ac86ac87ac88ac89ac8aac8bac8cac8dac8eac8fac90ac91ac92ac93ac94ac95ac96ac97ac98ac99ac9aac9bac9cac9dac9eac9faca0aca1aca2aca3aca4aca5aca6aca7aca8aca9acaaacabacacacadacaeacafacb0acb1acb2acb3acb4acb5acb6acb7acb8acb9acbaacbbacbcacbdacbeacbfacc0acc1acc2acc3acc4acc5acc6acc7acc8acc9accaaccbacccaccdacceaccfacd0acd1acd2acd3acd4acd5acd6acd7acd8acd9acdaacdbacdcacddacdeacdface0ace1ace2ace3ace4ace5ace6ace7ace8ace9aceaacebacecacedaceeacefacf0acf1acf2acf3acf4acf5acf6acf7acf8acf9acfaacfbacfcacfdacfeacffac00ad01ad02ad03ad04ad05ad06ad07ad08ad09ad0aad0bad0cad0dad0ead0fad10ad11ad12ad13ad14ad15ad16ad17ad18ad19ad1aad1bad1cad1dad1ead1fad20ad21ad22ad23ad24ad25ad26ad27ad28ad29ad2aad2bad2cad2dad2ead2fad30ad31ad32ad33ad34ad35ad36ad37ad38ad39ad3aad3bad3cad3dad3ead3fad40ad41ad42ad43ad44ad45ad46ad47ad48ad49ad4aad4bad4cad4dad4ead4fad50ad51ad52ad53ad54ad55ad56ad57ad58ad59ad5aad5bad5cad5dad5ead5fad60ad61ad62ad63ad64ad65ad66ad67ad68ad69ad6aad6bad6cad6dad6ead6fad70ad71ad72ad73ad74ad75ad76ad77ad78ad79ad7aad7bad7cad7dad7ead7fad80ad81ad82ad83ad84ad85ad86ad87ad88ad89ad8aad8bad8cad8dad8ead8fad90ad91ad92ad93ad94ad95ad96ad97ad98ad99ad9aad9bad9cad9dad9ead9fada0ada1ada2ada3ada4ada5ada6ada7ada8ada9adaaadabadacadadadaeadafadb0adb1adb2adb3adb4adb5adb6adb7adb8adb9adbaadbbadbcadbdadbeadbfadc0adc1adc2adc3adc4adc5adc6adc7adc8adc9adcaadcbadccadcdadceadcfadd0add1add2add3add4add5add6add7add8add9addaaddbaddcadddaddeaddfade0ade1ade2ade3ade4ade5ade6ade7ade8ade9adeaadebadecadedadeeadefadf0adf1adf2adf3adf4adf5adf6adf7adf8adf9adfaadfbadfcadfdadfeadffad00ae01ae02ae03ae04ae05ae06ae07ae08ae09ae0aae0bae0cae0dae0eae0fae10ae11ae12ae13ae14ae15ae16ae17ae18ae19ae1aae1bae1cae1dae1eae1fae20ae21ae22ae23ae24ae25ae26ae27ae28ae29ae2aae2bae2cae2dae2eae2fae30ae31ae32ae33ae34ae35ae36ae37ae38ae39ae3aae3bae3cae3dae3eae3fae40ae41ae42ae43ae44ae45ae46ae47ae48ae49ae4aae4bae4cae4dae4eae4fae50ae51ae52ae53ae54ae55ae56ae57ae58ae59ae5aae5bae5cae5dae5eae5fae60ae61ae62ae63ae64ae65ae66ae67ae68ae69ae6aae6bae6cae6dae6eae6fae70ae71ae72ae73ae74ae75ae76ae77ae78ae79ae7aae7bae7cae7dae7eae7fae80ae81ae82ae83ae84ae85ae86ae87ae88ae89ae8aae8bae8cae8dae8eae8fae90ae91ae92ae93ae94ae95ae96ae97ae98ae99ae9aae9bae9cae9dae9eae9faea0aea1aea2aea3aea4aea5aea6aea7aea8aea9aeaaaeabaeacaeadaeaeaeafaeb0aeb1aeb2aeb3aeb4aeb5aeb6aeb7aeb8aeb9aebaaebbaebcaebdaebeaebfaec0aec1aec2aec3aec4aec5aec6aec7aec8aec9aecaaecbaeccaecdaeceaecfaed0aed1aed2aed3aed4aed5aed6aed7aed8aed9aedaaedbaedcaeddaedeaedfaee0aee1aee2aee3aee4aee5aee6aee7aee8aee9aeeaaeebaeecaeedaeeeaeefaef0aef1aef2aef3aef4aef5aef6aef7aef8aef9aefaaefbaefcaefdaefeaeffae00af01af02af03af04af05af06af07af08af09af0aaf0baf0caf0daf0eaf0faf10af11af12af13af14af15af16af17af18af19af1aaf1baf1caf1daf1eaf1faf20af21af22af23af24af25af26af27af28af29af2aaf2baf2caf2daf2eaf2faf30af31af32af33af34af35af36af37af38af39af3aaf3baf3caf3daf3eaf3faf40af41af42af43af44af45af46af47af48af49af4aaf4baf4caf4daf4eaf4faf50af51af52af53af54af55af56af57af58af59af5aaf5baf5caf5daf5eaf5faf60af61af62af63af64af65af66af67af68af69af6aaf6baf6caf6daf6eaf6faf70af71af72af73af74af75af76af77af78af79af7aaf7baf7caf7daf7eaf7faf80af81af82af83af84af85af86af87af88af89af8aaf8baf8caf8daf8eaf8faf90af91af92af93af94af95af96af97af98af99af9aaf9baf9caf9daf9eaf9fafa0afa1afa2afa3afa4afa5afa6afa7afa8afa9afaaafabafacafadafaeafafafb0afb1afb2afb3afb4afb5afb6afb7afb8afb9afbaafbbafbcafbdafbeafbfafc0afc1afc2afc3afc4afc5afc6afc7afc8afc9afcaafcbafccafcdafceafcfafd0afd1afd2afd3afd4afd5afd6afd7afd8afd9afdaafdbafdcafddafdeafdfafe0afe1afe2afe3afe4afe5afe6afe7afe8afe9afeaafebafecafedafeeafefaff0aff1aff2aff3aff4aff5aff6aff7aff8aff9affaaffbaffcaffdaffeafffaf00b001b002b003b004b005b006b007b008b009b00ab00bb00cb00db00eb00fb010b011b012b013b014b015b016b017b018b019b01ab01bb01cb01db01eb01fb020b021b022b023b024b025b026b027b028b029b02ab02bb02cb02db02eb02fb030b031b032b033b034b035b036b037b038b039b03ab03bb03cb03db03eb03fb040b041b042b043b044b045b046b047b048b049b04ab04bb04cb04db04eb04fb050b051b052b053b054b055b056b057b058b059b05ab05bb05cb05db05eb05fb060b061b062b063b064b065b066b067b068b069b06ab06bb06cb06db06eb06fb070b071b072b073b074b075b076b077b078b079b07ab07bb07cb07db07eb07fb080b081b082b083b084b085b086b087b088b089b08ab08bb08cb08db08eb08fb090b091b092b093b094b095b096b097b098b099b09ab09bb09cb09db09eb09fb0a0b0a1b0a2b0a3b0a4b0a5b0a6b0a7b0a8b0a9b0aab0abb0acb0adb0aeb0afb0b0b0b1b0b2b0b3b0b4b0b5b0b6b0b7b0b8b0b9b0bab0bbb0bcb0bdb0beb0bfb0c0b0c1b0c2b0c3b0c4b0c5b0c6b0c7b0c8b0c9b0cab0cbb0ccb0cdb0ceb0cfb0d0b0d1b0d2b0d3b0d4b0d5b0d6b0d7b0d8b0d9b0dab0dbb0dcb0ddb0deb0dfb0e0b0e1b0e2b0e3b0e4b0e5b0e6b0e7b0e8b0e9b0eab0ebb0ecb0edb0eeb0efb0f0b0f1b0f2b0f3b0f4b0f5b0f6b0f7b0f8b0f9b0fab0fbb0fcb0fdb0feb0ffb000b101b102b103b104b105b106b107b108b109b10ab10bb10cb10db10eb10fb110b111b112b113b114b115b116b117b118b119b11ab11bb11cb11db11eb11fb120b121b122b123b124b125b126b127b128b129b12ab12bb12cb12db12eb12fb130b131b132b133b134b135b136b137b138b139b13ab13bb13cb13db13eb13fb140b141b142b143b144b145b146b147b148b149b14ab14bb14cb14db14eb14fb150b151b152b153b154b155b156b157b158b159b15ab15bb15cb15db15eb15fb160b161b162b163b164b165b166b167b168b169b16ab16bb16cb16db16eb16fb170b171b172b173b174b175b176b177b178b179b17ab17bb17cb17db17eb17fb180b181b182b183b184b185b186b187b188b189b18ab18bb18cb18db18eb18fb190b191b192b193b194b195b196b197b198b199b19ab19bb19cb19db19eb19fb1a0b1a1b1a2b1a3b1a4b1a5b1a6b1a7b1a8b1a9b1aab1abb1acb1adb1aeb1afb1b0b1b1b1b2b1b3b1b4b1b5b1b6b1b7b1b8b1b9b1bab1bbb1bcb1bdb1beb1bfb1c0b1c1b1c2b1c3b1c4b1c5b1c6b1c7b1c8b1c9b1cab1cbb1ccb1cdb1ceb1cfb1d0b1d1b1d2b1d3b1d4b1d5b1d6b1d7b1d8b1d9b1dab1dbb1dcb1ddb1deb1dfb1e0b1e1b1e2b1e3b1e4b1e5b1e6b1e7b1e8b1e9b1eab1ebb1ecb1edb1eeb1efb1f0b1f1b1f2b1f3b1f4b1f5b1f6b1f7b1f8b1f9b1fab1fbb1fcb1fdb1feb1ffb100b201b202b203b204b205b206b207b208b209b20ab20bb20cb20db20eb20fb210b211b212b213b214b215b216b217b218b219b21ab21bb21cb21db21eb21fb220b221b222b223b224b225b226b227b228b229b22ab22bb22cb22db22eb22fb230b231b232b233b234b235b236b237b238b239b23ab23bb23cb23db23eb23fb240b241b242b243b244b245b246b247b248b249b24ab24bb24cb24db24eb24fb250b251b252b253b254b255b256b257b258b259b25ab25bb25cb25db25eb25fb260b261b262b263b264b265b266b267b268b269b26ab26bb26cb26db26eb26fb270b271b272b273b274b275b276b277b278b279b27ab27bb27cb27db27eb27fb280b281b282b283b284b285b286b287b288b289b28ab28bb28cb28db28eb28fb290b291b292b293b294b295b296b297b298b299b29ab29bb29cb29db29eb29fb2a0b2a1b2a2b2a3b2a4b2a5b2a6b2a7b2a8b2a9b2aab2abb2acb2adb2aeb2afb2b0b2b1b2b2b2b3b2b4b2b5b2b6b2b7b2b8b2b9b2bab2bbb2bcb2bdb2beb2bfb2c0b2c1b2c2b2c3b2c4b2c5b2c6b2c7b2c8b2c9b2cab2cbb2ccb2cdb2ceb2cfb2d0b2d1b2d2b2d3b2d4b2d5b2d6b2d7b2d8b2d9b2dab2dbb2dcb2ddb2deb2dfb2e0b2e1b2e2b2e3b2e4b2e5b2e6b2e7b2e8b2e9b2eab2ebb2ecb2edb2eeb2efb2f0b2f1b2f2b2f3b2f4b2f5b2f6b2f7b2f8b2f9b2fab2fbb2fcb2fdb2feb2ffb200b301b302b303b304b305b306b307b308b309b30ab30bb30cb30db30eb30fb310b311b312b313b314b315b316b317b318b319b31ab31bb31cb31db31eb31fb320b321b322b323b324b325b326b327b328b329b32ab32bb32cb32db32eb32fb330b331b332b333b334b335b336b337b338b339b33ab33bb33cb33db33eb33fb340b341b342b343b344b345b346b347b348b349b34ab34bb34cb34db34eb34fb350b351b352b353b354b355b356b357b358b359b35ab35bb35cb35db35eb35fb360b361b362b363b364b365b366b367b368b369b36ab36bb36cb36db36eb36fb370b371b372b373b374b375b376b377b378b379b37ab37bb37cb37db37eb37fb380b381b382b383b384b385b386b387b388b389b38ab38bb38cb38db38eb38fb390b391b392b393b394b395b396b397b398b399b39ab39bb39cb39db39eb39fb3a0b3a1b3a2b3a3b3a4b3a5b3a6b3a7b3a8b3a9b3aab3abb3acb3adb3aeb3afb3b0b3b1b3b2b3b3b3b4b3b5b3b6b3b7b3b8b3b9b3bab3bbb3bcb3bdb3beb3bfb3c0b3c1b3c2b3c3b3c4b3c5b3c6b3c7b3c8b3c9b3cab3cbb3ccb3cdb3ceb3cfb3d0b3d1b3d2b3d3b3d4b3d5b3d6b3d7b3d8b3d9b3dab3dbb3dcb3ddb3deb3dfb3e0b3e1b3e2b3e3b3e4b3e5b3e6b3e7b3e8b3e9b3eab3ebb3ecb3edb3eeb3efb3f0b3f1b3f2b3f3b3f4b3f5b3f6b3f7b3f8b3f9b3fab3fbb3fcb3fdb3feb3ffb300b401b402b403b404b405b406b407b408b409b40ab40bb40cb40db40eb40fb410b411b412b413b414b415b416b417b418b419b41ab41bb41cb41db41eb41fb420b421b422b423b424b425b426b427b428b429b42ab42bb42cb42db42eb42fb430b431b432b433b434b435b436b437b438b439b43ab43bb43cb43db43eb43fb440b441b442b443b444b445b446b447b448b449b44ab44bb44cb44db44eb44fb450b451b452b453b454b455b456b457b458b459b45ab45bb45cb45db45eb45fb460b461b462b463b464b465b466b467b468b469b46ab46bb46cb46db46eb46fb470b471b472b473b474b475b476b477b478b479b47ab47bb47cb47db47eb47fb480b481b482b483b484b485b486b487b488b489b48ab48bb48cb48db48eb48fb490b491b492b493b494b495b496b497b498b499b49ab49bb49cb49db49eb49fb4a0b4a1b4a2b4a3b4a4b4a5b4a6b4a7b4a8b4a9b4aab4abb4acb4adb4aeb4afb4b0b4b1b4b2b4b3b4b4b4b5b4b6b4b7b4b8b4b9b4bab4bbb4bcb4bdb4beb4bfb4c0b4c1b4c2b4c3b4c4b4c5b4c6b4c7b4c8b4c9b4cab4cbb4ccb4cdb4ceb4cfb4d0b4d1b4d2b4d3b4d4b4d5b4d6b4d7b4d8b4d9b4dab4dbb4dcb4ddb4deb4dfb4e0b4e1b4e2b4e3b4e4b4e5b4e6b4e7b4e8b4e9b4eab4ebb4ecb4edb4eeb4efb4f0b4f1b4f2b4f3b4f4b4f5b4f6b4f7b4f8b4f9b4fab4fbb4fcb4fdb4feb4ffb400b501b502b503b504b505b506b507b508b509b50ab50bb50cb50db50eb50fb510b511b512b513b514b515b516b517b518b519b51ab51bb51cb51db51eb51fb520b521b522b523b524b525b526b527b528b529b52ab52bb52cb52db52eb52fb530b531b532b533b534b535b536b537b538b539b53ab53bb53cb53db53eb53fb540b541b542b543b544b545b546b547b548b549b54ab54bb54cb54db54eb54fb550b551b552b553b554b555b556b557b558b559b55ab55bb55cb55db55eb55fb560b561b562b563b564b565b566b567b568b569b56ab56bb56cb56db56eb56fb570b571b572b573b574b575b576b577b578b579b57ab57bb57cb57db57eb57fb580b581b582b583b584b585b586b587b588b589b58ab58bb58cb58db58eb58fb590b591b592b593b594b595b596b597b598b599b59ab59bb59cb59db59eb59fb5a0b5a1b5a2b5a3b5a4b5a5b5a6b5a7b5a8b5a9b5aab5abb5acb5adb5aeb5afb5b0b5b1b5b2b5b3b5b4b5b5b5b6b5b7b5b8b5b9b5bab5bbb5bcb5bdb5beb5bfb5c0b5c1b5c2b5c3b5c4b5c5b5c6b5c7b5c8b5c9b5cab5cbb5ccb5cdb5ceb5cfb5d0b5d1b5d2b5d3b5d4b5d5b5d6b5d7b5d8b5d9b5dab5dbb5dcb5ddb5deb5dfb5e0b5e1b5e2b5e3b5e4b5e5b5e6b5e7b5e8b5e9b5eab5ebb5ecb5edb5eeb5efb5f0b5f1b5f2b5f3b5f4b5f5b5f6b5f7b5f8b5f9b5fab5fbb5fcb5fdb5feb5ffb500b601b602b603b604b605b606b607b608b609b60ab60bb60cb60db60eb60fb610b611b612b613b614b615b616b617b618b619b61ab61bb61cb61db61eb61fb620b621b622b623b624b625b626b627b628b629b62ab62bb62cb62db62eb62fb630b631b632b633b634b635b636b637b638b639b63ab63bb63cb63db63eb63fb640b641b642b643b644b645b646b647b648b649b64ab64bb64cb64db64eb64fb650b651b652b653b654b655b656b657b658b659b65ab65bb65cb65db65eb65fb660b661b662b663b664b665b666b667b668b669b66ab66bb66cb66db66eb66fb670b671b672b673b674b675b676b677b678b679b67ab67bb67cb67db67eb67fb680b681b682b683b684b685b686b687b688b689b68ab68bb68cb68db68eb68fb690b691b692b693b694b695b696b697b698b699b69ab69bb69cb69db69eb69fb6a0b6a1b6a2b6a3b6a4b6a5b6a6b6a7b6a8b6a9b6aab6abb6acb6adb6aeb6afb6b0b6b1b6b2b6b3b6b4b6b5b6b6b6b7b6b8b6b9b6bab6bbb6bcb6bdb6beb6bfb6c0b6c1b6c2b6c3b6c4b6c5b6c6b6c7b6c8b6c9b6cab6cbb6ccb6cdb6ceb6cfb6d0b6d1b6d2b6d3b6d4b6d5b6d6b6d7b6d8b6d9b6dab6dbb6dcb6ddb6deb6dfb6e0b6e1b6e2b6e3b6e4b6e5b6e6b6e7b6e8b6e9b6eab6ebb6ecb6edb6eeb6efb6f0b6f1b6f2b6f3b6f4b6f5b6f6b6f7b6f8b6f9b6fab6fbb6fcb6fdb6feb6ffb600b701b702b703b704b705b706b707b708b709b70ab70bb70cb70db70eb70fb710b711b712b713b714b715b716b717b718b719b71ab71bb71cb71db71eb71fb720b721b722b723b724b725b726b727b728b729b72ab72bb72cb72db72eb72fb730b731b732b733b734b735b736b737b738b739b73ab73bb73cb73db73eb73fb740b741b742b743b744b745b746b747b748b749b74ab74bb74cb74db74eb74fb750b751b752b753b754b755b756b757b758b759b75ab75bb75cb75db75eb75fb760b761b762b763b764b765b766b767b768b769b76ab76bb76cb76db76eb76fb770b771b772b773b774b775b776b777b778b779b77ab77bb77cb77db77eb77fb780b781b782b783b784b785b786b787b788b789b78ab78bb78cb78db78eb78fb790b791b792b793b794b795b796b797b798b799b79ab79bb79cb79db79eb79fb7a0b7a1b7a2b7a3b7a4b7a5b7a6b7a7b7a8b7a9b7aab7abb7acb7adb7aeb7afb7b0b7b1b7b2b7b3b7b4b7b5b7b6b7b7b7b8b7b9b7bab7bbb7bcb7bdb7beb7bfb7c0b7c1b7c2b7c3b7c4b7c5b7c6b7c7b7c8b7c9b7cab7cbb7ccb7cdb7ceb7cfb7d0b7d1b7d2b7d3b7d4b7d5b7d6b7d7b7d8b7d9b7dab7dbb7dcb7ddb7deb7dfb7e0b7e1b7e2b7e3b7e4b7e5b7e6b7e7b7e8b7e9b7eab7ebb7ecb7edb7eeb7efb7f0b7f1b7f2b7f3b7f4b7f5b7f6b7f7b7f8b7f9b7fab7fbb7fcb7fdb7feb7ffb700b801b802b803b804b805b806b807b808b809b80ab80bb80cb80db80eb80fb810b811b812b813b814b815b816b817b818b819b81ab81bb81cb81db81eb81fb820b821b822b823b824b825b826b827b828b829b82ab82bb82cb82db82eb82fb830b831b832b833b834b835b836b837b838b839b83ab83bb83cb83db83eb83fb840b841b842b843b844b845b846b847b848b849b84ab84bb84cb84db84eb84fb850b851b852b853b854b855b856b857b858b859b85ab85bb85cb85db85eb85fb860b861b862b863b864b865b866b867b868b869b86ab86bb86cb86db86eb86fb870b871b872b873b874b875b876b877b878b879b87ab87bb87cb87db87eb87fb880b881b882b883b884b885b886b887b888b889b88ab88bb88cb88db88eb88fb890b891b892b893b894b895b896b897b898b899b89ab89bb89cb89db89eb89fb8a0b8a1b8a2b8a3b8a4b8a5b8a6b8a7b8a8b8a9b8aab8abb8acb8adb8aeb8afb8b0b8b1b8b2b8b3b8b4b8b5b8b6b8b7b8b8b8b9b8bab8bbb8bcb8bdb8beb8bfb8c0b8c1b8c2b8c3b8c4b8c5b8c6b8c7b8c8b8c9b8cab8cbb8ccb8cdb8ceb8cfb8d0b8d1b8d2b8d3b8d4b8d5b8d6b8d7b8d8b8d9b8dab8dbb8dcb8ddb8deb8dfb8e0b8e1b8e2b8e3b8e4b8e5b8e6b8e7b8e8b8e9b8eab8ebb8ecb8edb8eeb8efb8f0b8f1b8f2b8f3b8f4b8f5b8f6b8f7b8f8b8f9b8fab8fbb8fcb8fdb8feb8ffb800b901b902b903b904b905b906b907b908b909b90ab90bb90cb90db90eb90fb910b911b912b913b914b915b916b917b918b919b91ab91bb91cb91db91eb91fb920b921b922b923b924b925b926b927b928b929b92ab92bb92cb92db92eb92fb930b931b932b933b934b935b936b937b938b939b93ab93bb93cb93db93eb93fb940b941b942b943b944b945b946b947b948b949b94ab94bb94cb94db94eb94fb950b951b952b953b954b955b956b957b958b959b95ab95bb95cb95db95eb95fb960b961b962b963b964b965b966b967b968b969b96ab96bb96cb96db96eb96fb970b971b972b973b974b975b976b977b978b979b97ab97bb97cb97db97eb97fb980b981b982b983b984b985b986b987b988b989b98ab98bb98cb98db98eb98fb990b991b992b993b994b995b996b997b998b999b99ab99bb99cb99db99eb99fb9a0b9a1b9a2b9a3b9a4b9a5b9a6b9a7b9a8b9a9b9aab9abb9acb9adb9aeb9afb9b0b9b1b9b2b9b3b9b4b9b5b9b6b9b7b9b8b9b9b9bab9bbb9bcb9bdb9beb9bfb9c0b9c1b9c2b9c3b9c4b9c5b9c6b9c7b9c8b9c9b9cab9cbb9ccb9cdb9ceb9cfb9d0b9d1b9d2b9d3b9d4b9d5b9d6b9d7b9d8b9d9b9dab9dbb9dcb9ddb9deb9dfb9e0b9e1b9e2b9e3b9e4b9e5b9e6b9e7b9e8b9e9b9eab9ebb9ecb9edb9eeb9efb9f0b9f1b9f2b9f3b9f4b9f5b9f6b9f7b9f8b9f9b9fab9fbb9fcb9fdb9feb9ffb900ba01ba02ba03ba04ba05ba06ba07ba08ba09ba0aba0bba0cba0dba0eba0fba10ba11ba12ba13ba14ba15ba16ba17ba18ba19ba1aba1bba1cba1dba1eba1fba20ba21ba22ba23ba24ba25ba26ba27ba28ba29ba2aba2bba2cba2dba2eba2fba30ba31ba32ba33ba34ba35ba36ba37ba38ba39ba3aba3bba3cba3dba3eba3fba40ba41ba42ba43ba44ba45ba46ba47ba48ba49ba4aba4bba4cba4dba4eba4fba50ba51ba52ba53ba54ba55ba56ba57ba58ba59ba5aba5bba5cba5dba5eba5fba60ba61ba62ba63ba64ba65ba66ba67ba68ba69ba6aba6bba6cba6dba6eba6fba70ba71ba72ba73ba74ba75ba76ba77ba78ba79ba7aba7bba7cba7dba7eba7fba80ba81ba82ba83ba84ba85ba86ba87ba88ba89ba8aba8bba8cba8dba8eba8fba90ba91ba92ba93ba94ba95ba96ba97ba98ba99ba9aba9bba9cba9dba9eba9fbaa0baa1baa2baa3baa4baa5baa6baa7baa8baa9baaabaabbaacbaadbaaebaafbab0bab1bab2bab3bab4bab5bab6bab7bab8bab9babababbbabcbabdbabebabfbac0bac1bac2bac3bac4bac5bac6bac7bac8bac9bacabacbbaccbacdbacebacfbad0bad1bad2bad3bad4bad5bad6bad7bad8bad9badabadbbadcbaddbadebadfbae0bae1bae2bae3bae4bae5bae6bae7bae8bae9baeabaebbaecbaedbaeebaefbaf0baf1baf2baf3baf4baf5baf6baf7baf8baf9bafabafbbafcbafdbafebaffba00bb01bb02bb03bb04bb05bb06bb07bb08bb09bb0abb0bbb0cbb0dbb0ebb0fbb10bb11bb12bb13bb14bb15bb16bb17bb18bb19bb1abb1bbb1cbb1dbb1ebb1fbb20bb21bb22bb23bb24bb25bb26bb27bb28bb29bb2abb2bbb2cbb2dbb2ebb2fbb30bb31bb32bb33bb34bb35bb36bb37bb38bb39bb3abb3bbb3cbb3dbb3ebb3fbb40bb41bb42bb43bb44bb45bb46bb47bb48bb49bb4abb4bbb4cbb4dbb4ebb4fbb50bb51bb52bb53bb54bb55bb56bb57bb58bb59bb5abb5bbb5cbb5dbb5ebb5fbb60bb61bb62bb63bb64bb65bb66bb67bb68bb69bb6abb6bbb6cbb6dbb6ebb6fbb70bb71bb72bb73bb74bb75bb76bb77bb78bb79bb7abb7bbb7cbb7dbb7ebb7fbb80bb81bb82bb83bb84bb85bb86bb87bb88bb89bb8abb8bbb8cbb8dbb8ebb8fbb90bb91bb92bb93bb94bb95bb96bb97bb98bb99bb9abb9bbb9cbb9dbb9ebb9fbba0bba1bba2bba3bba4bba5bba6bba7bba8bba9bbaabbabbbacbbadbbaebbafbbb0bbb1bbb2bbb3bbb4bbb5bbb6bbb7bbb8bbb9bbbabbbbbbbcbbbdbbbebbbfbbc0bbc1bbc2bbc3bbc4bbc5bbc6bbc7bbc8bbc9bbcabbcbbbccbbcdbbcebbcfbbd0bbd1bbd2bbd3bbd4bbd5bbd6bbd7bbd8bbd9bbdabbdbbbdcbbddbbdebbdfbbe0bbe1bbe2bbe3bbe4bbe5bbe6bbe7bbe8bbe9bbeabbebbbecbbedbbeebbefbbf0bbf1bbf2bbf3bbf4bbf5bbf6bbf7bbf8bbf9bbfabbfbbbfcbbfdbbfebbffbb00bc01bc02bc03bc04bc05bc06bc07bc08bc09bc0abc0bbc0cbc0dbc0ebc0fbc10bc11bc12bc13bc14bc15bc16bc17bc18bc19bc1abc1bbc1cbc1dbc1ebc1fbc20bc21bc22bc23bc24bc25bc26bc27bc28bc29bc2abc2bbc2cbc2dbc2ebc2fbc30bc31bc32bc33bc34bc35bc36bc37bc38bc39bc3abc3bbc3cbc3dbc3ebc3fbc40bc41bc42bc43bc44bc45bc46bc47bc48bc49bc4abc4bbc4cbc4dbc4ebc4fbc50bc51bc52bc53bc54bc55bc56bc57bc58bc59bc5abc5bbc5cbc5dbc5ebc5fbc60bc61bc62bc63bc64bc65bc66bc67bc68bc69bc6abc6bbc6cbc6dbc6ebc6fbc70bc71bc72bc73bc74bc75bc76bc77bc78bc79bc7abc7bbc7cbc7dbc7ebc7fbc80bc81bc82bc83bc84bc85bc86bc87bc88bc89bc8abc8bbc8cbc8dbc8ebc8fbc90bc91bc92bc93bc94bc95bc96bc97bc98bc99bc9abc9bbc9cbc9dbc9ebc9fbca0bca1bca2bca3bca4bca5bca6bca7bca8bca9bcaabcabbcacbcadbcaebcafbcb0bcb1bcb2bcb3bcb4bcb5bcb6bcb7bcb8bcb9bcbabcbbbcbcbcbdbcbebcbfbcc0bcc1bcc2bcc3bcc4bcc5bcc6bcc7bcc8bcc9bccabccbbcccbccdbccebccfbcd0bcd1bcd2bcd3bcd4bcd5bcd6bcd7bcd8bcd9bcdabcdbbcdcbcddbcdebcdfbce0bce1bce2bce3bce4bce5bce6bce7bce8bce9bceabcebbcecbcedbceebcefbcf0bcf1bcf2bcf3bcf4bcf5bcf6bcf7bcf8bcf9bcfabcfbbcfcbcfdbcfebcffbc00bd01bd02bd03bd04bd05bd06bd07bd08bd09bd0abd0bbd0cbd0dbd0ebd0fbd10bd11bd12bd13bd14bd15bd16bd17bd18bd19bd1abd1bbd1cbd1dbd1ebd1fbd20bd21bd22bd23bd24bd25bd26bd27bd28bd29bd2abd2bbd2cbd2dbd2ebd2fbd30bd31bd32bd33bd34bd35bd36bd37bd38bd39bd3abd3bbd3cbd3dbd3ebd3fbd40bd41bd42bd43bd44bd45bd46bd47bd48bd49bd4abd4bbd4cbd4dbd4ebd4fbd50bd51bd52bd53bd54bd55bd56bd57bd58bd59bd5abd5bbd5cbd5dbd5ebd5fbd60bd61bd62bd63bd64bd65bd66bd67bd68bd69bd6abd6bbd6cbd6dbd6ebd6fbd70bd71bd72bd73bd74bd75bd76bd77bd78bd79bd7abd7bbd7cbd7dbd7ebd7fbd80bd81bd82bd83bd84bd85bd86bd87bd88bd89bd8abd8bbd8cbd8dbd8ebd8fbd90bd91bd92bd93bd94bd95bd96bd97bd98bd99bd9abd9bbd9cbd9dbd9ebd9fbda0bda1bda2bda3bda4bda5bda6bda7bda8bda9bdaabdabbdacbdadbdaebdafbdb0bdb1bdb2bdb3bdb4bdb5bdb6bdb7bdb8bdb9bdbabdbbbdbcbdbdbdbebdbfbdc0bdc1bdc2bdc3bdc4bdc5bdc6bdc7bdc8bdc9bdcabdcbbdccbdcdbdcebdcfbdd0bdd1bdd2bdd3bdd4bdd5bdd6bdd7bdd8bdd9bddabddbbddcbdddbddebddfbde0bde1bde2bde3bde4bde5bde6bde7bde8bde9bdeabdebbdecbdedbdeebdefbdf0bdf1bdf2bdf3bdf4bdf5bdf6bdf7bdf8bdf9bdfabdfbbdfcbdfdbdfebdffbd00be01be02be03be04be05be06be07be08be09be0abe0bbe0cbe0dbe0ebe0fbe10be11be12be13be14be15be16be17be18be19be1abe1bbe1cbe1dbe1ebe1fbe20be21be22be23be24be25be26be27be28be29be2abe2bbe2cbe2dbe2ebe2fbe30be31be32be33be34be35be36be37be38be39be3abe3bbe3cbe3dbe3ebe3fbe40be41be42be43be44be45be46be47be48be49be4abe4bbe4cbe4dbe4ebe4fbe50be51be52be53be54be55be56be57be58be59be5abe5bbe5cbe5dbe5ebe5fbe60be61be62be63be64be65be66be67be68be69be6abe6bbe6cbe6dbe6ebe6fbe70be71be72be73be74be75be76be77be78be79be7abe7bbe7cbe7dbe7ebe7fbe80be81be82be83be84be85be86be87be88be89be8abe8bbe8cbe8dbe8ebe8fbe90be91be92be93be94be95be96be97be98be99be9abe9bbe9cbe9dbe9ebe9fbea0bea1bea2bea3bea4bea5bea6bea7bea8bea9beaabeabbeacbeadbeaebeafbeb0beb1beb2beb3beb4beb5beb6beb7beb8beb9bebabebbbebcbebdbebebebfbec0bec1bec2bec3bec4bec5bec6bec7bec8bec9becabecbbeccbecdbecebecfbed0bed1bed2bed3bed4bed5bed6bed7bed8bed9bedabedbbedcbeddbedebedfbee0bee1bee2bee3bee4bee5bee6bee7bee8bee9beeabeebbeecbeedbeeebeefbef0bef1bef2bef3bef4bef5bef6bef7bef8bef9befabefbbefcbefdbefebeffbe00bf01bf02bf03bf04bf05bf06bf07bf08bf09bf0abf0bbf0cbf0dbf0ebf0fbf10bf11bf12bf13bf14bf15bf16bf17bf18bf19bf1abf1bbf1cbf1dbf1ebf1fbf20bf21bf22bf23bf24bf25bf26bf27bf28bf29bf2abf2bbf2cbf2dbf2ebf2fbf30bf31bf32bf33bf34bf35bf36bf37bf38bf39bf3abf3bbf3cbf3dbf3ebf3fbf40bf41bf42bf43bf44bf45bf46bf47bf48bf49bf4abf4bbf4cbf4dbf4ebf4fbf50bf51bf52bf53bf54bf55bf56bf57bf58bf59bf5abf5bbf5cbf5dbf5ebf5fbf60bf61bf62bf63bf64bf65bf66bf67bf68bf69bf6abf6bbf6cbf6dbf6ebf6fbf70bf71bf72bf73bf74bf75bf76bf77bf78bf79bf7abf7bbf7cbf7dbf7ebf7fbf80bf81bf82bf83bf84bf85bf86bf87bf88bf89bf8abf8bbf8cbf8dbf8ebf8fbf90bf91bf92bf93bf94bf95bf96bf97bf98bf99bf9abf9bbf9cbf9dbf9ebf9fbfa0bfa1bfa2bfa3bfa4bfa5bfa6bfa7bfa8bfa9bfaabfabbfacbfadbfaebfafbfb0bfb1bfb2bfb3bfb4bfb5bfb6bfb7bfb8bfb9bfbabfbbbfbcbfbdbfbebfbfbfc0bfc1bfc2bfc3bfc4bfc5bfc6bfc7bfc8bfc9bfcabfcbbfccbfcdbfcebfcfbfd0bfd1bfd2bfd3bfd4bfd5bfd6bfd7bfd8bfd9bfdabfdbbfdcbfddbfdebfdfbfe0bfe1bfe2bfe3bfe4bfe5bfe6bfe7bfe8bfe9bfeabfebbfecbfedbfeebfefbff0bff1bff2bff3bff4bff5bff6bff7bff8bff9bffabffbbffcbffdbffebfffbf00c001c002c003c004c005c006c007c008c009c00ac00bc00cc00dc00ec00fc010c011c012c013c014c015c016c017c018c019c01ac01bc01cc01dc01ec01fc020c021c022c023c024c025c026c027c028c029c02ac02bc02cc02dc02ec02fc030c031c032c033c034c035c036c037c038c039c03ac03bc03cc03dc03ec03fc040c041c042c043c044c045c046c047c048c049c04ac04bc04cc04dc04ec04fc050c051c052c053c054c055c056c057c058c059c05ac05bc05cc05dc05ec05fc060c061c062c063c064c065c066c067c068c069c06ac06bc06cc06dc06ec06fc070c071c072c073c074c075c076c077c078c079c07ac07bc07cc07dc07ec07fc080c081c082c083c084c085c086c087c088c089c08ac08bc08cc08dc08ec08fc090c091c092c093c094c095c096c097c098c099c09ac09bc09cc09dc09ec09fc0a0c0a1c0a2c0a3c0a4c0a5c0a6c0a7c0a8c0a9c0aac0abc0acc0adc0aec0afc0b0c0b1c0b2c0b3c0b4c0b5c0b6c0b7c0b8c0b9c0bac0bbc0bcc0bdc0bec0bfc0c0c0c1c0c2c0c3c0c4c0c5c0c6c0c7c0c8c0c9c0cac0cbc0ccc0cdc0cec0cfc0d0c0d1c0d2c0d3c0d4c0d5c0d6c0d7c0d8c0d9c0dac0dbc0dcc0ddc0dec0dfc0e0c0e1c0e2c0e3c0e4c0e5c0e6c0e7c0e8c0e9c0eac0ebc0ecc0edc0eec0efc0f0c0f1c0f2c0f3c0f4c0f5c0f6c0f7c0f8c0f9c0fac0fbc0fcc0fdc0fec0ffc000c101c102c103c104c105c106c107c108c109c10ac10bc10cc10dc10ec10fc110c111c112c113c114c115c116c117c118c119c11ac11bc11cc11dc11ec11fc120c121c122c123c124c125c126c127c128c129c12ac12bc12cc12dc12ec12fc130c131c132c133c134c135c136c137c138c139c13ac13bc13cc13dc13ec13fc140c141c142c143c144c145c146c147c148c149c14ac14bc14cc14dc14ec14fc150c151c152c153c154c155c156c157c158c159c15ac15bc15cc15dc15ec15fc160c161c162c163c164c165c166c167c168c169c16ac16bc16cc16dc16ec16fc170c171c172c173c174c175c176c177c178c179c17ac17bc17cc17dc17ec17fc180c181c182c183c184c185c186c187c188c189c18ac18bc18cc18dc18ec18fc190c191c192c193c194c195c196c197c198c199c19ac19bc19cc19dc19ec19fc1a0c1a1c1a2c1a3c1a4c1a5c1a6c1a7c1a8c1a9c1aac1abc1acc1adc1aec1afc1b0c1b1c1b2c1b3c1b4c1b5c1b6c1b7c1b8c1b9c1bac1bbc1bcc1bdc1bec1bfc1c0c1c1c1c2c1c3c1c4c1c5c1c6c1c7c1c8c1c9c1cac1cbc1ccc1cdc1cec1cfc1d0c1d1c1d2c1d3c1d4c1d5c1d6c1d7c1d8c1d9c1dac1dbc1dcc1ddc1dec1dfc1e0c1e1c1e2c1e3c1e4c1e5c1e6c1e7c1e8c1e9c1eac1ebc1ecc1edc1eec1efc1f0c1f1c1f2c1f3c1f4c1f5c1f6c1f7c1f8c1f9c1fac1fbc1fcc1fdc1fec1ffc100c201c202c203c204c205c206c207c208c209c20ac20bc20cc20dc20ec20fc210c211c212c213c214c215c216c217c218c219c21ac21bc21cc21dc21ec21fc220c221c222c223c224c225c226c227c228c229c22ac22bc22cc22dc22ec22fc230c231c232c233c234c235c236c237c238c239c23ac23bc23cc23dc23ec23fc240c241c242c243c244c245c246c247c248c249c24ac24bc24cc24dc24ec24fc250c251c252c253c254c255c256c257c258c259c25ac25bc25cc25dc25ec25fc260c261c262c263c264c265c266c267c268c269c26ac26bc26cc26dc26ec26fc270c271c272c273c274c275c276c277c278c279c27ac27bc27cc27dc27ec27fc280c281c282c283c284c285c286c287c288c289c28ac28bc28cc28dc28ec28fc290c291c292c293c294c295c296c297c298c299c29ac29bc29cc29dc29ec29fc2a0c2a1c2a2c2a3c2a4c2a5c2a6c2a7c2a8c2a9c2aac2abc2acc2adc2aec2afc2b0c2b1c2b2c2b3c2b4c2b5c2b6c2b7c2b8c2b9c2bac2bbc2bcc2bdc2bec2bfc2c0c2c1c2c2c2c3c2c4c2c5c2c6c2c7c2c8c2c9c2cac2cbc2ccc2cdc2cec2cfc2d0c2d1c2d2c2d3c2d4c2d5c2d6c2d7c2d8c2d9c2dac2dbc2dcc2ddc2dec2dfc2e0c2e1c2e2c2e3c2e4c2e5c2e6c2e7c2e8c2e9c2eac2ebc2ecc2edc2eec2efc2f0c2f1c2f2c2f3c2f4c2f5c2f6c2f7c2f8c2f9c2fac2fbc2fcc2fdc2fec2ffc200c301c302c303c304c305c306c307c308c309c30ac30bc30cc30dc30ec30fc310c311c312c313c314c315c316c317c318c319c31ac31bc31cc31dc31ec31fc320c321c322c323c324c325c326c327c328c329c32ac32bc32cc32dc32ec32fc330c331c332c333c334c335c336c337c338c339c33ac33bc33cc33dc33ec33fc340c341c342c343c344c345c346c347c348c349c34ac34bc34cc34dc34ec34fc350c351c352c353c354c355c356c357c358c359c35ac35bc35cc35dc35ec35fc360c361c362c363c364c365c366c367c368c369c36ac36bc36cc36dc36ec36fc370c371c372c373c374c375c376c377c378c379c37ac37bc37cc37dc37ec37fc380c381c382c383c384c385c386c387c388c389c38ac38bc38cc38dc38ec38fc390c391c392c393c394c395c396c397c398c399c39ac39bc39cc39dc39ec39fc3a0c3a1c3a2c3a3c3a4c3a5c3a6c3a7c3a8c3a9c3aac3abc3acc3adc3aec3afc3b0c3b1c3b2c3b3c3b4c3b5c3b6c3b7c3b8c3b9c3bac3bbc3bcc3bdc3bec3bfc3c0c3c1c3c2c3c3c3c4c3c5c3c6c3c7c3c8c3c9c3cac3cbc3ccc3cdc3cec3cfc3d0c3d1c3d2c3d3c3d4c3d5c3d6c3d7c3d8c3d9c3dac3dbc3dcc3ddc3dec3dfc3e0c3e1c3e2c3e3c3e4c3e5c3e6c3e7c3e8c3e9c3eac3ebc3ecc3edc3eec3efc3f0c3f1c3f2c3f3c3f4c3f5c3f6c3f7c3f8c3f9c3fac3fbc3fcc3fdc3fec3ffc300c401c402c403c404c405c406c407c408c409c40ac40bc40cc40dc40ec40fc410c411c412c413c414c415c416c417c418c419c41ac41bc41cc41dc41ec41fc420c421c422c423c424c425c426c427c428c429c42ac42bc42cc42dc42ec42fc430c431c432c433c434c435c436c437c438c439c43ac43bc43cc43dc43ec43fc440c441c442c443c444c445c446c447c448c449c44ac44bc44cc44dc44ec44fc450c451c452c453c454c455c456c457c458c459c45ac45bc45cc45dc45ec45fc460c461c462c463c464c465c466c467c468c469c46ac46bc46cc46dc46ec46fc470c471c472c473c474c475c476c477c478c479c47ac47bc47cc47dc47ec47fc480c481c482c483c484c485c486c487c488c489c48ac48bc48cc48dc48ec48fc490c491c492c493c494c495c496c497c498c499c49ac49bc49cc49dc49ec49fc4a0c4a1c4a2c4a3c4a4c4a5c4a6c4a7c4a8c4a9c4aac4abc4acc4adc4aec4afc4b0c4b1c4b2c4b3c4b4c4b5c4b6c4b7c4b8c4b9c4bac4bbc4bcc4bdc4bec4bfc4c0c4c1c4c2c4c3c4c4c4c5c4c6c4c7c4c8c4c9c4cac4cbc4ccc4cdc4cec4cfc4d0c4d1c4d2c4d3c4d4c4d5c4d6c4d7c4d8c4d9c4dac4dbc4dcc4ddc4dec4dfc4e0c4e1c4e2c4e3c4e4c4e5c4e6c4e7c4e8c4e9c4eac4ebc4ecc4edc4eec4efc4f0c4f1c4f2c4f3c4f4c4f5c4f6c4f7c4f8c4f9c4fac4fbc4fcc4fdc4fec4ffc400c501c502c503c504c505c506c507c508c509c50ac50bc50cc50dc50ec50fc510c511c512c513c514c515c516c517c518c519c51ac51bc51cc51dc51ec51fc520c521c522c523c524c525c526c527c528c529c52ac52bc52cc52dc52ec52fc530c531c532c533c534c535c536c537c538c539c53ac53bc53cc53dc53ec53fc540c541c542c543c544c545c546c547c548c549c54ac54bc54cc54dc54ec54fc550c551c552c553c554c555c556c557c558c559c55ac55bc55cc55dc55ec55fc560c561c562c563c564c565c566c567c568c569c56ac56bc56cc56dc56ec56fc570c571c572c573c574c575c576c577c578c579c57ac57bc57cc57dc57ec57fc580c581c582c583c584c585c586c587c588c589c58ac58bc58cc58dc58ec58fc590c591c592c593c594c595c596c597c598c599c59ac59bc59cc59dc59ec59fc5a0c5a1c5a2c5a3c5a4c5a5c5a6c5a7c5a8c5a9c5aac5abc5acc5adc5aec5afc5b0c5b1c5b2c5b3c5b4c5b5c5b6c5b7c5b8c5b9c5bac5bbc5bcc5bdc5bec5bfc5c0c5c1c5c2c5c3c5c4c5c5c5c6c5c7c5c8c5c9c5cac5cbc5ccc5cdc5cec5cfc5d0c5d1c5d2c5d3c5d4c5d5c5d6c5d7c5d8c5d9c5dac5dbc5dcc5ddc5dec5dfc5e0c5e1c5e2c5e3c5e4c5e5c5e6c5e7c5e8c5e9c5eac5ebc5ecc5edc5eec5efc5f0c5f1c5f2c5f3c5f4c5f5c5f6c5f7c5f8c5f9c5fac5fbc5fcc5fdc5fec5ffc500c601c602c603c604c605c606c607c608c609c60ac60bc60cc60dc60ec60fc610c611c612c613c614c615c616c617c618c619c61ac61bc61cc61dc61ec61fc620c621c622c623c624c625c626c627c628c629c62ac62bc62cc62dc62ec62fc630c631c632c633c634c635c636c637c638c639c63ac63bc63cc63dc63ec63fc640c641c642c643c644c645c646c647c648c649c64ac64bc64cc64dc64ec64fc650c651c652c653c654c655c656c657c658c659c65ac65bc65cc65dc65ec65fc660c661c662c663c664c665c666c667c668c669c66ac66bc66cc66dc66ec66fc670c671c672c673c674c675c676c677c678c679c67ac67bc67cc67dc67ec67fc680c681c682c683c684c685c686c687c688c689c68ac68bc68cc68dc68ec68fc690c691c692c693c694c695c696c697c698c699c69ac69bc69cc69dc69ec69fc6a0c6a1c6a2c6a3c6a4c6a5c6a6c6a7c6a8c6a9c6aac6abc6acc6adc6aec6afc6b0c6b1c6b2c6b3c6b4c6b5c6b6c6b7c6b8c6b9c6bac6bbc6bcc6bdc6bec6bfc6c0c6c1c6c2c6c3c6c4c6c5c6c6c6c7c6c8c6c9c6cac6cbc6ccc6cdc6cec6cfc6d0c6d1c6d2c6d3c6d4c6d5c6d6c6d7c6d8c6d9c6dac6dbc6dcc6ddc6dec6dfc6e0c6e1c6e2c6e3c6e4c6e5c6e6c6e7c6e8c6e9c6eac6ebc6ecc6edc6eec6efc6f0c6f1c6f2c6f3c6f4c6f5c6f6c6f7c6f8c6f9c6fac6fbc6fcc6fdc6fec6ffc600c701c702c703c704c705c706c707c708c709c70ac70bc70cc70dc70ec70fc710c711c712c713c714c715c716c717c718c719c71ac71bc71cc71dc71ec71fc720c721c722c723c724c725c726c727c728c729c72ac72bc72cc72dc72ec72fc730c731c732c733c734c735c736c737c738c739c73ac73bc73cc73dc73ec73fc740c741c742c743c744c745c746c747c748c749c74ac74bc74cc74dc74ec74fc750c751c752c753c754c755c756c757c758c759c75ac75bc75cc75dc75ec75fc760c761c762c763c764c765c766c767c768c769c76ac76bc76cc76dc76ec76fc770c771c772c773c774c775c776c777c778c779c77ac77bc77cc77dc77ec77fc780c781c782c783c784c785c786c787c788c789c78ac78bc78cc78dc78ec78fc790c791c792c793c794c795c796c797c798c799c79ac79bc79cc79dc79ec79fc7a0c7a1c7a2c7a3c7a4c7a5c7a6c7a7c7a8c7a9c7aac7abc7acc7adc7aec7afc7b0c7b1c7b2c7b3c7b4c7b5c7b6c7b7c7b8c7b9c7bac7bbc7bcc7bdc7bec7bfc7c0c7c1c7c2c7c3c7c4c7c5c7c6c7c7c7c8c7c9c7cac7cbc7ccc7cdc7cec7cfc7d0c7d1c7d2c7d3c7d4c7d5c7d6c7d7c7d8c7d9c7dac7dbc7dcc7ddc7dec7dfc7e0c7e1c7e2c7e3c7e4c7e5c7e6c7e7c7e8c7e9c7eac7ebc7ecc7edc7eec7efc7f0c7f1c7f2c7f3c7f4c7f5c7f6c7f7c7f8c7f9c7fac7fbc7fcc7fdc7fec7ffc700c801c802c803c804c805c806c807c808c809c80ac80bc80cc80dc80ec80fc810c811c812c813c814c815c816c817c818c819c81ac81bc81cc81dc81ec81fc820c821c822c823c824c825c826c827c828c829c82ac82bc82cc82dc82ec82fc830c831c832c833c834c835c836c837c838c839c83ac83bc83cc83dc83ec83fc840c841c842c843c844c845c846c847c848c849c84ac84bc84cc84dc84ec84fc850c851c852c853c854c855c856c857c858c859c85ac85bc85cc85dc85ec85fc860c861c862c863c864c865c866c867c868c869c86ac86bc86cc86dc86ec86fc870c871c872c873c874c875c876c877c878c879c87ac87bc87cc87dc87ec87fc880c881c882c883c884c885c886c887c888c889c88ac88bc88cc88dc88ec88fc890c891c892c893c894c895c896c897c898c899c89ac89bc89cc89dc89ec89fc8a0c8a1c8a2c8a3c8a4c8a5c8a6c8a7c8a8c8a9c8aac8abc8acc8adc8aec8afc8b0c8b1c8b2c8b3c8b4c8b5c8b6c8b7c8b8c8b9c8bac8bbc8bcc8bdc8bec8bfc8c0c8c1c8c2c8c3c8c4c8c5c8c6c8c7c8c8c8c9c8cac8cbc8ccc8cdc8cec8cfc8d0c8d1c8d2c8d3c8d4c8d5c8d6c8d7c8d8c8d9c8dac8dbc8dcc8ddc8dec8dfc8e0c8e1c8e2c8e3c8e4c8e5c8e6c8e7c8e8c8e9c8eac8ebc8ecc8edc8eec8efc8f0c8f1c8f2c8f3c8f4c8f5c8f6c8f7c8f8c8f9c8fac8fbc8fcc8fdc8fec8ffc800c901c902c903c904c905c906c907c908c909c90ac90bc90cc90dc90ec90fc910c911c912c913c914c915c916c917c918c919c91ac91bc91cc91dc91ec91fc920c921c922c923c924c925c926c927c928c929c92ac92bc92cc92dc92ec92fc930c931c932c933c934c935c936c937c938c939c93ac93bc93cc93dc93ec93fc940c941c942c943c944c945c946c947c948c949c94ac94bc94cc94dc94ec94fc950c951c952c953c954c955c956c957c958c959c95ac95bc95cc95dc95ec95fc960c961c962c963c964c965c966c967c968c969c96ac96bc96cc96dc96ec96fc970c971c972c973c974c975c976c977c978c979c97ac97bc97cc97dc97ec97fc980c981c982c983c984c985c986c987c988c989c98ac98bc98cc98dc98ec98fc990c991c992c993c994c995c996c997c998c999c99ac99bc99cc99dc99ec99fc9a0c9a1c9a2c9a3c9a4c9a5c9a6c9a7c9a8c9a9c9aac9abc9acc9adc9aec9afc9b0c9b1c9b2c9b3c9b4c9b5c9b6c9b7c9b8c9b9c9bac9bbc9bcc9bdc9bec9bfc9c0c9c1c9c2c9c3c9c4c9c5c9c6c9c7c9c8c9c9c9cac9cbc9ccc9cdc9cec9cfc9d0c9d1c9d2c9d3c9d4c9d5c9d6c9d7c9d8c9d9c9dac9dbc9dcc9ddc9dec9dfc9e0c9e1c9e2c9e3c9e4c9e5c9e6c9e7c9e8c9e9c9eac9ebc9ecc9edc9eec9efc9f0c9f1c9f2c9f3c9f4c9f5c9f6c9f7c9f8c9f9c9fac9fbc9fcc9fdc9fec9ffc900ca01ca02ca03ca04ca05ca06ca07ca08ca09ca0aca0bca0cca0dca0eca0fca10ca11ca12ca13ca14ca15ca16ca17ca18ca19ca1aca1bca1cca1dca1eca1fca20ca21ca22ca23ca24ca25ca26ca27ca28ca29ca2aca2bca2cca2dca2eca2fca30ca31ca32ca33ca34ca35ca36ca37ca38ca39ca3aca3bca3cca3dca3eca3fca40ca41ca42ca43ca44ca45ca46ca47ca48ca49ca4aca4bca4cca4dca4eca4fca50ca51ca52ca53ca54ca55ca56ca57ca58ca59ca5aca5bca5cca5dca5eca5fca60ca61ca62ca63ca64ca65ca66ca67ca68ca69ca6aca6bca6cca6dca6eca6fca70ca71ca72ca73ca74ca75ca76ca77ca78ca79ca7aca7bca7cca7dca7eca7fca80ca81ca82ca83ca84ca85ca86ca87ca88ca89ca8aca8bca8cca8dca8eca8fca90ca91ca92ca93ca94ca95ca96ca97ca98ca99ca9aca9bca9cca9dca9eca9fcaa0caa1caa2caa3caa4caa5caa6caa7caa8caa9caaacaabcaaccaadcaaecaafcab0cab1cab2cab3cab4cab5cab6cab7cab8cab9cabacabbcabccabdcabecabfcac0cac1cac2cac3cac4cac5cac6cac7cac8cac9cacacacbcacccacdcacecacfcad0cad1cad2cad3cad4cad5cad6cad7cad8cad9cadacadbcadccaddcadecadfcae0cae1cae2cae3cae4cae5cae6cae7cae8cae9caeacaebcaeccaedcaeecaefcaf0caf1caf2caf3caf4caf5caf6caf7caf8caf9cafacafbcafccafdcafecaffca00cb01cb02cb03cb04cb05cb06cb07cb08cb09cb0acb0bcb0ccb0dcb0ecb0fcb10cb11cb12cb13cb14cb15cb16cb17cb18cb19cb1acb1bcb1ccb1dcb1ecb1fcb20cb21cb22cb23cb24cb25cb26cb27cb28cb29cb2acb2bcb2ccb2dcb2ecb2fcb30cb31cb32cb33cb34cb35cb36cb37cb38cb39cb3acb3bcb3ccb3dcb3ecb3fcb40cb41cb42cb43cb44cb45cb46cb47cb48cb49cb4acb4bcb4ccb4dcb4ecb4fcb50cb51cb52cb53cb54cb55cb56cb57cb58cb59cb5acb5bcb5ccb5dcb5ecb5fcb60cb61cb62cb63cb64cb65cb66cb67cb68cb69cb6acb6bcb6ccb6dcb6ecb6fcb70cb71cb72cb73cb74cb75cb76cb77cb78cb79cb7acb7bcb7ccb7dcb7ecb7fcb80cb81cb82cb83cb84cb85cb86cb87cb88cb89cb8acb8bcb8ccb8dcb8ecb8fcb90cb91cb92cb93cb94cb95cb96cb97cb98cb99cb9acb9bcb9ccb9dcb9ecb9fcba0cba1cba2cba3cba4cba5cba6cba7cba8cba9cbaacbabcbaccbadcbaecbafcbb0cbb1cbb2cbb3cbb4cbb5cbb6cbb7cbb8cbb9cbbacbbbcbbccbbdcbbecbbfcbc0cbc1cbc2cbc3cbc4cbc5cbc6cbc7cbc8cbc9cbcacbcbcbcccbcdcbcecbcfcbd0cbd1cbd2cbd3cbd4cbd5cbd6cbd7cbd8cbd9cbdacbdbcbdccbddcbdecbdfcbe0cbe1cbe2cbe3cbe4cbe5cbe6cbe7cbe8cbe9cbeacbebcbeccbedcbeecbefcbf0cbf1cbf2cbf3cbf4cbf5cbf6cbf7cbf8cbf9cbfacbfbcbfccbfdcbfecbffcb00cc01cc02cc03cc04cc05cc06cc07cc08cc09cc0acc0bcc0ccc0dcc0ecc0fcc10cc11cc12cc13cc14cc15cc16cc17cc18cc19cc1acc1bcc1ccc1dcc1ecc1fcc20cc21cc22cc23cc24cc25cc26cc27cc28cc29cc2acc2bcc2ccc2dcc2ecc2fcc30cc31cc32cc33cc34cc35cc36cc37cc38cc39cc3acc3bcc3ccc3dcc3ecc3fcc40cc41cc42cc43cc44cc45cc46cc47cc48cc49cc4acc4bcc4ccc4dcc4ecc4fcc50cc51cc52cc53cc54cc55cc56cc57cc58cc59cc5acc5bcc5ccc5dcc5ecc5fcc60cc61cc62cc63cc64cc65cc66cc67cc68cc69cc6acc6bcc6ccc6dcc6ecc6fcc70cc71cc72cc73cc74cc75cc76cc77cc78cc79cc7acc7bcc7ccc7dcc7ecc7fcc80cc81cc82cc83cc84cc85cc86cc87cc88cc89cc8acc8bcc8ccc8dcc8ecc8fcc90cc91cc92cc93cc94cc95cc96cc97cc98cc99cc9acc9bcc9ccc9dcc9ecc9fcca0cca1cca2cca3cca4cca5cca6cca7cca8cca9ccaaccabccacccadccaeccafccb0ccb1ccb2ccb3ccb4ccb5ccb6ccb7ccb8ccb9ccbaccbbccbcccbdccbeccbfccc0ccc1ccc2ccc3ccc4ccc5ccc6ccc7ccc8ccc9cccacccbcccccccdcccecccfccd0ccd1ccd2ccd3ccd4ccd5ccd6ccd7ccd8ccd9ccdaccdbccdcccddccdeccdfcce0cce1cce2cce3cce4cce5cce6cce7cce8cce9cceaccebccecccedcceeccefccf0ccf1ccf2ccf3ccf4ccf5ccf6ccf7ccf8ccf9ccfaccfbccfcccfdccfeccffcc00cd01cd02cd03cd04cd05cd06cd07cd08cd09cd0acd0bcd0ccd0dcd0ecd0fcd10cd11cd12cd13cd14cd15cd16cd17cd18cd19cd1acd1bcd1ccd1dcd1ecd1fcd20cd21cd22cd23cd24cd25cd26cd27cd28cd29cd2acd2bcd2ccd2dcd2ecd2fcd30cd31cd32cd33cd34cd35cd36cd37cd38cd39cd3acd3bcd3ccd3dcd3ecd3fcd40cd41cd42cd43cd44cd45cd46cd47cd48cd49cd4acd4bcd4ccd4dcd4ecd4fcd50cd51cd52cd53cd54cd55cd56cd57cd58cd59cd5acd5bcd5ccd5dcd5ecd5fcd60cd61cd62cd63cd64cd65cd66cd67cd68cd69cd6acd6bcd6ccd6dcd6ecd6fcd70cd71cd72cd73cd74cd75cd76cd77cd78cd79cd7acd7bcd7ccd7dcd7ecd7fcd80cd81cd82cd83cd84cd85cd86cd87cd88cd89cd8acd8bcd8ccd8dcd8ecd8fcd90cd91cd92cd93cd94cd95cd96cd97cd98cd99cd9acd9bcd9ccd9dcd9ecd9fcda0cda1cda2cda3cda4cda5cda6cda7cda8cda9cdaacdabcdaccdadcdaecdafcdb0cdb1cdb2cdb3cdb4cdb5cdb6cdb7cdb8cdb9cdbacdbbcdbccdbdcdbecdbfcdc0cdc1cdc2cdc3cdc4cdc5cdc6cdc7cdc8cdc9cdcacdcbcdcccdcdcdcecdcfcdd0cdd1cdd2cdd3cdd4cdd5cdd6cdd7cdd8cdd9cddacddbcddccdddcddecddfcde0cde1cde2cde3cde4cde5cde6cde7cde8cde9cdeacdebcdeccdedcdeecdefcdf0cdf1cdf2cdf3cdf4cdf5cdf6cdf7cdf8cdf9cdfacdfbcdfccdfdcdfecdffcd00ce01ce02ce03ce04ce05ce06ce07ce08ce09ce0ace0bce0cce0dce0ece0fce10ce11ce12ce13ce14ce15ce16ce17ce18ce19ce1ace1bce1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000052900)="46494c453000090000000000000000000100010048000100a80100000010000000000000000000000400000000000000080000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd60100b001000000000000b00100000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a00000000000000400000000000000000b004000000000000600400000000000060040000000000113f04210c3f0100b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00"/448, 0x1c0, 0xff000}, {&(0x7f0000052b00)='\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}, {&(0x7f0000052c00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff3e0}, {&(0x7f0000052d00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff5e0}, {&(0x7f0000052e00)='\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, 0xff7e0}, {&(0x7f0000052f00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff9e0}, {&(0x7f0000053000)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xffbe0}, {&(0x7f0000053100)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xffde0}, {&(0x7f0000053200)="000000000000000000000000000000000000000000000000000000000000080046494c453000090000000000000000000100010048000100680100000010000000000000000000000300000001000000020000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601004000000000000000400000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000040000000000000004000000000000000400000000000002104ff0000000000ffffffff00"/416, 0x1a0, 0xfffe0}, {&(0x7f0000053400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000053500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000053600)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000053700)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1007e0}, {&(0x7f0000053800)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f0000053900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000053a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000053b00)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000200010048000100680100000010000000000000000000000300000002000000020000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140030100000000ffffffff00"/416, 0x1a0, 0x100fe0}, {&(0x7f0000053d00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1011e0}, {&(0x7f0000053e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1013e0}, {&(0x7f0000053f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1015e0}, {&(0x7f0000054000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1017e0}, {&(0x7f0000054100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1019e0}, {&(0x7f0000054200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x101be0}, {&(0x7f0000054300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x101de0}, {&(0x7f0000054400)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000300010048000100f00100000010000000000000000000000600000003000000020000000000000000000000000000000000000000000000100000004800000000001800000000003000000018000000009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd601060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500009cc600c88dd601009cc600c88dd601009cc600c88dd601009cc600c88dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff0000000000000000000000000000000000000200", 0x220, 0x101fe0}, {&(0x7f0000054700)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1023e0}, {&(0x7f0000054800)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1025e0}, {&(0x7f0000054900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1027e0}, {&(0x7f0000000080)="000000000000000000000000000000000000000000000000000000000000020084e5a05e5acf8a49016fe1ea544a907a3e7bd20e5e1c95e34584a5feb04afce508add3c51088aed91933377f2a0f2a7a3e263a32b8600421ae7ad6963be696950073025b0095626f2a", 0x69, 0x1029e0}, {&(0x7f0000054b00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x102be0}, {&(0x7f0000054c00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x102de0}, {&(0x7f0000054d00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff46494c45300009000000000000000000010000004800000050000000001000000000000000000000000000003f000000020000000000000000000000000000000000000000000000ffffffff00"/262272, 0x40080, 0x102fe0}, {&(0x7f0000094e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1431e0}, {&(0x7f0000094f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1433e0}, {&(0x7f0000095000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1435e0}, {&(0x7f0000095100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1437e0}, {&(0x7f0000095200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1439e0}, {&(0x7f0000095300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x143be0}, {&(0x7f0000095400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x143de0}, {&(0x7f0000095500)="000000000000000000000000000000000000000000000000000000000000020046494c45300009000000000000000000010001004800030078020000001000000000000000000000040000004000000006000000000000000000000000000000000000000000000010000000480000000000000000000000300000001800000040eb3901c88dd601a51c3a01c88dd601a51c3a01c88dd60140eb3901c88dd60120000000000000000000000000000000300000006800000000000000000003004c00000018000100050000000000050040eb3901c88dd60140eb3901c88dd60140eb3901c88dd60140eb3901c88dd6010000000000000000000000000000000020000010000000000500660069006c0065003000000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f0001010000000000010000000090000000100100000004180000000200f00000002000000024004900330030003000000001000000001000000100000010000000e0000000e000000000000000410000000000010060004c0000000000400000000000010028fb3901c88dd601850e3a01c88dd601850e3a01c88dd60128fb3901c88dd60120040000000000001a0400000000000020000000000000000500660069006c006500300000000600420000000000010060004c000000000040000000000001006f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6015800000000000000540000000000000024000000000000000500660069006c00650031000000000000000000000000001000000002000000ffffffff00"/672, 0x2a0, 0x143fe0}, {&(0x7f0000095800)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1443e0}, {&(0x7f0000095900)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1445e0}, {&(0x7f0000095a00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1447e0}, {&(0x7f0000095b00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x1449e0}, {&(0x7f0000095c00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x144be0}, {&(0x7f0000095d00)="0000000000000000000000000000000000000000000000000000000000000600", 0x20, 0x144de0}, {&(0x7f0000095e00)="000000000000000000000000000000000000000000000000000000000000060046494c453000090000000000000000000100010048000100a0050000001000000000000000000000040000004100000005007273657200000000000000000000000000000000000010000000480000000000000000000000300000001800000028fb3901c88dd601850e3a01c88dd601850e3a01c88dd60128fb3901c88dd60120000000000000000000000000000000300000006800000000000000000003004c00000018000100400000000000010028fb3901c88dd60128fb3901c88dd60128fb3901c88dd60128fb3901c88dd6012004000000000000000000000000000020000000000000000500660069006c0065003000000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000003804000000000000000002001a0400001800000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c650500797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c050073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000ffffffff00000000", 0x5c0, 0x144fe0}, {&(0x7f0000096400)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1455e0}, {&(0x7f0000096500)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1457e0}, {&(0x7f0000096600)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1459e0}, {&(0x7f0000096700)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x145be0}, {&(0x7f0000096800)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x145de0}, {&(0x7f0000096900)="000000000000000000000000000000000000000000000000000000000000050046494c453000090000000000000000000100010048000100d801000000100000000000000000000004000000420000000300000000000000000000000000000000000000000000001000000048000000000000000000000030000000180000006f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd60124000000000000000000000000000000300000006800000000000000000003004c0000001800010040000000000001006f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6016f1b3a01c88dd6015800000000000000540000000000000024000000000000000500660069006c0065003100000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000007000000000000000000002005400000018000000496e74784c4e4b012f0074006d0070002f00730079007a002d0069006d00610067006500670065006e003500350031003400330038003100390034002f00660069006c00650030002f00660069006c006500300000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000300", 0x220, 0x145fe0}, {&(0x7f0000096c00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1463e0}, {&(0x7f0000096d00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1465e0}, {&(0x7f0000096e00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1467e0}, {&(0x7f0000096f00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x1469e0}, {&(0x7f0000097000)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x146be0}, {&(0x7f0000097100)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0x146de0}, {&(0x7f0000097200)="000000000000000000000000000000000000000000000000000000000000030046494c453000090000000000000000000100010048000100f001000000100000000000000000000006000000430000000900000000000000000000000000000000000000000000001000000048000000000000000000000030000000180000007c283a01c88dd601274d3a01c88dd601d5623a01c88dd6017c283a01c88dd60120000000000000000000000000000000300000006800000000000000000003004c0000001800010005000000000005007c283a01c88dd6017c283a01c88dd6017c283a01c88dd6017c283a01c88dd6011000000000000000000000000000000020000000000000000500660069006c0065003100000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f00010100000000000100000000800000002800000000000000000002000a0000001800000073797a6b616c6c657273000000000000800000003000000000061800000004000600000028000000780061007400740072003100000000007861747472310000800000003000000000061800000005000600000028000000780061007400740072003200000000007861747472320000ffffffff0000000000000000000000000000000000000900", 0x220, 0x146fe0}, {&(0x7f0000097500)='\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\t\x00', 0x20, 0x1473e0}, {&(0x7f0000097600)='\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\t\x00', 0x20, 0x1475e0}, {&(0x7f0000097700)='\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\t\x00', 0x20, 0x1477e0}, {&(0x7f0000097800)='\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\t\x00', 0x20, 0x1479e0}, {&(0x7f0000097900)='\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\t\x00', 0x20, 0x147be0}, {&(0x7f0000097a00)='\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\t\x00', 0x20, 0x147de0}, {&(0x7f0000097b00)="000000000000000000000000000000000000000000000000000000000000090046494c4530000900000000000000000001000200480001001802000000100000000000000000000005000000440000000a0000000000000000000000000000000000000000000000100000004800000000000000000000003000000018000000966d3a01c88dd6018d8c3a01c88dd60170993a01c88dd601966d3a01c88dd60120000000000000000000000000000000300000006800000000000000000004004c000000180001000500000000000500966d3a01c88dd6018d8c3a01c88dd6018d8c3a01c88dd601966d3a01c88dd6010030000000000000282300000000000020000000000000000500660069006c006500330000000000300000006800000000000000000003004c000000180001000500000000000500966d3a01c88dd601966d3a01c88dd601966d3a01c88dd601966d3a01c88dd6010030000000000000000000000000000020000000000000000500660069006c0065003200000000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f000101000000000001000000008000000048000000010040000000020000000000000000000200000000000000400000000000000000300000000000002823000000000a00282300000000000021034f0100000000ffffffff00"/576, 0x240, 0x147fe0}, {&(0x7f0000097e00)='\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\n\x00', 0x20, 0x1483e0}, {&(0x7f0000097f00)='\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\n\x00', 0x20, 0x1485e0}, {&(0x7f0000098000)='\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\n\x00', 0x20, 0x1487e0}, {&(0x7f0000098100)='\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\n\x00', 0x20, 0x1489e0}, {&(0x7f0000098200)='\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\n\x00', 0x20, 0x148be0}, {&(0x7f0000098300)='\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\n\x00', 0x20, 0x148de0}, {&(0x7f0000098400)="0000000000000000000000000000000000000000000000000000000000000a0046494c453000090000000000000000000100010048000100f0010000001000000000000000000000040000004500000005000000000000000000000000000000000000000000000010000000480000000000000000000000300000001800000071a63a01c88dd60182b33a01c88dd60182b33a01c88dd60171a63a01c88dd60120000000000000000000000000000000300000007000000000000000000003005400000018000100050000000000050071a63a01c88dd60171a63a01c88dd60171a63a01c88dd60171a63a01c88dd6016800000000000000000000000000000020000000000000000900660069006c0065002e0063006f006c006400180000005000000068000000000000000000010050000000180000000100048014000000240000000000000034000000010200000000000520000000200200000102000000000005200000002002000002001c000100000000031400ff011f0001010000000000010000000080000000800000000000000000000200640000001800000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c65727300000000ffffffff0000000000000000000000000000000000000500", 0x220, 0x148fe0}, {&(0x7f0000098700)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1493e0}, {&(0x7f0000098800)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1495e0}, {&(0x7f0000098900)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1497e0}, {&(0x7f0000098a00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x1499e0}, {&(0x7f0000098b00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149be0}, {&(0x7f0000098c00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149de0}, {&(0x7f0000098d00)="0000000000000000000000000000000000000000000000000000000000000500", 0x20, 0x149fe0}, {&(0x7f0000098e00)="eb52904e5446532020202000100100000000000000f8000000000000000000000000000080008000ff010000000000000400000000000000ff000000000000000100000001000000bc27b44498059524000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff000}, {&(0x7f0000098f00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff1e0}], 0x0, &(0x7f0000003cc0)=ANY=[@ANYBLOB="0066f35f1a116012112043dfec8f93ccb24386cd97b0b358fd7ea1798c43bbaf60ce17aeafcc3ee883d638b6370ecd1016931cd05d4c3778f204207c0dc252d9375007bfa0b1e8b60bef856461a73adc6962734d30304b2d333700e2ffffffffffffff0000000000"]) r0 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r0, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) ioctl$RTC_ALM_SET(0xffffffffffffffff, 0x40247007, &(0x7f00000001c0)={0x1b, 0xb, 0x14, 0x1, 0x6, 0x7fffffff, 0x5, 0x4a}) listen(r0, 0x0) ioctl$BTRFS_IOC_SYNC(r0, 0x9408, 0x0) r1 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r1, 0x541a, &(0x7f0000000000)=0x2) ioctl$CHAR_RAW_ZEROOUT(r1, 0x127f, &(0x7f0000000040)={0x8, 0xfffffffffffffff8}) 06:52:28 executing program 4: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000002b000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f0000000100)="b805000000b94a0000000f01c10f00d4b93c0200000f320f0666b80a008ec00f09c4c125d5b370199ca9c7442400a4b9b4edc74424024ddf3ba1c7442406000000000f011c24b8010000000f01c1660f3881530f"}], 0x15555555555555d2, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f00000002c0)={[0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc5e]}) ioctl$F2FS_IOC_SET_PIN_FILE(0xffffffffffffffff, 0x4004f50d, &(0x7f0000000040)=0x1) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) setsockopt$inet_sctp6_SCTP_AUTO_ASCONF(0xffffffffffffffff, 0x84, 0x1e, 0x0, 0x0) r4 = socket$inet_tcp(0x2, 0x1, 0x0) sendto$inet(r4, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100), 0x10) ioctl$sock_FIOSETOWN(0xffffffffffffffff, 0x8901, &(0x7f0000000000)) openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) ioctl$KVM_GET_MSR_INDEX_LIST(0xffffffffffffffff, 0xc004ae02, 0x0) 06:52:28 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) ioctl$FIBMAP(0xffffffffffffffff, 0x1, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x14) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) getresuid(&(0x7f0000000040), &(0x7f0000000140), &(0x7f0000000180)) mkdir(&(0x7f00000005c0)='./file1\x00', 0x180) r0 = socket$netlink(0x10, 0x3, 0x0) mount(&(0x7f0000000200)=ANY=[@ANYBLOB], &(0x7f0000000400)='./file0/file0\x00', &(0x7f0000000440)='exfat\x00', 0x4001, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setregid(r1, 0x0) r2 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) setsockopt$inet6_IPV6_HOPOPTS(r2, 0x29, 0x36, &(0x7f0000000380)={0x3b, 0x6, [], [@hao={0xc9, 0x10, @loopback}, @hao={0xc9, 0x10, @dev={0xfe, 0x80, [], 0x24}}, @hao={0xc9, 0x10, @initdev={0xfe, 0x88, [], 0x0, 0x0}}]}, 0x40) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f00000003c0)='overlay\x00', 0xd, &(0x7f00000004c0)=ANY=[@ANYBLOB="6c6f5965726469723d2e2f62757309350ac254cc8fa815d22c776f726b6469723d2e2766696c65312c75707065722b93723d2e2f66696c6530a08681ced5086c72c3cc0efcb860788c5e4ec790ec24fee755448e8eb2c8e634c17bffcff21b7847ec23a91191e415e42bbc019276992bfcd2dd4d7617ed7b48dda3b3ed3f9da9a8ef4951cca25d0671f08e451cf143a2b0310bf296930f7821b69ee3836cc34e42307ae4202d53ba1cba5b6fde5cd6c56150b9817eadb33a3b5360ec5aa12bffdb442f7a5b3e1ccbbba4ae56465fad2c4b4c791adaa89512dbd9f272f0fefe1f9815dc10"]) sendmmsg(r2, &(0x7f0000008d80)=[{{&(0x7f0000000300)=@rxrpc=@in6={0x21, 0x4, 0x2, 0x1c, {0xa, 0x4e22, 0x0, @rand_addr=' \x01\x00'}}, 0x80, &(0x7f00000008c0)=[{&(0x7f0000000100)="ec679595af2845d01a4ff74af77d88b09ad17f1915d73e7fd651728bca05c8a96b184128e6", 0x25}, {&(0x7f0000001d40)="bd03cf0395666ba3cab280fc3ba6543d752b686c816426f2b68bb26a8a87a16ea031690822124ce558f9241c1c9a0fbf7afb4c3121cfd42aadb9d0860762da9d65aec9472d7b41d10eaf170c38e8c6dbff2287e2e2d779c0b92b25aad3acf9c291dfc0ec8f30012dcd1c5e1a86bd32be86dca7c5c7310379d98f1f818685056a326002cc445eadd248802884d9ba043dfb8b4629dc05858db1fd86c3ac784ebf527477669269a46df13948fdb10a01a50ba6503c724a1fc23c7d454e75cbb248a759b7fe06beca9e6b3780a0b93477aaabfe109474209d4e9c0a51f635682f21cf6de1ebd179d5671bf23633e22d68a3d98d0c30483b101c32227d06d1e6364c1595fc5ee02b570d04aaf84c5fed0c2bc3110556bdde88cc1d7d0be361f051491e1eb5737be4388478bbe91ad6f6836e8c15795c07df5dfaaa7ac73709c56dd88f39d834ff6eea3d7a8c38372e657ab288bba99b020a741169f34711dd0b3d86d9d7f84937abdfcb6ed2ed835ece7450eaf91ea1145103e45b9ed7b07e267413c4e052058323d6346e7b7d0ad9bd61f35acca1370784a7d3643600a2aa8b32f11c45d114882a203dfb335671ff0f6a37bde77b93264f73106e86d3ab4ca55558f04136e729069f05e4bad3bdf5a30bf4f68f5a0bcc081cb8926d22e64e0adbd1bb79897f44bb8f7c7d5ff612538ff647dafb28982869280ffc91a6c385267df25160f9ed25e8d8ad0a0dd1ca554354597956594a976c71edbbf3c86fdef6626199b52753cb21b3cde2dc0d2d40bcc85a73714641cd1333f68536dd3eab2796c02d13e9e5efbb3898c6318751b61865aa4fbcab7289f74a04bfb31ee05c759637b657be3e016dad3ec4eaef83b83148b3b1414479ad5e9d9657213d780a003d1481530140b461365bde7fbbf44a8ee5ef0f101173d5574d84ed3e0284", 0x29c}, {&(0x7f00000006c0)}, {&(0x7f00000004c0)}, {0x0}], 0x5}}, {{0x0, 0x0, 0x0}}, {{&(0x7f00000052c0)=@in6={0xa, 0x0, 0x5, @mcast2}, 0x80, 0x0, 0x0, &(0x7f00000054c0)=ANY=[@ANYBLOB], 0x1218}}, {{&(0x7f0000006800)=@l2={0x1f, 0x4, @any, 0x200}, 0x80, 0x0, 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="50000000000000000e010000000000008f0b8208980d52ea61a952450001e829f9fdc4f340aa3baa968704020c211ec6298b6b1cc13690f497def47c4d0fd50dbd23768590c69b95da21ea14b71200004800000000000000000000008d7bffff9d9b1c247c209d7951bd396be56a4a00762a9ded94ba333ece8d98e29feef26ca127a78b41398c916176beb28f8bbc4165000000000000007800000000000000ff0000000000000014ac28d5bbee0f4b21cc01c92112abc2f6a2daf7cb784ae3ec69bd1455de94e75cbd6616dd214604e3998023fc2e723024a0723fa1bc043e40308a02c73792cf30013a99e2d45d5db73e40953fa5cf35305a0ac87c5b44ce3befa37ab576c302b62b42094ba4aa66631f8724ea39c4cc5c9667e90aa577002ada1a6ba41a25d03273e6981425397b4dadb71c91636288ea34406884459dd6fd058918cbc6e478cd04d8a16f9a15b016f363ebc20204285139935974db"], 0x110}}, {{&(0x7f0000007500)=@in6={0xa, 0x0, 0x0, @remote, 0x3}, 0x80, 0x0, 0x0, &(0x7f0000008f00)=ANY=[@ANYBLOB="1001000000000000110100000000000021e24c30cf67234505304278e53bf7fb6cbf98bb89fd7549600b8288eb9ac13796bc6e8ea2ea82033bf3f291fc759c52d0acd5534a83edbd2e0ccb80f0d4f671f4ff3a374e9cf0d74bfad8285761fd559bbee46205e1029c77421844e443dd429051cb7f5e7bea522b4fa65c1cd1eac81332967be6ba64b3874571c9bed422324b0a0130aa97fe5ba02d667947355db28e2ccecc20f8daaa0d33d3fd0e3b13a7bc10ce511dec7557431b2407c7a99d02b7f3ab13ee01ca43ec71ee50b8c92dcbaa44716ea5209bac8f93031837ca512b80c57c838785ba3cdda0bb3103d1a05ee70cd79e2e03b1f1c2aaa77439329eafb63a9c2cc53347fb371067bb458f100010100000000000000b010000010000008c20de4fa36e83145243d525f9b652606a06c60ebf80bfb1344158059e1de26ddb4e6331defe2244904fa78ce6e1c6c8d884cbf5f7434fa6737a0ca914eaa7d27cc8f999abf01b1d9f73212695ab90d559824f490142e158aa5df768f8e5d8053e5915ad08268eeef256faf3b2b90f8209c99be03ed03584cdc43aed7fec82c54d8af34eb27720a5bf84a328ea6686d0091193c77ecc3b2d5e51ee295e78d174120908e13c0954f5433363768df8e4bb14d730a9cc29bf79cff8edeab5110e396ecb4640216f5e93653c01062a8d89d4b7ea5b0630123a5974dd42129f7504977bd448eb8b3c7daef00f24f8457099b7ced22dda9da0c90d7f3f945f3a63e84f9ee3bb2a124db50474ca34af57391e0c298af641dbbaad52ac5922db20adc6e363ec6add2479a07f643d5d7acde320e866cbb46e9977b14bdd859ed6c02ac8f258235cea4fbe669ee1ad735a062777d0fb8019f8bb8d3c4ced0796672cc6ee09bb94794bb5c0da9de1a7d241c9036761f0d91a4c43c4951c90dcd8fe2ea57835a9f0e7eeaba07e7f65eeb0eba589ce51b2f71c8cb803b521816442b2b158f35b757b73e43fae286b0fe8623cb09e3240548aa0a190165855e74b728dd4d453be1eb5a1dc9f41d7e5c1f9bcffc03a5f8a5da072fb83d8f842ee788c2c718e3dfc3b5da757f3021cec480e945ce107796db8ed20d34901a6b6e8f0a89b0bcfcbdc847c3b6095a17f77702f92904bddfc800ad74cac523808671086d557bf24a99565e13eeb3d3743f4dc22c1a03631da31135fb8c169f7e6358cc9c430503fae67ee4e3c778a9422996a6324d314de1011cd9a0dd1928338e833b526615a4a8116331653fa4d04f0dacfbd663ea28e90c22c8f1e7f26581082a339cb75720fde39ac715eab7143af530af94a6608256c3769bfdff56e842549745d31ff911804dbfac7e1c35e35cbaebb2c545ed051cb15820a2704ba983177b5102a44945afb2aa94c7079a6cf6f6d03ef71007bc62a4eb2d06fb15fa80a72c600caf2838eff9977dd8df4c0d062ec91a1f0add13013e12425c42d28fd14afb4c6dbd0893f5867961665f1475b0aaf9824fafc914e022e521274201ba979b0203c5951091bd6e96bbfe85ae6c0044fa832f634ea2461ab9b906ed2c0f4229ffa0d34fcf9ab0e1c44b3d4bc59e4cc2f21180542de404ed26033bfd62f58664f740703eee1931da57007fdf6203166f3134603dc65cf14b6c58a507207778ee71baa7714914fe7b29d4d3de4628a447b60c7b26cf5d64c3cb47a547e94d70e63c2a370fcb2e6ab0a0e29e9a7e7c6a78134c31b989e73c6773500ef599359b5e5a676ba91aabd58617cafd0150e762dabc36ad104e27602ce6c7250d8db96a88aba47b4061d0ba3034de1761b52dd27706176eb707b52dfb191936945f776f2e451d453a206c48c885c980a03dc5068239717038b6ebc7facf237b8f608a0b1f1fa0ab1cfd1e50c21e4f4ef1361f28f3baadd3b198c68a63389ddbb6b33de03f3c7345e68c227219d0942e762cadce16bae8f6915037218c60a64861dbdff9bb51fc9b31011aa1cd34e9c945478afd0d67e06984fccdd14287dbcb34f2e2998767ae99dc2010f647a9704758daa4a6b6b09dd4aae456b81fb11550ea7dc49bfd14425f802aba33d3b8af0f1df13b67179c6e77784dac3f779a41cfa7c2a1fafdb375a2476e21f8af98e89fb3d5d833385a20db55d1f3b7f85f19c2ef66e1ef8d0e48ee04413c1b0af3fca1ec21b8aeab38304adbd2c89430dc22cd6e49f77279bce93757d887f2eda797257c77bc324ad10a63223f3d1d90f93839dc59c0ec81d34c25b98e66ae728f963b05ec5770eb4e16c0a2c96fb33bff154a54eb16c65553b74cfbfa78b021d1117d27b3b96cb9494b7e22f98d60846c2cd700f5fdf8b9531895ff3555cdaaedd7056cd79c8ae34d919c6455f14d96fe6c3bcb0fef15ff013d758a16ba2c67fe765179910337841a8711d87e763ba000a05cc35828d0000003ed944595388c6aee611678ca878e0e94967d643fa769d6e49c721377906e580cad55917f8686780a2121bad9113c2213a378946f7d55083defc02b4ec6b4f2f1a2247ad07ee1cd22f7f9080b399589897fad51a60fd64299449b39a2aeeac57f3015fa3d8935136acd4bdab47f95c5eea2b14f14ff664db68ccea2130a8cb24cb37dde04b3356be6399ab3bcab98b8806c73e0ee839539b4a3c8bf56e01c8fb9672273839ff80a0686ff72ce3ddc7cc27e44a12873d93b17a5dc9f22e7a1c68e759e8f3255f65decdd14d60c80223ad3515ceb0d408cde595665f6e2bb9a93e8be8972a6b35be63d5d71ea38e2c0ace4ff1e50a11d6505da2d14a781326407506d9e0af0800c343f1689612633797f5e253dcb6711a932a3504cf67275d98a99d5a798160cec53a039e40d0085085ec191aa2362c20e52434f2414445078eabbefc3899ab716c54f96ca64d2058742c7ac967b22e03ff72e1d75bd94085dd7e909aa678589b87551b735c6a0ba3b593cf78db229a51386d3128ffdd5a2231b783610e337b4885edd7a5296e55b54bd9da29571960d025f0ec5a08c9349b9e1a684adbffbe98781eba0c5816df2285cda9539fb17b46c1ad764c0f6f547fab5a41a46dc94162b6050841d88c17db8bc39b0b4dbacc34f2e97c926d5b28e537e508cdfb3997fd023096f32cd67cdf9b1549b87e935d2b27120823948b09e4687e9d0f98700c2fe7682f1e0de044a8bbf8583672b6b84ec391b401c8759ef9692154d6a9389120f70381027d97165c37b26fe2b98e5acfb489f6b49d3230f8645c45bb8545fdac074b3cce0274bd86b0ffc846e39c54ab7c72202fee733686d0b206be23bb3bf4b1e68448630352206e27e667dda0eef60ad11c3cabd670f02480692890d38b02d2db7f4dd590f11c436bee0da70609cbcc64eada5a16daa4e566fb21d65f077ca354707ddbbb638d3335153d643bfc23c10c686da682058c7978ce09f77744cc7d6e8234f75669b0de95855695bcc0a53d1ed1f3620835e20056fb79ec99ed22f2568327ce3815b36e3eac47dce472eb994c6c22e99bd844db328871f0b892decb8f82004f7768d0b08f62e72120ada0e062c5f9103b5b6111a252402997151d2d906201619078c1a69f3623867d415e058d6ae071a851c09bc39b060d25c31833896015572c5f3ac6b34e2ac5971b4e09aa1c8746169bfdfcb7d9a9f6ec9c17ee6ddbb74152aace7bb306e37595d6ce1fe6ea53b08a61eaca0c825fe93e6eb3300d6f5d0db327f5dc3d9a0c5ebcf4702606cec0921b987fc8026827a65277761fc5d090277a6e4fd05f2f63d3056206ef842bcb561b40400bc4cfbbb6bdd78478dd80c5d8b126ba2048f1a92c91c97d3aaf96811252789a6761f694891104469314c3fb62b7be80bcda8053924c6a1313deb08bf102d3b4cdd68887469b7cea0a5359c439c9bd5d11858528226cff548c41dc9170a3f7132af234d0b1638263a5e9a49d852817e624adae9ffbf6cb0807a923d05d8976b0a7af6d315c1e7b448f7b1a9a6b50eb2b3cacf5a06110c7b864c2e69ad2c603b639c92a688bbf56f555ed4b5fae3b5fa9a36fa32ddf4b14efd089b01c06b5cdd1a1e967eac6e6999c3aef3bee430d223c27c20d8f3eac8b5221f920515c68fbbb63d4d1354fa2487f91494cc3fafdf3e940f5be035e003f01d71e521f0ef914ec73cd8fcfa83caf68f12cad5ba5b3e155941a2b9c49a14b3b8a71817db8949b58b9fc6b11036fbb05566e9d9a93dcd1aa7dee1e123c5ca3e6b8fb57b299c90d67835b8c46549007eae214edc342be3ef772c1ff473e5537d6e08f7c9f67397dc20e75d4e7d954d5a9b048ca8c7208c08277dc07a6bb0b173d1f269a38e819bd5e8ad1f108723de4ee53f64a15ce0a1490fbbe6a318f32631e5e566cd22c491b7bad3cfc6c0831c1571b4ce4074772a6657b32da66c3ecd0f9479616e375cb69ef0ba4d133a5a1f2b426f3102e5d65bb5a3b825b103c86815c3841fc61b15c41ac9d3c1939ee78733fa04bbfb76caa72a6d8ea1be7d04c9fff583a3f385f12ec61c4f73710ae2c7cf308ba93e8f5dd18fbd7c77e19319306bcea5115ebca58e3efc4f227dec33f7e89d596cf3e7128baa1267a8f87a98337be6e7d14f01209fc967a0e1698808c2d03161bcf5c15a0b892934fb2a887949bccb99ecaaa9ac6371b773899b16ef97680c789bb0e69e5732d598f87265f74bb369f44d2db91b99cd546733fbf643bc7f2bd72b9e6a2fb2c9c0e15c2f4db270bbb77db3de692b81467e9c0f733efed44e9a48679d8d280d65d573eaca0641c5cb38cecfd488aab188f0919b8027da9117da7e6910cae7dd21213db025aa95648a22157502ea9a1f457dcd2394898285c66d852db67b29d877d5992dd7b49b631d70287e6917d7061ab6f0352a7a62742f4eda49aed74bfbb90d16724175cc31c4d7cb9d69a9dc3aebae53eb14400ca3040ac263f59f9ed950ab1d281658b4f91a082f6e72ca76de41d76f7afde29f202c807ba410fee06f23c8c39127499c08d0421693ade55298d2c5f221e5be437fc8df867f96f5d7b1ccc35a2d4e352b93400f1490774a2043e2d2ac4a18b951b7a11a53ddf65b862631ac464857c1b08227fee142553afb063b0f89b5c1685e311eed0649e80a5d0b08729e908368926c324782125e1125043e4d32b2586f539c50dfc567870504a2d906c10bf730d95e631a4421f79256cdb5ce405e375988e449c996b6d1e38bd32f0164604c97afc47babd442507b1ce1834b955ffe5ad0a0d4d23e68f2e0424d6ddde4a6915937721898a038710b9ddafc634a29bcab84f7742418ce733ff591eea3c404fedcb82276881a887f1b53a993346cb0b70defe8e32"], 0x15e0}}], 0x5, 0x4000000) rmdir(&(0x7f00000000c0)='./bus/file0\x00') mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x0) 06:52:28 executing program 3: syz_mount_image$msdos(&(0x7f00000000c0)='msdos\x00', &(0x7f0000000140)='./file0\x00', 0xffc00004, 0x2, &(0x7f0000000100)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000004c0)="dbed7d4cac17", 0x6, 0x1f}], 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB="6e6f646f7473f512"]) r0 = getuid() mount$9p_virtio(&(0x7f0000000100)='syz\x00', &(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)='9p\x00', 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB='trans=virtio,nodevmap,fscache,afid=0x0000000000000001,privport,privport,version=9p2000,mmap,debug=0x0000000000000009,cache=fscache,cache=mmap,pcr=00000000000000000048,eui', @ANYRESDEC=r0, @ANYBLOB=',subj_role=vfat\x00', @ANYRESDEC=0xee00, @ANYBLOB="2c7375626a5f747970653d76666174002c726f6f74636f6e746578743d73746166665f752c736d61636b6673726f6f743d162c6673636f6e746578743d757365725f552c6673757569643d62616262633665332d383664352d316339362d366166652d65366530"]) syz_mount_image$nfs4(&(0x7f0000000340)='nfs4\x00', &(0x7f0000000380)='./file0\x00', 0xd08, 0x4, &(0x7f0000000680)=[{&(0x7f00000003c0)="64d0dda77a59eb5c48184d6ee1384d74cdbe9c4b2d6ca35c7306e7262f2a18d87ac560a97b646c317d3bfea11687222976afc90f99fe9bd14cdb13cbee71bb5601bc3bb22b631e69b11c7ec91762939b1529e84d04a1c531d8b540a94c2a100f28cacf92bef82174f974b1ae7e4767ac5577dd4a1675dc81699fa9dad9367c1f2ca207de4072d9970e80836b17bb5d31ee060ba5dd6cc3e34bc7e1ace6ea874fd8b8770a777e3963382f0e1125669d37634adf178f232780a47ae85a360128a0d71dcb4420561c2a219247cd587af65319983db8329ba3559794276347ce22cb4518e1fc4b9eff5b481127697e1f5d0b7099c2e54465d320195f677b2ed4f6", 0xff, 0x6}, {&(0x7f0000000500)="1bc9363d1dc1751bcfc545efe8e9d7d060564ba5216257051bcdb0e1a4266ebf5e5ca5390a1e56c5a589527f83d7e0213b092e4c48c335d218e8811675097a8de4a4ef80076de973de00f4afbf04bbc746f66f63", 0x54, 0x7}, {&(0x7f0000000580)="88de26e0a282810a2c61a8eab27de442cf87c4ed5961f389195aa2500e111140e61f7f55cd84e7afe09b776129c38e66cd448a841b3122e610b8", 0x3a, 0x66a0800000000}, {&(0x7f00000005c0)="5e6d5283eee25efd16e46fcda2660a3d2864774b4f3d9845531b13b48a90f65d47c70af4b25eda21fb1cd37383a8e2cd5e5ba7b923ac42e015959ce8aafb03f5b577edbeca1cb48fa6a430a8c1e19ba06b67e59762c4eee49461396b2ae870b6ffb76ad2e546898265f4323457fc861bb60552b192a7db51423b63ebdb01bf067d046f08bdcfc7965e60f192e69c3dd4fa", 0x91}], 0x4000, &(0x7f0000000700)={[{}], [{@obj_role={'obj_role'}}, {@defcontext={'defcontext', 0x3d, 'user_u'}}, {@euid_lt={'euid<', 0xee01}}, {@permit_directio='permit_directio'}, {@fowner_lt={'fowner<', r0}}]}) sendmsg$NLBL_CIPSOV4_C_ADD(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)={0x1c, 0x0, 0x0, 0x70bd27, 0x25dfdbff, {}, [@NLBL_CIPSOV4_A_DOI={0x8, 0x1, 0xffffffffffffffff}]}, 0x1c}, 0x1, 0x0, 0x0, 0x40000}, 0x8000) sendmsg$NL80211_CMD_STOP_SCHED_SCAN(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000800)={&(0x7f0000000780)={0x44, 0x0, 0x10, 0x70bd26, 0x25dfdbff, {{}, {@void, @val={0xc, 0x99, {0x4, 0x68}}}}, [@NL80211_ATTR_COOKIE={0xc, 0x58, 0x2d}, @NL80211_ATTR_COOKIE={0xc, 0x58, 0xa}, @NL80211_ATTR_COOKIE={0xc, 0x58, 0x58}]}, 0x44}, 0x1, 0x0, 0x0, 0x4010}, 0x4081) [ 269.891945] ntfs: volume version 3.1. 06:52:28 executing program 5: openat$cgroup_devices(0xffffffffffffffff, 0x0, 0x2, 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(r0, 0x84, 0x73, &(0x7f0000000100)={0x0, 0x2, 0x10, 0x8, 0x3f}, &(0x7f0000000280)=0x18) getsockopt$inet_sctp_SCTP_STREAM_SCHEDULER(r2, 0x84, 0x7b, &(0x7f00000002c0)={r3, 0x3f}, &(0x7f0000000340)=0x8) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='freezer.state\x00', 0x7a05, 0x1700) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 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, @perf_bp={0x0}, 0x0, 0x80}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000040)=ANY=[@ANYBLOB="0100000000000000a000000095000000000000000000000000baf18df2083793871eff84d75d0ff1dc441c982743431b24c9c5f6cbe0adf47270a7cef8df2770603bdd0e0d5a215117ebc80a1ad30f393af7d5303ac58ceee5b1040ef05471ac1481e884291458e0539f61aa"], &(0x7f0000000300)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) write$cgroup_type(r4, &(0x7f0000000000)='threaded\x00', 0x248800) [ 269.996535] FAT-fs (loop3): Unrecognized mount option "nodotsõ" or missing value [ 270.038153] overlayfs: unrecognized mount option "loYerdir=./bus 5 [ 270.038153] ÂT̨Ò" or missing value 06:52:28 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$pppoe(0x18, 0x1, 0x0) connect$pppoe(r0, &(0x7f0000000080)={0x18, 0x0, {0xfd, @broadcast, 'geneve0\x00'}}, 0x1e) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) sendmsg$NL80211_CMD_STOP_NAN(r2, &(0x7f0000000100)={&(0x7f0000000000), 0xc, &(0x7f00000000c0)={&(0x7f0000000040)=ANY=[@ANYBLOB="b72040", @ANYRES16=0x0, @ANYBLOB="00042bbd7000fddbdf2574000000"], 0x14}}, 0x0) sendmmsg(r0, &(0x7f000000d180), 0x4000000000000eb, 0x0) [ 270.095716] overlayfs: unrecognized mount option "loYerdir=./bus 5 [ 270.095716] ÂT̨Ò" or missing value [ 270.106451] 9pnet_virtio: no channels available for device syz [ 270.129080] EXT4-fs (loop1): couldn't mount as ext3 due to feature incompatibilities [ 270.161580] audit: type=1804 audit(1609743148.975:43): pid=13035 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.1" name="/root/syzkaller-testdir602702089/syzkaller.HQAjEK/23/file0/file0" dev="sda1" ino=16019 res=1 06:52:29 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f00000002c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r3 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r3, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r3, 0x0) r4 = dup3(r3, 0xffffffffffffffff, 0x0) ioctl$SNDCTL_SEQ_TESTMIDI(r4, 0x40045108, &(0x7f0000000380)=0x3f) ioctl$TIOCSSOFTCAR(r4, 0x541a, &(0x7f0000000000)=0x2) setsockopt$inet6_tcp_int(r4, 0x6, 0x18, &(0x7f00000000c0)=0x3, 0x4) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) r5 = dup3(r0, r3, 0x80000) ioctl$SNDRV_PCM_IOCTL_PAUSE(r5, 0x40044145, &(0x7f00000003c0)=0x8) lsetxattr(&(0x7f0000000100)='\xe9\x1fq\x89Y\x1e\x923aK\x00', &(0x7f00000001c0)=@known='system.posix_acl_access\x00', &(0x7f0000000340)='#\\-\x00', 0x4, 0x1) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000004c0)=ANY=[@ANYBLOB="380000002400ffffff7f00000000400000000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000008c0)=@newtfilter={0x88, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xffff}}, [@filter_kind_options=@f_rsvp6={{0xa, 0x1, 'rsvp6\x00'}, {0x58, 0x2, [@TCA_RSVP_DST={0x14, 0x2, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, @TCA_RSVP_POLICE={0x40, 0x5, [@TCA_POLICE_TBF={0x3c, 0x1, {0x9}}]}]}}]}, 0x88}}, 0x0) r6 = socket(0x1000000010, 0x80002, 0x0) sendmmsg$alg(r6, &(0x7f0000000200), 0x10efe10675dec16, 0x0) 06:52:29 executing program 5: dup(0xffffffffffffffff) r0 = syz_mount_image$vfat(0x0, 0x0, 0xffffffff80000001, 0x0, &(0x7f0000000080), 0x0, &(0x7f0000000140)=ANY=[]) pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000540)=ANY=[@ANYBLOB="28000000100001080000000000005c5400000000", @ANYRES32=0x0, @ANYBLOB="000000a0ebfaf00008001b"], 0x28}}, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f0000000100)='./file0\x00', 0x0, 0x2001001, 0x0) perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 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, @perf_bp={&(0x7f0000000240)}}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) pivot_root(&(0x7f0000000340)='./file0\x00', &(0x7f0000000080)='./file0\x00') r3 = socket$nl_route(0x10, 0x3, 0x0) getrusage(0x1, 0x0) r4 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r4, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r4, 0x0) r5 = dup3(r4, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r5, 0x541a, &(0x7f0000000000)=0x2) ioctl$SNDCTL_DSP_SYNC(r5, 0x5001, 0x0) sendmsg$nl_route(r3, &(0x7f0000000140)={0x0, 0xfffffef2, &(0x7f00000001c0)={&(0x7f0000000040)=ANY=[@ANYBLOB="300000001000010800"/20, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00\x00\x00\x00\x00\b\x00\n\x00', @ANYRES32=0x0, @ANYBLOB="695d04179ad099080000000000000008001b0000000000"], 0x30}}, 0x0) sendto$unix(0xffffffffffffffff, &(0x7f00000002c0), 0x0, 0x0, 0x0, 0x0) 06:52:29 executing program 2: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$HCIINQUIRY(r0, 0x800448f0, &(0x7f0000000000)={0x0, 0x0, '\"f\f', 0xde}) socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) ioctl$UI_DEV_DESTROY(r2, 0x5502) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r0, 0x89f0, &(0x7f0000000100)={'syztnl0\x00', &(0x7f0000000040)={'syztnl1\x00', 0x0, 0x8, 0x80, 0x2, 0x2, {{0x1b, 0x4, 0x3, 0x6, 0x6c, 0x65, 0x0, 0x1, 0x4, 0x0, @multicast1, @multicast2, {[@generic={0x88, 0x8, "7b7c19cd3ca5"}, @cipso={0x86, 0xb, 0x1, [{0x2, 0x5, 'E5B'}]}, @generic={0x7, 0x11, "aa806f195f35d024dcbb24eb380892"}, @timestamp_addr={0x44, 0x14, 0xdc, 0x1, 0x6, [{@multicast1, 0x3}, {@loopback, 0x3}]}, @timestamp={0x44, 0x20, 0xaf, 0x0, 0xe, [0x2, 0x1, 0x3, 0xffffffff, 0x2, 0x3ff, 0x4]}]}}}}}) setsockopt$RDS_GET_MR_FOR_DEST(r2, 0x114, 0x7, &(0x7f0000000200)={@xdp={0x2c, 0x0, r3, 0x1b}, {&(0x7f0000000140)=""/84, 0x54}, &(0x7f00000001c0), 0x2a}, 0xa0) unshare(0x40000000) [ 270.236904] FAT-fs (loop3): Unrecognized mount option "nodotsõ" or missing value [ 270.273575] 9pnet_virtio: no channels available for device syz 06:52:29 executing program 3: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f0000000000)=0x65b043c4, 0x4) bind$inet(r0, &(0x7f0000000440)={0x2, 0x4e23, @broadcast}, 0x10) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000480)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe8}]}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) sendmmsg(r0, &(0x7f0000009a00)=[{{0x0, 0x0, &(0x7f00000008c0)=[{&(0x7f00000023c0)="af7242c4d14b71149c9767ba870674a0d439891bb4dceecf8529cc472092664121ab932b004c68abdbd985f948decbe24987ef28024ed3bc6587c9ffd2be3b8dedfc22e3e1eb72055198a8d4c3d9a2260a3203d43294cc34b3a256c3152783d1526e399ffb9ac8d83e0157e0776fa6b1255e86c35e6b1b57a05c05923bf75efade335ad5ade30bb1477ff1eb83190d7b9adbc92cb6544f6f545960d3477b578fa095d7b2639ffea179fa8471989c6c358126a536d66153af2c1a00ed11d1bb78c5b1e70c44b675a7382fbf7ae24d665b388867de9451c85a7415fd80d0aa39c251ca6e045620522966e59989ea3130a52be388c7c0f90165e1db9d29d80393fa3e93d041fdf6736bea0180e29416d56613284423683daa3ebd114b9bc88c43088281e4172ce3d1599defc7e1f96f8a7673301ff2d999867e416d67120912c407df401b1da2c04c8823ada0635f9dc7c0fbeb1871b14226b6216fdfd6f0c1493cc54965a48fde640ff5993f71a73f3945cc525e2e170418a055b4868302839dd4194b660896db0476d7e1b4c33f6f7d08ece8e639cf0d26fa5cfee1145e3eec6d0c7f642de5781d4ab9bebcd1973277d0eea7853e2fce57a4640c7a58564acc0ec38d1f12282ba71c48ae90fccd027702718a86db036f66dcea168fbc5adba85132a85e9179e70cf31760ab926ea1ac1006a7cc968ce3e62f15b62869195e42b31d8959a78facca6cbbd28f1afb4f3977829e5fa97cd813ec7cf8a36a212e6a9557cb5ab3b321fb031b8c5368a23dc3bfb12e0ef7a0431ea909e65784cd9afd77216270f1b51de9eb70d5a5c62cee1f6d69e17467c48940b8fac6ffe2df36a076323db0e9bc2357c24d882a66dd64611d754f651a807dadea38c1e160040d815bf1607d5f7a80b0f379daadcf61cd65e65b0973695669986afda1e186817afd6a040ecbc8244212779305d3a5ed0064f69f105396c2b1acd0ed1082d2f91b03ca3e284681d8f8a795a5bbecf1c8fcfcf16d4a517d7d448248784d41ccf42bfd5535cb6034bf0f20ad5cdb0213d66857422cfbd514e6c856604d7733f20ec6304da6dd592fa9c0dbac8b0a9b1b068593c3dac3bf2f08e25bf687bcbfa0ecb6c7ff2969aaa460f2804b1c3b7385b78889a31ebfaaee057c7b6f18190c2313db00148a20336417f26c858fa36f41b6fd3f285aa92930ebb682cbc60eff7dc9c0e95d013a22725d38f42bb97aa893f9b49db39f77611927676114d39923f2f3206ce49f5a6691fe52d74bdaffa3dacf8e83f48c115357f800fff161e1edb7e126d445267726f2bb179e054124493bf8561c807d0a4bf934e772dbc366363d2a4005b4e37526c1a26a2c8229113261d01d9d565e85f098fc492c3fee7565d1163dd352e85982ba5a2a2d11803b7134ea3d1c043042e5097cac3def6051c3d563c29129ba8c0313101f0a49cb2586971ff52b1c89", 0x411}], 0x1}}], 0x1, 0x0) close(r0) [ 270.305874] audit: type=1804 audit(1609743149.005:44): pid=13089 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.1" name="/root/syzkaller-testdir602702089/syzkaller.HQAjEK/23/file0/file0" dev="sda1" ino=16019 res=1 [ 270.372560] audit: type=1804 audit(1609743149.005:45): pid=13035 uid=0 auid=0 ses=4 op="invalid_pcr" cause="ToMToU" comm="syz-executor.1" name="/root/syzkaller-testdir602702089/syzkaller.HQAjEK/23/file0/file0" dev="sda1" ino=16019 res=1 [ 270.416167] bridge0: port 2(bridge_slave_1) entered disabled state [ 270.422993] bridge0: port 1(bridge_slave_0) entered disabled state 06:52:29 executing program 3: r0 = socket$inet(0x10, 0x2000000003, 0x0) sendmsg(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000009ff0)=[{&(0x7f0000000140)="240000002e0007031dfffd946fa2830020200a0009000000001d85680c1ba3a20400ff7e280000005e00ffffba16a0aa1c0009b3ebea8653b1cc7e63975c0ac47b6268e3966cf055d90f15a3", 0x4c}], 0x1}, 0x0) perf_event_open(&(0x7f0000000100)={0x0, 0x70, 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, @perf_config_ext, 0x11011, 0x0, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x0) recvmmsg(r0, &(0x7f0000002340)=[{{&(0x7f0000000080)=@l2tp6={0xa, 0x0, 0x0, @mcast1}, 0x80, &(0x7f0000000580)=[{&(0x7f00000001c0)=""/229, 0xe5}, {&(0x7f00000002c0)=""/71, 0x47}, {&(0x7f0000000340)=""/133, 0x85}, {&(0x7f0000000400)=""/181, 0xb5}, {&(0x7f00000004c0)=""/185, 0xb9}], 0x5, &(0x7f0000000600)=""/90, 0x5a}, 0x1}, {{&(0x7f0000000680)=@phonet, 0x80, &(0x7f00000018c0)=[{&(0x7f0000000700)=""/215, 0xd7}, {&(0x7f0000000800)=""/4096, 0x1000}, {&(0x7f0000001800)=""/175, 0xaf}, {&(0x7f0000000000)=""/17, 0x11}], 0x4, &(0x7f0000001900)=""/143, 0x8f}, 0xd5}, {{&(0x7f00000019c0)=@hci, 0x80, &(0x7f0000001d40)=[{&(0x7f0000001a40)=""/135, 0x87}, {&(0x7f0000001b00)=""/212, 0xd4}, {&(0x7f0000001c00)=""/77, 0x4d}, {&(0x7f0000001c80)=""/123, 0x7b}, {&(0x7f0000001d00)=""/47, 0x2f}], 0x5, &(0x7f0000001dc0)=""/91, 0x5b}, 0x1}, {{&(0x7f0000001e40)=@pppoe={0x18, 0x0, {0x0, @broadcast}}, 0x80, &(0x7f00000021c0)=[{&(0x7f0000001ec0)=""/163, 0xa3}, {&(0x7f0000001f80)=""/121, 0x79}, {&(0x7f0000002000)=""/74, 0x4a}, {&(0x7f0000002080)=""/49, 0x31}, {&(0x7f00000020c0)=""/22, 0x16}, {&(0x7f0000002100)=""/137, 0x89}], 0x6, &(0x7f0000002240)=""/219, 0xdb}, 0xe1e0}], 0x4, 0x0, 0x0) 06:52:29 executing program 0: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) sendmmsg$inet6(r0, &(0x7f0000000080)=[{{&(0x7f0000000380)={0xa, 0x0, 0x0, @private1, 0x4}, 0x1c, 0x0}}], 0x1, 0x0) r1 = syz_genetlink_get_family_id$tipc2(&(0x7f0000000040)='TIPCv2\x00') sendmsg$TIPC_NL_BEARER_SET(0xffffffffffffffff, &(0x7f0000000280)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f00000000c0)={&(0x7f00000002c0)=ANY=[@ANYBLOB='|\x00\x00\x00', @ANYRES16=r1, @ANYBLOB="00012bbd7000ffdbdf25050000002400028004000400080001ff7f0000000800020066f0ffff080001000700000004000400440002803c0003800800010001000000080002000300000008000200810000000800010053b3000008000100030000000800020001000000080002000300000004000400b5f6e387e06a30f8ee467a768b0317dd21d775e8a2cffa5fb3ce9846e8336dcc393c7d79295ac18d41f840e2ffa7d43e8efe51a55df86484"], 0x7c}, 0x1, 0x0, 0x0, 0x4048000}, 0x4000) 06:52:29 executing program 0: r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000100)='dctcp\x00', 0x6) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x220007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) r1 = socket$can_raw(0x1d, 0x3, 0x1) recvmmsg(r1, &(0x7f0000000000), 0x0, 0x100, 0x0) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600), 0x4) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b967483641ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x170) r2 = accept4$inet6(0xffffffffffffffff, 0x0, &(0x7f0000000000), 0xc0800) fcntl$F_GET_RW_HINT(r2, 0x40b, &(0x7f0000000040)) [ 270.588005] batman_adv: batadv0: Interface deactivated: batadv_slave_0 [ 270.604832] batman_adv: batadv0: Interface deactivated: batadv_slave_1 [ 270.651438] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.1'. [ 270.691169] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.5'. [ 270.709893] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.1'. [ 270.717658] IPVS: ftp: loaded support on port[0] = 21 [ 270.773043] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.5'. 06:52:30 executing program 4: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) setsockopt$inet_tcp_TLS_RX(0xffffffffffffffff, 0x6, 0x2, &(0x7f0000000240)=@gcm_256={{0x303}, "d64613875ae7bf28", "fb369b3bac770a9f9851a060a4915b998bada96cc3bedb059a1666b151815bbf", "d5a7d01f", "adb040ad1c9acd51"}, 0x38) ioctl$TCSETSF2(0xffffffffffffffff, 0x402c542d, &(0x7f00000000c0)={0xc, 0xfffffff8, 0xff, 0x1, 0x58, "4c2ea11712ecc8d68199ebb8e262b4022d487d", 0x9, 0x8}) exit_group(0x0) bind$inet(0xffffffffffffffff, 0x0, 0x0) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x20000000, &(0x7f0000000100)={0x2, 0x4e21, @loopback}, 0x10) r0 = gettid() perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, @perf_bp={&(0x7f00000002c0), 0xa}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$sock_FIOSETOWN(0xffffffffffffffff, 0x8901, &(0x7f0000000080)=r0) unshare(0x2a000400) mkdir(&(0x7f0000000380)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000040)='cgroup2\x00', 0x0, 0x0) r1 = open(&(0x7f0000000200)='./file0\x00', 0x0, 0x0) r2 = openat$cgroup_procs(r1, &(0x7f0000000180)='cgroup.threads\x00', 0x2, 0x0) writev(r2, &(0x7f00000006c0)=[{&(0x7f0000000000)='0', 0x1}, {&(0x7f0000000280)='0', 0x1}], 0xa) madvise(&(0x7f000079c000/0x800000)=nil, 0x800000, 0xc) socket$inet(0x2, 0x0, 0x0) socketpair(0x5, 0x2, 0x8, &(0x7f00000001c0)) 06:52:30 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r1, 0x0) sendto$inet6(r0, 0x0, 0x0, 0x8065, &(0x7f0000000280)={0xa, 0x100000004e22, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x152) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, '\x00', '\x00', "20040100"}, 0x28) mmap(&(0x7f00000be000/0x3000)=nil, 0x3000, 0x0, 0x10, 0xffffffffffffffff, 0x0) sendto$inet6(r0, &(0x7f00000005c0), 0xe0ffffff, 0x0, 0x0, 0xd8) 06:52:30 executing program 1: syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', 0x0, 0x8, 0x0, 0x0, 0x0, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) r0 = getuid() mount$9p_virtio(&(0x7f0000000100)='syz\x00', &(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)='9p\x00', 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB='trans=virtio,nodevmap,fscache,afid=0x0000000000000001,privport,privport,version=9p2000,mmap,debug=0x0000000000000009,cache=fscache,cache=mmap,pcr=00000000000000000048,eui', @ANYRESDEC=r0, @ANYBLOB=',subj_role=vfat\x00', @ANYRESDEC=0xee00, @ANYBLOB="2c7375626a5f747970653d76666174002c726f6f74636f6e746578743d73746166665f752c736d61636b6673726f6f743d162c6673636f6e746578743d757365725f552c6673757569643d62616262633665332d383664352d316339362d366166652d65366530"]) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$inet6_icmp_raw(0xa, 0x3, 0x3a) bind$packet(0xffffffffffffffff, &(0x7f0000000640)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @link_local}, 0x14) pivot_root(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)='./file0\x00') r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r1, 0x8982, &(0x7f0000000380)={0x1, 'vlan0\x00'}) sendmsg$IPSET_CMD_SAVE(0xffffffffffffffff, 0x0, 0x10040000) modify_ldt$read_default(0x2, &(0x7f00000003c0)=""/209, 0xd1) 06:52:30 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=ANY=[@ANYBLOB="44010000100013070000000000000000ffffffff0000000000000000000000007f00000100"/64, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="200100000000000000000000000000000000000032000000ff02100000000000000000000700000100000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000053001200726e63343130362867636d28616573292900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003800000000000000e570a1553d33aa00a0e61872b96f65e77c9741e98129e4b57f7c36250f90fae2e2fbbed4f3b5229f"], 0x144}}, 0x0) ioctl$TIOCL_SETSEL(0xffffffffffffffff, 0x541c, 0x0) write$P9_ROPEN(0xffffffffffffffff, &(0x7f0000000240)={0x18, 0x71, 0x1, {{0x0, 0x3, 0x5}, 0x9}}, 0x18) ioctl$KDSETKEYCODE(0xffffffffffffffff, 0x4b4d, &(0x7f0000000080)={0x3ff, 0x1}) 06:52:30 executing program 5: ioctl$TIOCGSID(0xffffffffffffffff, 0x5429, &(0x7f0000000140)) socket$inet_udplite(0x2, 0x2, 0x88) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$usbfs(&(0x7f0000000180)='/dev/bus/usb/00#/00#\x00', 0x77, 0x1) ioctl$USBDEVFS_IOCTL(r0, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect) ioctl$USBDEVFS_SUBMITURB(r0, 0x8038550a, &(0x7f00000000c0)=@urb_type_bulk={0x3, {}, 0x4, 0x20, &(0x7f00000002c0)="18f357cae563ba651024d903493079228c560fb06bb39726e9027bae894d491cb833528699443f79189460a389983c5234fb0abde59aa2a35784ed3c12e939f878658079ea8d424ab4f14213cca94b19bfd67afb86d6fede2cb00c397863b2194f012c5e903e114af07b8d7492d28daf4d7d36e144b6d88c550308c7b3fb03ad9d7552189abbf9e41e485f6667d0893b15589a0a9c9f598dc1665e151644afb3277901a66911659f66d588ca46110f1c3d3d322172bdd04ef2cb8f6579a38a47cfc98482e4cbd66b3c1c7634131cca0da67b13d2ea721e48b98ffa4315f5d40305f0f3f8ac715738ec6812be6c44fcebdfd8610d8d27917f1fa86894226aebd091242b376bf12bf1ddfdce43df9e25248607f2412395ea57271cc34be19a5f47ea4a0a0f6e23c9ce3374c72603d22f8cb93711a4e656422bb11e40a691cc475e4bef75d1e6b54a7af63c2dff37142e3d5240071951ee701647e5ae3da815b9fe601253376d7a15cbbe271c76ed1a88ca1251023bcbf461a86b8ffc7723af562940b25789c94e3a3db8807d42dc798a3aedbe1f5489e4a9ec86f6dd73c849b4764f750e70fbd7ca08b2fe799ed0f50373a1191ba29c518f66d570905842042043fd0bb3843a9822cd9c6e827fa72a3e458b8e00b452b062a78a778857ad362651d011449d3d9d177baf04e10a85a2b6af3f7f316b8c8dece48b6e0452536172e5f0aa613eb4acdae69d18e2ead50e90a64cb8cfe0b5f918d99edd0e89142d4349ecbbc91c5bebaa334b4aa33eca89ad9f3f4459371f4e9fdfb815a3ca335396ab3f7097a9924bec904c3f68cf1cfa5cb4c0aa7bf2bfe695ef0e147187823d494730aa0bec7d0b54813b21e8f86d2137465470c3bfea05a1ffcd39d5a6c3373641fd65d79b800b6d793ccb3385105f028a244a703d236cf192c2a5bd8f2c1671029f6e3709e2cb2e5edec909aa1d1363734dc9709547f9b5f6b8bf38f101830f5375cd78ace0ad9c80e262e5222bcfb46ec034edf73b122477d0a535357baad8dbbadda79b704c9481f0eadeef2837713caa6b1be03c962bd8e20e1af84f3456de2841269a7df12d52ba14384b63627eaf2222ccd3fc85fbccb12c7d5c8e60565f70d13ab4ab8c6554f5141222a6de3beac4ff8db48f7a3364c2468db9349f8cb38f323c05a977878c47cad40f0f303f7583a07e25d124cb0c38b5d38b3907cbeed9ece1e6e4ebd872ecdd585126a861d04e22eb2e8168637b9dff6dc992cd6921905f8031e2b4d4d4739560d979f3c3ef780f0abdf2c2361f977d71c45158be4d7a9a1c57f26de6e8ceefa5f4a45a53c443a78889f852e275438c06b2bfd611c386a001de0f5dc4731dd535250b8a4d22a5780844a04155070fdeda08d281f8f42118bdb6467550dcf84ee812ae05e5c59ada32307f19381b77cd5da639dcaec0b1b9db17b7079eded75badeaee53a8f7f744e3c2ec0c5802c34a6d7a5084a67cbad5a7066b1e52983b33ac2587cda5e1ee70858d640e33efcc7e6cc058cc300bfb099dca51a6f6e368a450135bea4fcb33c19ec892955b13fa4c1c287181152f20e5df32d1ac0a68241b9fa999caae18a6a9cd97e0fcc47650fa666c7e69f14e8b183f471a2c9baec6413e3853406da866e9979f8082938dea1660932c0f9e026010b99c09df53835e004c8ebfae0d7ff8f58cdb3d885df4fd40772731eda1846e4e9305954cd41d972b8474d3f61c6634495fece4b15d92adf37bf95c41cb4b877c14894f0eba92d34363eb68d40c1d3f9156e12238081382b5dd142820088534d2e414fcad7817e481777aba9c4ffb8a224e23106dfe579e0f4caf6efda71ec470f0c370888c3a65a86d984a05f266b0a8cde2199096233d716927d05fa85fbe950cf5daf99023d9aa6d94f8c908da7717eada607d7ed8f2829ca047b1c9770c595c1bbac0e815273397808aef313752ecb8dcb7cd78bc94a2772e09ef2a1ee9e15d79234550ba8b631d0c4ab953b64d18cccec14d905ef454fa72d7dff3fddba3ee4017080eda57bf266fc36c8521a2de358bc0d4eb8b38328b86968a9ce66bdadc70c616fa49d155919dcf93bdf0a75a7c156ef8c8711d04f516413c18adc5b47b42a0b985d0280dcdf4ec2030435a913a064b862d520f4507b543262186b75be8494f0921d70327a9816f7ce44b2dbc5bdc67df23bba3eb333651cc60d59b8c015d80d5e01c2dd4355839bb1f4c96cdb49105c6909c1840b13f1943fa137f6e5f13586a6c8f712583172db524433af1c68b0f121507f13751a770a68aba93522ea2e1ff5b56349f6d8bf3efa9c0bcf01b482812c3ab6094ade804306ceb0df9f224fb0a65b3f041c7fefbafd1188f6f6fc28757351c38f72475d97bc54fbfeae31e75b831f9024567565d26ab26be7a6b81d6721b092674e797f1d99ba50782110737cb3c10a6d8db245045a343903872bd6c8b8c4b4438c11007c1e14908e6a196420aa68fb35b3c4856aee57e965c54fbc4334670e789a0fa048b229153142e43e69f098b525bd3c66350a51a7c433726d1acfd1e177a4fdb6f10005399c1c1f0293bfcbbe7275f072d6d32941efb78e50fde678d0fa8cd92990406a7c9ab56039fc05863df7c2c1a13266039a5d54f824c607def444f3aac38353b58151e05c339872af98868b20b43c0a115dde2763e0fdf57f965804edb889b0e6d30adb38cd1b44d2954cd2df8edf7971c94dadb0bb5912ea3245968975da40f8fad9b6449bc177b0fc7a68c1c3fe2553c66a9c4439bf390237c9fe5af08269eb8801a962641be88433cbef472872211ee91bf5ec9d4af87d1b21e06e5147a638c25edb19603bd4517af61450cca5b772f61d4b563e4d2689be4aecd14284aacc021859d6b03d30e9d2f0ef8646689acc56f899fef18d12b41bedde26a51003711f458b4fd3dccf5cf74a9181f6e2d00a7ae16d730e8f2ad19bfdc3ea044451bf8499a3d189e95ae909add9dbab2ca48613903b2a289cc1267a9e7326f4035ac17948e1e9f8b6d378116eed1a9281d80681570fb6da25d42cde4bc9f03d8a4963da1de40f614effb84ce9bd88797a8e7a43be43eb95261516669060d463be70b168af3ee33752221a0c8a771954d82e749807427745cd11f6c47184dfcc3ca9de98f944ba643f74ac4c2e92ad99fb1e65ba89c63be39046ae8d8eaa6f9a2f30e1ee784e459d43a6377127a1c0294e593f3fc94b039ed38da7e0fd3d61e888faa371944f22a1b15cc6be04b052a3bd3716b3b8d0774de1fdd351216a5ea3d022eb3478190d6ba55e1d21a9a0232aff444c74a66162189c9173a0736b920e05076098e4fad193a8e816074fc25954f29c4b1559d96024be40596193bd7a145d55b9c7567479841935865c37dad96c0e64f285bccb5ef4b898c4efc66ca41b929711a29d76024a89e182af544c3cc710a38b5381ac34fd47b7d0b2d9b2d728c9d4fb05091e8de79aac531e29520216c9b20b1ecda753b93f31165ef0354a9cb89dbfc67863761fb86caa8d5f92491bd65df7acb05d35b869af1af4511c5b374ad1f17085c283473862dbfb605e294f13a0fa2f9c3909aeb02dd87d17b1279a6a375418f61de6c516848a2249bef1501ddcc11e0de888e1eac39480ac5fb0d50da8cf185d1b34833666219f306882d0d4ef0c073a54a6586422794f0217f17ad138169b5fcfc19dfcee1c69b4d43837b577fd8dd43b391eca22a650f42114edffbeae537f20899d5598234a412a03d2bf29acb2514575f696cd41742a6e7ff96f8f7448110c9f2bb415901f81585386ebad01f300007491655b8d80733e407128c03814f763262e4830c18e8cb56df3cd4ff88b4023372ab8c126e181505605619b3b5400a7900a9cb742854c1ac7cc64bf1f06c63f3d9bf3e54af6474fdfc3553a281580cfce74a821ebf4a1e995c5b5c525afc46157a95c4ed97c5c44c1d7bfc519a95e8f705bc0ca2a62f421160fb8dedf6b5b6d53a3d70d58fbb7198b3e09ec75ca62c84cb856871fc31359f9abf3735348ee98fed4d", 0xb35, 0x1, 0x3, 0x400, 0xffff, 0x4, &(0x7f0000000040)="44828beef986d8fbfae6fde348aca1b5e9d4bf16646146f5198becb03900f972"}) pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$BLKDISCARD(r1, 0x1277, &(0x7f00000001c0)) ioctl$sock_SIOCSPGRP(r1, 0x8902, &(0x7f0000000100)) r3 = socket$inet6(0xa, 0x800000000000002, 0x0) sendto$inet(r1, &(0x7f0000000240)="cb520c04cfbc21dd01334b5187d41eb1cf6e897cd62135f579a01539312b970816390494a12cd3757ffffae760940abca4090096eb3b342b9017850bcf6c8619f9eea97f33", 0x45, 0x80, &(0x7f0000000000)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_linger(r3, 0x1, 0x3c, &(0x7f0000000180)={0x200000000000001}, 0x8) sendmmsg(0xffffffffffffffff, &(0x7f0000005c00)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x18}}], 0x1, 0x0) sendmmsg(r3, &(0x7f0000004d80)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffe0}}], 0x1, 0x4000000) ioctl$SNDRV_PCM_IOCTL_HW_REFINE(0xffffffffffffffff, 0xc2604110, &(0x7f00000012c0)={0x4, [[0x0, 0x0, 0xe456, 0x8, 0x66, 0x4, 0x2, 0x7], [0x80000001, 0x4, 0x5, 0x0, 0x100, 0x0, 0x4], [0x2, 0x3, 0x3, 0x0, 0x1, 0x1]], [], [{0x1}, {0x0, 0x0, 0x1}, {0x400, 0xc5, 0x0, 0x1}, {0x3, 0x5, 0x1, 0x1, 0x1, 0x1}, {0x6, 0x6, 0x0, 0x0, 0x1}, {0x29, 0x3, 0x0, 0x1, 0x1}, {0x1f, 0x7fff, 0x1, 0x1, 0x1, 0x1}, {0xfffff958, 0x7fff}, {0x9, 0x7, 0x0, 0x0, 0x1, 0x1}, {0x0, 0x80000001, 0x0, 0x0, 0x0, 0x1}, {0x2, 0x8, 0x0, 0x0, 0x1}, {0x3ff8, 0xffff, 0x0, 0x0, 0x1}]}) r4 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$MON_IOCQ_RING_SIZE(r2, 0x9205) bind$inet6(r4, &(0x7f0000000200)={0xa, 0x4e24, 0x467, @empty}, 0x1c) [ 271.241424] 9pnet_virtio: no channels available for device syz 06:52:30 executing program 3: syz_open_dev$tty1(0xc, 0x4, 0x1) openat$vcs(0xffffffffffffff9c, &(0x7f0000000140)='/dev/vcs\x00', 0x8000, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x8, 0x0, 0x0, 0x0, 0x41c1, 0x40100, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0xfffffffffffffffa, 0x0, 0x101}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) timer_settime(0x0, 0x0, &(0x7f0000000240)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) r1 = open(&(0x7f0000000280)='./file0\x00', 0x3fc, 0x0) flock(r1, 0x1) r2 = open(&(0x7f0000000040)='./file0\x00', 0x101000, 0x0) flock(r2, 0x2) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000100)='/dev/fuse\x00', 0x2, 0x0) dup2(r3, r2) 06:52:30 executing program 2: perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = gettid() ptrace$setopts(0x4206, r0, 0x0, 0x0) tkill(r0, 0x40) r1 = syz_open_procfs(r0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') ioctl$SOUND_PCM_READ_BITS(r1, 0x80045005, &(0x7f00000000c0)) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 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, @perf_bp={0x0, 0x8}, 0x1496d, 0x0, 0x101, 0x4}, 0x0, 0xff7fffffffffffff, 0xffffffffffffffff, 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000080)='./cgroup/syz1\x00', 0x1ff) r2 = syz_open_dev$loop(&(0x7f00000001c0)='/dev/loop#\x00', 0x75f, 0x103382) r3 = memfd_create(&(0x7f0000000240)='.^\xc5', 0x0) pwritev(r3, &(0x7f0000000000)=[{&(0x7f0000000900)="373128d334e947d4c641f0f250d8916beb936d06af12771157664e64515d73f1ebe3f38729ed1d8ba2c927bb75c07ce04cbd02762b341a852fcbfb93eab2ddbd6d6cf5e960a90b0d694485acac295b13b5c8cf5153f379c0cb9ad265e26127f1669af02b036157a118f763729249af6c7b0717d598ff0edfb0c3c2c5340dec14f81f0fe7", 0x84}, {&(0x7f0000000600)="38f311706859a344740f346e8c1e52aa7aac3c990353f121e19164feebb1a6a9915b9cfb0b969631613549bbef0bf7996d2897b32709615de8fcd2c541d68868080bfec985693533cb66bca129a3c7", 0x4f}, {&(0x7f0000000a80)="46bc72f401b8d3e135b754a6bac25e182d162bb17e68c67455186c022e97049f9db12adfedf815ff00cee85e70c9533fbe956ee17e5f6fc4185c52f9c38dec70e9fd996a2a80e0e118e70ed8d7dde30584311dac3d0acec7a4e5daff9c32932c2a5c1ed3cebbcd31f79a9d49e43d9ca588d1e74cbaeebc63658336fd1165e8ea41c3143b1db84a22715fc44f75bf6aa3e7e36de868f990c044a023382a7a88792547da53c8a3fa", 0xa7}, {&(0x7f0000000bc0)="5bbf0ea86c09ece8a2382507de5231a53267bead96e39d1e75efc240d1d7ed639ebc969276e9fd0cbcc2bc55adb5d964825ee1c8edcf5d4498613215bc019096f0dc", 0x42}], 0x4, 0x81805, 0x0) ioctl$LOOP_CHANGE_FD(r2, 0x4c00, r3) dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmmsg$nfc_llcp(0xffffffffffffffff, &(0x7f0000002640)=[{&(0x7f0000000280)={0x27, 0x0, 0x0, 0x3, 0x55, 0x0, "92dd0fce2247a04ddd7f85e0847424f101fc3575444d19cf4b739283b87db6939264ae6c4be40e5970994492045dad7fc0b8f4027764ce02600492759e80e9", 0x3}, 0x60, &(0x7f0000000880)=[{&(0x7f0000000300)="ce1bb1c8fda7c9f65294e52ae96a07a5196ddbdf07e9b1c9b962f65edcf4adcf952a3d3e848d3b5909490b76f2ac1cc6aac845338ab42a9a04f79065905eb096243631461f9ea4702442650b3cbcb67de91e13c89ba80f4d6a7c18e44dd9a52f2214b0224cf66322f067c9ac0ff0320243235b53d40524706106835e3b4f4eab0c543cbdc89ddd0930f00a1abc281caac217d700273af3b821c22e1159d4c3af7aa92efbc6cec69d049e827a8a6ebd8a16e8d63928f808bff05fa50f3c6b3f2e96a288ff5f54010cd489a1a5f330e4f3d40f833dd4251dbb7f8c1637b578f9724eadbb719d3ecaaacdc136bbb110e2f968f749c70388b843", 0xf8}, {&(0x7f0000000580)="f6fc0f2d1d3426307ce3f2452e4e1f0de959c4a9d2ca7c3bbf3920c8f304a0d81c01af1403f358858ac085209240ee9bfad5b9a786407b2028eb61936a112d38e062010e59deb43a65d1135d", 0x4c}, {&(0x7f0000000200)="87292398eb72e5b5e8b4f62493", 0xd}, {&(0x7f0000000400)}, {&(0x7f0000000440)="2ef3674fe63792e2dbf2b107e3b902f8f3623ecfb2f58c23045f2988e1adb7748865d0a8371b67aa9fc3a66465669580a7b3975ed341e1b282c35af2c16875ee6cea68dfa42d46ee6d3dbc6e950d411e7024909432cd80aaec17ee", 0x5b}, {&(0x7f0000000680)="774e480b94194babe4edfbe1e1df640acedf2f99e5f576acdac7ef1c44db56faa3ed7b67a670374656d92c4a659ef19d95e2659672f079c49390645db4a6f0aa844a4d22c41373d8b17385b84af472e1421300d95e70561b0f22d4067fb83097d8811f7c12", 0x65}, {&(0x7f0000000780)="52e83cc0f50e27698912076c78a2ff77a0f9abe129ce2cb1129cad191b50f15f5891c958db18048712207dc39087424adf6f8eac81d33bc091c13cf0b4ed314eb230212375eb1b84f9a84e69e2022ca4bf047b30094d36027f2d9fbb1ecb2ef025e54c3aef12d48d334e043de4c8bbaf2455c63a90e41ed78d6ae46ab1e2175bfe95f117945f1a4d", 0x88}], 0x7, &(0x7f0000000cc0)=ANY=[@ANYBLOB="f00000000000000010010000001000006b9ab31155a791525c7447c48a7ec98e394554d19c83032dd67296bd99acf5803a20c83b3f2f84b310763805ae0485a8d101e66c3ae6f41500000000c8dee2d28e3d984e90e52d520e3966f1b18f72703848f5ca254b626581fb618cbe7e681598a9dc8d161de9cff4480d1af38e28f7456d525854c14a55bbd3894afc831631b09be825a3b61b00cf52b414554e4422b1e79b8bb77a0a36c9364d785e2602c9d4bf8e1fbec33f881b72ed9143fda7494260bbdc4946922c0d8dba94f54f7e93a47f9c44133865d133b513dba253917a5e42f15b63cfffb90000d4d347aba90d0486699c8d63dd2f30307740cc6e50d023be68638bd447ff83722f21433d02a79d559b7f8b9f5b4d35ed7074b7170265ac5793dc8cd4ba0c91e90b6c7c760dd9f8a2f26c3f00c0c1d3ec00"/328], 0xf0, 0x1004}, {&(0x7f0000000a00)={0x27, 0x1, 0x1, 0x6, 0x1, 0x7, "80e12ad93d27167ea04fb27d636737a552c6567ea16c2d15e7b858830adaaeb464b46c5474bdef27da12b79f85e6b3703189813ace7f9621cdfcbbec14ba9a", 0x31}, 0x60, &(0x7f00000010c0)=[{&(0x7f0000000b40)="86c1ae936e5c8adb464f50dbb9ac554e1c1686adbf3d27f2ff91b418001f2c8a670d147ec8653b8a99a3b7bfb1b9737922cd17dcf1de2ff1c7c1c2c9b33ae8229ec14dec333c8458f0e13d999dba58106eed8e2d4ede585bb50fbcf749fabfd7576fad81bccadc670f57d1ef", 0x6c}, {&(0x7f0000000f00)="3abb1aa3ebcbbcd04919476e28865e0fc28b574b3e172ff7720d6c94cb2ab68a1ec3fab8d8a0a148be6c6389b162bb6b80a69d539f5f622b4e5dd8e3b371bf7d239bed2bb0c2ec4e6d5123ba9b709f416d0c8c316adea84d8cb780db70773f25ee8c39b71f45e52c2adb3313eccc89a4dd90780ed7c78717d0f14c35ca5b59e473b4cbc91156b61d52a0e1bd9bcfa8efb728f76e90da93d737057fd25516e2744b471a05dc72cb17db694aca9f4bd6f59aa73fb79235565e11bc62ef1deaadbc47a60468", 0xc4}, {&(0x7f0000002740)="e1e533d0d7e2119e91c318662fefeb5b1b153cf0326e6bb13608cc9dc9317a1ae8f6ef8131656cd1b2c7c9b39cc8bfbb73c7c30a9800e0739f28fd14a7e84d01e01b8897d40204a4060ef6ab259a8538e568fd4050cf856e5ae287cd2dd4a6203af53b93d6cafff51d47c0ed9e80b713498e7bdf588a69359ca138fb440d62bd7b58658989621b3834d33c08ef5a48c68ceb1e7c02a794859e423cf5eaa23432e80c21256159cfe6043e4ade327bac32551527749e3e6dac6bbdc49f50e5b5aa8c9b020ef872d52a2089598fcb6644eae248aebfb48c569cd9e752c64152ce77396009eccc8d43d346d9cf7d1816425bb6589f7d85e85795f967f96c8e2c519ff946f5294b57177b6e01e7ca3c925e3efb062d0d249f850bc4120573263e98576508fdde2957754a0367aeff0587de11fe86146570f3a53ea99f2a6770325b36a570d47fcd55568d29788d7f7388b03bd03d6020f90718c0a597a4e687a106d6b210665dbfed0d6f2b11c1dff80fc98b9f53cdfdba326d925045c53502df47423d50d38a9eea972d34c596799fb392e14a0796d15ccc32e072f0eedff4ba171810a6338da48806a3472a99873402d12ba5f678b6f18c105a05c83902b6d31cf5f0c279b02600f9d92d125a183fb047e1f9ea73e5c26a32534ebc76843f8e539257346b685b242b980ae673833120fb1b03f1e0e55d43cc69c1d212879d5dfc6e85918bb26a5272fc7389df074456b46870eb922af4a7b1fcee23cdb1db93487c909ce7eaa9f34775c2ed0a740401d26f8f6a88cf34403ae9954a81b3db7752f6ed67d1df04bbca9bd850dee1faa588b94761d3c39db80313d5cf7cf563280b9120030e37030aa5aa84bdfdd4d672fd22ecef0098cb2a9e4378f8af8a107329b2828fd4fe6226031f5919f961fdc29aba09005a6c8b7f5e365631da3e62edb472fdd29f6bd4607139ee699b147a7af3fc810de6835c2af76085cff7c65bda230b20e0894f81f0822da2c5b5d7826ee665836ca1d23b8f36957a650d9e26a16ec33a5e73fd47dda266268bc566df8754e07e76b06d10efaac9da46dc5e266552e3282516423f2d2ad0a80bb045024a8f5184ac062af0d7ffddb937282fecfa01400472fa8b9dcad1d18548b299181f7d2ac43e5b9c76ff90215c15b34bc6d2780bcf9957545d781380c364c89aca1dd2094e8ce456c85c51c302d1bd6d0e4b4582ff3d8b1e1ab4337114bc99b987c16706984d1132d689166abc8a3123126eca632ae9ce2af04075a2aa26f7b411ef84273896f545f20765acbe8481699459f83f2add8028c1e10c87afe3b14dc6122885b05df39872ed2017d0924f23b68051a60ce86aa6716a99237247aef0d62466c25feede4481ee83d27267fbb7b7c9b124b557f640bdd2bc6b5b11dfac52b883b8cad12fcfca7abd1557156bba20f6a06486b10354f61693f1f473ce1061f791f7d9a1db07ce4f883098e10d67181e3f8013fe5d2c2be9b02def145068e034dbfa2a7758bcf6cf1d208efccdf1276cb1d55e2fa7b6c1a2989b08d098e46cc1ee7bfdaf7fb49829e1d453d6eb65f8c68c579ada3e4ea93a58c44ce1d802c4c2b4b66d926880c5cbb02294e26e754dcf3df7a38038ba261efed957c7fe3624e4dd5acdb2b9026a2a2a0aec2cd9d32b64e5728f0a75f901bca33dfd9d667b0e1d1240a1fea01de1c4f5e1562cd81476d2a44889bf94f6a31897a5d4ce672696b3a23d950d8136d110ad111c21d1bf63ffd6e85233ec406a850eddec6bc9f9795184ba2410c482bf1b09139d364f4199062b808b693c04303bb4ab7ef329e53414f222716d35607fed7719c1ec3a29eb8403b2d863f05df8507c2af64db990d5ff84c3ecb5d098bc617f2b93fdb3760a4ef715589d75a099983644ab5462ac797b4c304b0f9db7a66b6b72e1e52fbf4abea516a013f2bee2c3fa8ae0041ceeaf88171104a1052f25a91812fc7511c5fcc503b828671d054a979d366a477b8794cafa0236ff1cafbab7405bee0b13c5089cf0adf42406177a7dabed6fb5c6a3f1fe6e34ff73603e56527fa60ebb0b75c7539f117d2d1cbbd21436099ef0e55fd6ded93c959af16b7fb982542f06f179946116cc276337717746b2583814d5e3aee8270f7f4779de48cf32cc616dd45e527291af98a4398564cba3b9f64e841654c28bdcde7e01aff15052843ece17df6685bafe0adc13a6ca1811e9606fdc104e514762a0b6a7724c7c23ef92f105705a87233a1be3f58d6b79cddb3c72aa052e8d07c2e6886d3f1b57ae8e59160e83a219e0d3e14f6393ce395d5fe6aff590b6dcb67fb77c1bc00e6af3936ced6b340def082b0f62ce3018d6d608264cddf1fad8bf2e30812313d568b82b333739a2f346a05931deb5dd515252492c87f07f86f618ed5d74d99e405c52ffc45b1abf697d56080e3dc10a78af17cc87e6bdcf387b090ca3e6ade2868336cbeb0d65332f14d57cbcce5518897e92da1b2d3c165e72bce47ee166a19ca1519f8511e70148945bb719f4417a9aeb0d306ac8e8e37b64b233ad39c21a4a59adfae5ce63fbe9f80a149b7375a4c888f62753a5f4ae9308c3500b8b13e5b7782a2d0a322e4010253a99968cf712f75a590f5b5beb7fc2de41484adf65b5a9758c6a128cb4430b5a0e922b238c9d7bcf032d8183fc4397953b514016afe38045521e4b21d9e115ba8e8fe2a7da14118b94e9e1257e413491b3f5e1e0fa8a9298016905d9c2e840f1ee17cca522bdac0cac638095e3b21d3f76eb68ce955c49bcc5342e5c463a3e2c0db9014f32bb613be63203e04aca47818f5aaa136de7b390c1134299acba943b333273c0ebf77923b9a1126794fafe29160c7bd97d10cfc9da80e52ff245b34e1fb10985f8e01f488fc1544cb5d8ffb6c85a2a7a3297cd1a911beb753daf371a763060caf4952e81634ceacb2e39d9c235a0af8ddef55e4add252e451f890faad5eab343fc8a2b6ad16241e016dd293834b9e10f6b3fe22a27bb7d30b93ef1548ddaed8465ca804d2e82b997a309059736ec112dd37deece5441fb986362c85294462e54bd7afb912fb38d283127325c1c2f4589192690357a27dbe696d8c857cbced9d66e66035f743ddcafdff17547b4d5a039e53d145b9a067a8f1986ccfd12573bcc626395a61cace424ecfc16f5abc4361c10412655ce52206e1557ba4fad9ebc784486bd8a99e860208ba692536964b497d4c15f324fecd84b0987409e8348ea31b7ce6222130708d5ae793ccc3b7d25e224393c7147541d6f0b1f5655bfd798ec85ab46e4e71902a945752b412719160dac7a18654c4f5a4ffe5d4eaf3ef26e05a66873f025f8526b5b7dfbcc8e54cc1ae4992b7d0a567428e15e7184ef4eae228a062bef5a9183661335a3a4873a13b09eb0232e4714511c928c0210acd26087d29b06e4f6a7e7f046f66b8ca2a0d1413974f226bf3ae5bc68414d6df6b3bb3c9b1180ea45d683c66659b60a9f16ad3f8b17db90ca87ca90f3ea4b84dae0f92cd7610d17881c8a77d2b11b084f536eeaafe3a9e8c468cdbd0502b7a5848d6b103121ccba3eaf789eb04ae96d458e7fb703d61ebef39fc22208cc98816b350ad65481cd0c96cf82bcfe27c7b78aeb17808d008b285641634e10eda649853dcc589e867423a34b34673a52a1e5b06aeb05d3383c08f829b3ae63dab15f739bda0205269ed2075fb6ee49fc8765bcb9cbeb1576324e710b2845b10fcc1b7d97d9c4fa04e1bb3e5fa22a01e11539df19c9e1ba5720bd0b4507c0164a4f19d4e8040745cd31867b31df7f566c4e37b15c5f3e7c30e6e30924ec077956a1407655e3cecb65dec388001afb9992798126d8c2277c7d3ba7a5c2063d0557ae43e48c9a13090c640a12831e6e99f9828271ec0dccaac52f625984b5edd99b03b04e7ea72b65ab74d89b5290fee5375fd3d4c9168537c25747e219950f7778a1b53b1e64ed1d073693fcd04ea1147d134c560b6ff01468dc6812105f9c43ca25da0fc5b779e423a7a7d43a65504b27e2510dbc59dc99c4db4276c4b94abff4a24e846de22f8b90c3d5f058493e54f62d1ac32832afc36558edbfe0abbf768a9a0aada6eb83ba7898455579e1d7bfeddb0898a27afdfd3775290f5ccead495836d51077054e8c003c07d70dee4d35418c7733eaf6b1815e337dd5d681dddca41b8d2a1f6105a6f0210bdc5c8f488474222f944270c867f7e2e91afd29fc5a0a1669d0d5fa4d2da76c963928291972a8fc367ef73c39c32c3bac1e649fb1fa9b0a2e54d174e068b1aa260a4074fce44427a55020c0e0a058d13413810ef94032a556869006b297b7ac9c1d65e0fc682d8241cbe95df004f997001ac760428b6002ee2c4f384651217f64849d88314d5fd3752d7db0675c8d0b6b10a1f86a5202cc67de79cc8bfe657f1af1ee636a94a861e7dc0324e505aa4fb775b27b510bec779950ceff87309172eebd429da9e63e4124f5c527788345a0ef86b8c8f1c46537614564fa1884725b197444c30800ea3de73ffb7dd987c90934318abc5227e6a100120eecfcd720313add8cc4cbda630ad847f50b767bd83f931605a241585090a0c66e076bcc49b32048bc272add7044f58299b6b4a54e6477dc41e83f64c2c2d01e82fe8206f4b3b7defde3f51d49d3bb8ab310f1114e95b44af648ed5285859efb33ee8c457f1c5a342d7ca78bbab4cb2e49b7822fd35f515f23a2e654167166ce66fc67fd6903aa833835fa3c0ee273db3a1be30c8184d8e83a8a62cd500f21f3d5a91512d166a7bda19fdda2b1d6a030f5fe044d55ad613487fedae2365d9d0641f042ec3c3e4b87c4538fcf1e39cda5c0be13ef0cfa85ff1cdee0740b1851eaad3e0b9b2aed7429ec081318a7b6441e9e4194dd5fb4d1dd2e8f82fca239c154222b09694a9ff98d7ac911485501642845bdb0612f0df01a884b3b56756db77f3279c6ee141d940df7dc612e34582843416c05a24272c37d176a71831445556d88e743b5e1553b85cb8e1e81f039f5bb153380e13972898d5fdbbf9a39d7fddbebb9b6e1335a7210da3fcc6275b419e06bfc5684286836585d2ad6b2a22384a12996e52a9c699979883d148e504cef5e0b9fc0933915210e23ea3096463c36444f1b8494b7a78e195d366fa7f4f56042b3b5496de4057928cc9adf0f47085d3137a796bbf9f2cbc714836607657729866431f53b843c5813e806dfefd10d651cde0710356f717f22874e2b40488046ce9a149b99a796fe1521565b16e50e95beea2a3ffa5c79a5c04098232b5e8915c5790831b3b90114ac08cbd4fdbfef523327ccee42d31ecb33b73232799899637ca6aafc0c8f03a44dd5e9a0c665959e8d3e59f077fe5be607401f6b5bc0fb8551ea616e0cbe1686c6411db60522f04c04a8110ba012734f15522bb523a4111ef3e662358f21c77177b21b981df2167b88e7d6c89f3748b0f37f880847f798a61d57dd3b338e1445db61c8a1d750206b725c8da5b447f0f31ef118087a6901c7e955402cd2296bf285614b88f42c92f094303ffbc8893f3aa7a574269ac41336a6e8b9d7691b4a51ee69fad77d78cc468f83cb2f5e3f2ec09148e242edd145e8a038c11492b9485ab9acea1b7b4f69741b78af276dff4e549fb5fff90dec853f8abcef7795a7bead2dbe1b7a5a88fb9056b5bbf56df10589d8ff979bf3378c9412f13bbcfb3c581ee81197a73e92e98310bbb24627f9032d9056e902487daab33cced236502bd0391497c31c0d94824fa77c", 0x1000}, {&(0x7f0000001000)="acb8a3018f52650b06871991c158723bae038dd8608d822a915c91506cad5149adb5d46853144acc761b59bcf4ed790b11fac5c85ef00b1c8c4c052e049a931d88ca9a11698049921146db80a6dc6fdf27d07d53fab1b3415167dcb3a30c22602d9b7ccdc42eadfea946735b9086c32331c09797d17c27c8bd48b45f3dcde374d2b4c3da2b7e8927ca682a512f435f6874603ce37b7879892a088a38bbbc55cb3a4761b8ef1b911070afac28d1c11d0b7379772039950f4115", 0xb9}, {&(0x7f0000000c40)="3253aa70877285c2b02522dfd2b182f488aaf779aa4a1871dfde876d009da9721a02712b6dbc7ba6373dd7efbfd8b81e25574bedbef8194ee7b2ffe75612689e670ecc93c9d1917aadbaee7b97aa48c8afada784bbc064abcd645025fa59ba415eb09b46597936440b93071ac4f4d937fb69b9e04c52", 0x76}, {&(0x7f0000003740)="f3daaf6214a89716e4647766f80206e7c94ccc17119df09073a752330f90db2e20856c835d4a8491b17d815277e5cf7fb0d458536f5ac315d89b43279e132fe85c4ca01425ce5b315926fb6ce2b31620d9c31e6163650c3d79007288189025a3cd55da4836da86dfd4f8a658677f2efc83f3e38af1f2df78e88f7f372cccc3037810bea26144dc67cc8aa74aad201c95602fd3554cef9f3009bcc6bad961eebd88a39bac184105bfb80937a86adb605421cc59b2e93de2332e942b73c875279052b8275933f330ce4cc44b3c1297ce4ee0bfec6d959d258ddea3745177fe5095271477762700fd84a41a998a44996443685788b28f6cac7c1aabd79f786247dcb2d19a03480495e94191b3e379e25994543c575a1551766a4d348f48a00d9aca04d6e14f67b919e45c2c530bd711202e942b8cf39cef0cdc04ec2b84e050455d01da66b4e4c0c771672149f9fb0666433229c3bb6ee2c348ab6438f632aa11062cf64f6a66926aa7d196893d2229f9a6ec60662024b680634eb42076d6bb7ae0afc5444a67a495eb9b48bc1bb4f991f1b177ba0415bcd4632bf0bb67e145f298bc29ed1b09ab2d6d147e8e7b7eb48d6d47b06e03d66a70491e207d97e54d57d9cdaaf6613c21f99f89face72d5806543226229d7055bc4f2eb5738c4b333d1635d21d535240ccf78384e2ae7d63aaf76b807e629f81b89a87c1ec4e3a2b67843cbd557255b0186aeee4519941a1e9984b4a29072bc6629ec352e4fabfcc8ca0b933b926ac2b4b88537e0fe61d91bba54b87f6e8b973068c78be1e8146f83de847fb925e5aede4dbc774b46a5ba255bd9651b9f5a8d1cbb302a476e9bfca6585a1ee28bd76406f9a8ac23cb30f93992da53f90e61085723de4f23ca99cefe581a2b59e3c46ba84832e0d006975ba63a2ab40819b4a52bba6d87de705a2ee3e2ee3e518be0d370ee2d89275c9d1bf865cc5bda8a518116e8a66e8706a70ba4575bc221f9a4dd5c4a4542c479e517134adbcdb035e8531b9ae22e0931fa3f9883dd54e0058a1be2c3917c93a2e5e5d0c8319331772125c43cd934ff090448c5f8381953b3ff6afedb41b1b3c62fbf030a990f248841633e35b44219b9e10942aeec3ddcfbc466ed3476b1806b6242cb16abcb7fa82807e7429728ab32765f29b1e2692ff6958c95b40de2246b2cadd3c647db076bb5515a5a68684febbe0702010eaaff1fe75f2305fcc2de2be87e563aac96763ca129db7047dc3b6b6c3e930396b13448751a223b7f0ba32fa2aaee2dec45b84c80b377854d1e0c54e7e8a1043b051bbcfd746c9c228fd0d76b6195271517010df9c296b99992c11d8f482dff91c3ab45f0e4ecbdba3df8c429d1054a44bb29411e5b5ec099f9623b50a092f3faa011fb9d8de907352beb24e5f4d18a34540fe41b47f045ee8138fb832ad868845b804c80cc52315157c37a88b8d6323fe988568969db47f9622f4bab7d16ddd8440686c4625cddbfae118b8f616f86d04f67b3011f2bdf20cde9451f95142f74cda0b5cd34d7607be5539309b10f9f69ea5058eeb1153d312ca7080de22517911d332cc7b6d80848ae81e306dda186b6b03b72db4e890f3b2b118928b04962cee828e0ff55e260a727db9d4487f8e8bc1620bfe0a583e9c660f3b79e258973aca66b9efa5e0134fd9865b10e0c437a6956a4754a19309dc76afe6cd412baef45f7a2d97100bc3e65bc5df216c8da08528bd10c4d4807ca0dde08919327291f769d9fedadc6a390a06900fa97f6dabca802bac6a0c848568e139b4553c9d6c0c986e0efb88c361dcf16ded6167c90a5c45fe5d1ce97b5f99fd85e6a852c0f31f560e22d34e6b3208abedb1463bfc7f2aa897aeed9e0fd3e0bc8e00ccb28e44ddbb155f2cfe3e2bd5cb370cf2bef5d46c2a544c2da9171b0947aef57dccea948b9bc9e50c3ed8d57efe4f2d6c710edbf26b6a5758f05ec8c4b626762ed488b8ec492acffd8c882ffc1bb9773ccf4c7f42e4d9151e8e7987988535a52fc6e38db52eb0db54b755a91cbebcb1f6572ecd04fb41220f055b9699c4c8324b9100e512568768cd56d1f2d5fa595e6eb2a4c6686bc3443024c70031ba128c930aacb71b986d34627708387d5b00daa3c815416642ee920a1244cf1afadbde7e238fb16c1c3beb73a0d656ae65eeb07a6e8f0ebd8ca93dab24f45d0b091336e1e437b22686fa4d6b6ba556f37989d873b8b7653ed1fa2008892a64d1aedfa2cb5f5b3c193bb84177bc3e7326af6edc6009db219a2ea967039bf29d13f95aef4f90357e2a143f2c58e2dc2c20858f4770fb201e931421328b99e3587b91e309e53deedc5042d3c6ad8ece3ac3b5ceef7c35ccf5cdd2b45ad1e04a8a2cdab01b609e0233cc1ce025e85bf47135fdbe763030c0ea2c5a244fb6761b38bbd73f3d8028b897dee82e1dad7c85d02181e3089015b97c40160db52da5e7d5a59712ebe97348d1a4faf9c3399e5ac182bf73e6c5129928787d946b4ecaa5a4ae7c968abd0c6f501bcd0cde47fa3584989145eccf326b3646d653909d16bab2cd4e5cbbf1960d836e37ba304da6e8eab8d0d834a36f84bcdad3a7cf21ebd85624e402930ae65aaedf08c0c4fc72c2347b61be7912390b15bc34d8125e0c4197646053c408fd75d7b9f82d94efc70dcf8e71e6bc47089a91c418615c15c4426629b66c27aa31ee3f64a136f480e6dbfbf459533935d1ad0974e7e1b164bd52bef741b68b91fa8aaaa0d321d149001c205563d7a2ca56727e6e20590ddeff76fdc8e4e32c332ac54c85e63f208e9f4b8a270b049bbe9ef4ab03493f871e0c455a96480801ed28de95c56ad5fb41b5d5e3f16f0e5fbb25f28bb68e000841a325e356c85493bdb8904e473948f9129473b2635b3e8cd1ebc9744b5cff1be39390df4960d3818dd0177d9cde3f20e77f1980bd16acbb6ea65c75ef217bfa6514b72aa4cb5d7b3f5026a05538081a362a1445b125beb66b2037b0f1cdaadae74131dd2f47302cac91ea6731f8204bc33452e00d5320ce3297fc33646325d8c9e42408d891b8c8a08ebab128be55ccb7bb1b45efa39edfe051a72d016ed14f7dbb5badaac40c1e88810dc6353d39697d9320895e662e26957d2c24c94a3a257d4b9d3019a04317330fd49c829d4ca1f0ab2ba773483c641753395850a728baca71e7c71c0a04e9d99d6b44edd71fed05dc37090065277447ba1e9c6879c5b7eb8c3ff2bea17a6eedcd69be98a6b3e85436246be1053e94c48e92bc987b890f7f2dcd2f999298ceb58a83a85c797a9c886973c2513c6973a7374c67939a835cc6cf44cf17cff2963eb7780170d8e4b588bfe649da18a2228dc878af2de9a346d4ebcec2c247b07bb2da70438dfe9bf2c51cc5ca7e65340f6f07d8213d9588bd628de7103e5a0f1264401b5a6b1e93738fb2cedcd9b0c66c38353b8584c07d87b890114029e24699c64b007635d223ddb24fefc71f594d1e4783a6c9fb0d5f8765bf3a84e9b22a27140b54d61cf6ef29fc8b1b2bb1f06c9a2fdd9198b4e3f952664311455def7fe6960582adf9979bb9a1a67dec206f433acb7696e03cdf98849a589b2e5ac6e0c96ed254bf7f9a5b1eb7f7bc8566964444b5503bc7eef1b482d7cb33ed40c43161bf99cb28a2d7ac17aecab7f43a9e2e475daa3596e19bf088a8ddc40a1a593e569c75dd01d27985c5029cb3363e162fadcc21332e8f70d13668bea33d023ebc6fdb2e06cfe876e2b5eb48ae221e00d492577c4ecba07d0a7f8665ec1f3b41f6b1df8675650f7cb6702c8c0ea426eb157dc8c0c5fa7be708f88836dd7398272c05bc5ed590cd9cdab3a1ccd5c275d898b1c9fdfbf243d0ad1b1ee41d0f0e4f85e9b021ead8c22b5922bbb8af47e81a805cbf103eb94942cfa90e2083e3bd7ac90d18da9eca571ab0a11d818900f8fcbf60384d22940ccad71964fd5418a02c7dcbcbd94cdc1d66390627cad1f98478ed86468af72e09b9cfd85a5537c625a9bd874499fcbe652b93a53df372b7257d3858b4f8f22bcfdb9276898681c40e3f77f7d4c8ff236e0188f664dfd6c47f41cd8600bb12358ba8217151429f71e7a8750d6b25efdbd54359357c8d1a844240c380ee7deaaf4b717661e3b87837b4b6cf8a2ceb14ab451b1992e90a283d4b94b59df92bee190f82d97d4f714b16642971442530c236d3609c91b86e80b79c4a59b9de350df37a60e3bf9f708fa80a26544b8c4a4189f0dfc37227e4be8b74425ee4e18853286e5ad8cba0a2d8dda1e73ce49cca6aa9c7dcb65f5bdcfd6d9483d6f1425460238ac49269312ec1b2e34f8675ab48c358763098995944c46371ed3ab54f62a337e97cedaec5625fcbabbea001919b611414e8d3bc536570e9c69243dd64e622a1a25e8e09e85f48c096a563de5e47a6ebc36b85341cf762a233417a337e7bb92bf30686135f000e319b501b2c58556a81cfe6c6e9790dd7f6082bfd3a6da6edcedd89c63100a06a6b5883b2831ab9969d86e789252c9baca2c5e2fe2d245272063735a3b260ad14328689eb5213c63db0829557ec19f2b7793c83c73d75686f51a7b4a6f5406bab82e648aa34e7e4f4e66a6d26cef83da2ada8deb8bbc7db05e1f6fb5f59d81403e9dd7af42e6b66fd52a514cb0547af46ffb8c754f5b562c4e680d0d54e8639409594c089835017e53db05578443616f1379b8bf15063a73b0739234bb78d6653d2b2f7d6eae73a4b6553429fa96764ba37e62c1b5f11c054aa56e491e1ece7593e548f9f6cb7f3a079bc630fab9b715031bd4605ac1b80eba3b6aa74ea31711012cea10d361cbb57c6823c1cbdde30f992aa88e651a75f73643b9fbf213ea0d3fdafc5b341c45a6552fa712f043473579fe880dc778c0cd56679196e12abbe6fbae24dead2f62375e007b03c189247718374541ffc0d260bc968b406b92ea9649f21b19132536544349500ea13826aefedd3b9c998a2d2843067e0cf1a87706567547868d596ec764b0d108e385400414f8e8318fd5a598ffce57e920a8692c5bb192a1b8a368799a8572d629dbd06e0dcdfee8a57b85e1b6f9ea41517c4c5cefb6defd77d9aa5212be70c95739c3bf1c81501ecc8733a62a9b03c0e304c30325c2f1310b8298c7a2c771d33fdbeda44edb22b70d1c118173b4e5ecc40da6d24337143bbb0e4eee951e45f33ce3ef5d4920ff9665ca8bff331337fead2203dfc95415a9a77fd0863985d1f4c1286bf8a9a9ff3931827f70c07b1887b17537d43ee454c5f3acf22f8a8c1fe5d8b1a1e5092fc5c81595eaf4f78e69dd38b18a0791ce38f70685177a7dba02f9d7fc6f6af7ccb1eebfee9412411be6b31fab3ecc64861864cd44249700b27e105fba634233b5a52959d3818e2ad80b0d2fee56832d7d979e52cc3880a02823d5aabfd4e0bf24ee06780e2a5d9315cfe22b2f95899d7158a13723cbd4485dcc5731d45677367da269b9f48a097182736567d879025cf431930482f608d07ce7b4155ef933ffb137408c61afe730afd5c5bca270f6fd9be3bbec0f9b645d790c6930267cba4cfcf72a42f581fe612752006b13482d89789d6e45d86e4154683d3194236da65d2c15cb9ac4841b2ba7ceef128f9efedef1a2f505b0bd860c87ab1241698a3bf01344ae87acbaac6bf4346e88efc2a212f4409929e04b675d1b4f35bb1bc023323a5c9e127c7d4ebe36b6f40dc109af44f327e60b0594ea41e82ed6f667e1b8caed94dfdc8e117afe92485f3b1aa15ef157935359bb0bdf8fa6db", 0x1000}], 0x6, 0x0, 0x0, 0x4004}, {&(0x7f0000000e80)={0x27, 0x0, 0x0, 0x4, 0x7, 0x5, "d435ff1676d15cc9cfd28b451b9cf2efe8c75e71deb9a27d3424126c224825375f5801afaf6287074144b435b113dd03a551f345190c13b1f4dd3290887101", 0x3}, 0x60, &(0x7f0000001fc0)=[{&(0x7f0000000f00)}], 0x1, &(0x7f0000000400)={0x28, 0x102, 0x1000, "330d261931d80c5077e035594aba053b44ea76a85e293c24"}, 0x28, 0x40}, {&(0x7f0000002100)={0x27, 0x1, 0x0, 0x6, 0x7, 0x2, "62d02d77746cb0794ac6412629c631d44df75d0d71f5b430216e3884e1b6ce88846c09a8e5454c964bf03086d9caf4c91e198de12250630d318991f494b181"}, 0x60, &(0x7f0000002540)=[{&(0x7f0000002180)="4efc3dc77dac5382c2d3d2d71f6f58ad5883b22767e01aa3559303f22935c5aba7fdcfbf7598689976bf03b0b1778ad273b81ebe3ee9f43d37a2edc30588a8772abb2ffed95d222c80a0ce59d15ccadb11602ce91d9a8d6b324d90706d15dbc9de673daed9b16d3a69848bfe5f4efb0f9daa97ccc96b587e110262bc797022b9312281ef3bc9e761029c83fe2a1ad20df09e4373574b7b07f35536624031", 0x9e}, {0x0}, {&(0x7f0000002280)}, {&(0x7f0000002300)="93f3485ce374073f302bf9668f30b6f04d4fe9b9be2d1fceadff5d48382bafff05b70717fad8058dc54faa091f5d47b5a020ddf54b6d5dbe8a42", 0x3a}, {&(0x7f0000002380)="c2658658dae1bc74d20c", 0xa}, {&(0x7f0000002400)="e6b22ed05e086782db2b", 0xa}, {&(0x7f0000002440)="663ba0afc58e3442c9b87b338e09ae11edf667132a932fb02576c855d2f65bec9e357c3b0bba99af869b8bfccec04e8b5f977d2cf63c6395a4dde0", 0x3b}, {&(0x7f00000024c0)="febb19471f0c95189e4a93f5c25dcf09b37cece6220dd2b731864069bcba7a30316c654ca120ad96b19fef752e05b88e3c7421a3be4ada5b9b9a39a53711aa6a3ff7832d90ad219774b110bc6d566d448289325cebd3eb2403a6da644ebdba17b7b616e7", 0x64}], 0x8, &(0x7f0000002600)=ANY=[@ANYBLOB='\x00'], 0x10, 0x11}], 0x4, 0x24001015) sendfile(r2, r2, 0x0, 0x24002da8) socket$packet(0x11, 0x0, 0x300) getsockopt$IP_SET_OP_GET_BYNAME(r1, 0x1, 0x53, &(0x7f0000000100)={0x6, 0x7, 'syz1\x00'}, &(0x7f0000000140)=0x28) ioctl$LOOP_CLR_FD(r2, 0x4c01) ioctl$int_in(r2, 0x5421, &(0x7f0000000180)=0x100000001) tgkill(r0, r0, 0x1c) 06:52:30 executing program 2: chdir(0x0) mkdir(&(0x7f0000000440)='./file1\x00', 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mknod$loop(&(0x7f0000000180)='./bus/file1\x00', 0x0, 0x1) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) readlinkat(0xffffffffffffffff, &(0x7f0000000040)='./file1\x00', &(0x7f0000000080)=""/112, 0x70) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000400)='overlay\x00', 0x0, &(0x7f0000000300)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) mount$overlay(0x0, 0x0, 0x0, 0x0, 0x0) chown(&(0x7f0000000600)='./bus/file1\x00', 0x0, 0xee01) 06:52:30 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r0 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) sendmmsg(0xffffffffffffffff, &(0x7f0000008d80)=[{{&(0x7f0000000300)=@rxrpc=@in6={0x21, 0x4, 0x2, 0x1c, {0xa, 0x4e22, 0x0, @rand_addr=' \x01\x00'}}, 0x80, 0x0}}], 0x1, 0x4000000) rmdir(&(0x7f00000000c0)='./bus/file0\x00') mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_MAX_SIZE(r0, 0x28, 0x2, &(0x7f0000000040)=0x1000, 0x8) [ 271.494635] 9pnet_virtio: no channels available for device syz 06:52:30 executing program 1: r0 = socket$inet6(0xa, 0x3, 0x3a) openat$autofs(0xffffffffffffff9c, &(0x7f0000001780)='/dev/autofs\x00', 0x0, 0x0) ioctl$sock_inet6_tcp_SIOCINQ(r0, 0x541b, &(0x7f0000000040)) r1 = socket$netlink(0x10, 0x3, 0x0) unshare(0x2c020400) fstat(r1, &(0x7f00000002c0)) 06:52:30 executing program 4: syz_read_part_table(0x0, 0x0, 0x0) r0 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r0, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) r1 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r1, 0x541a, &(0x7f0000000000)=0x2) ioctl$SOUND_MIXER_WRITE_RECSRC(r1, 0xc0044dff, &(0x7f0000000000)=0x8000) r2 = openat$autofs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/autofs\x00', 0x26100, 0x0) getsockopt$inet_sctp6_SCTP_RECONFIG_SUPPORTED(r1, 0x84, 0x75, &(0x7f0000000080)={0x0, 0x8}, &(0x7f00000000c0)=0x8) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r2, 0x84, 0x1f, &(0x7f0000000100)={r3, @in={{0x2, 0x4e22, @local}}, 0x0, 0x400}, 0x90) [ 271.591304] overlayfs: upperdir is in-use by another mount, mount with '-o index=off' to override exclusive upperdir protection. 06:52:30 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x103, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, @perf_bp={0x0, 0x4}, 0x80}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) listen(0xffffffffffffffff, 0x0) dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_SUBVOL_GETFLAGS(0xffffffffffffffff, 0x80089419, &(0x7f0000000000)) unshare(0x20600) r0 = openat$loop_ctrl(0xffffffffffffff9c, &(0x7f0000000100)='/dev/loop-control\x00', 0x0, 0x0) ioctl$LOOP_CTL_REMOVE(r0, 0x4c81, 0x0) ioctl$CHAR_RAW_RAGET(0xffffffffffffffff, 0x1263, 0x0) mount(0x0, 0x0, 0x0, 0x0, 0x0) chdir(&(0x7f0000000080)='./file1\x00') ioctl$BTRFS_IOC_BALANCE_V2(r0, 0xc4009420, &(0x7f00000001c0)={0x0, 0x4, {0x0, @struct, 0x0, 0x0, 0x9, 0x0, 0x0, 0x7f, 0x20, @usage=0x24, 0x0, 0x0, [0x401, 0x0, 0x0, 0x0, 0x3, 0x10000]}, {0x1, @struct={0x8, 0x80000000}, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x51, @struct, 0x2000000, 0x45d, [0x101, 0x40, 0x1, 0xffffffff]}, {0x0, @struct={0x10000000, 0x81}, 0x0, 0x4, 0x2, 0x5, 0x0, 0x0, 0x0, @struct={0x40, 0x8000}, 0x264, 0x0, [0xfffffffffffffffc, 0xfff, 0x0, 0x7]}, {0x4}}) semctl$SETALL(0x0, 0x0, 0x11, 0x0) semop(0x0, &(0x7f0000000040)=[{0x4, 0x0, 0x1800}, {0x0, 0x1}, {0x0, 0x5, 0x1000}], 0x3) mknod$loop(&(0x7f0000000140)='./file0\x00', 0x2, 0x0) syz_mount_image$tmpfs(&(0x7f0000000180)='tmpfs\x00', &(0x7f00000010c0)='./file0\x00', 0x0, 0x5, &(0x7f0000001640)=[{&(0x7f0000001180)="741f083be80b491409758d5a2ac633fad2c3cadc1c8351ab05b9050a5f4b6c0f619ba142e4d201dfc81bebe60a00d635f0c6dbe6177609cae215347f64cfdc9993e1920083f1a10e1bb7ae88fa9d36a8aa34ed7a8b7eb218789bd9bd766590d5d9dfb6c5d5dc2a0583d57e60aa1b54ab8bdd145e63dbb5f7a90acc392582cdd84255270db40c88bd97f4818ff0782fdc8379da6730feee816512a58f7dcd614fc5a1cb299193ef38253602c86bf8731fbea682e44d6e0c034981e83f1795c9de4841f8ae134f14e78b6356", 0xcb}, {&(0x7f0000001280)="baa1f7f5eca0ecaf6653ff44101e8816ccc870cd5fe187851ba9082509ef2e61a9ecb54e298c631c940cdd34fdc00ae947e90cc6be2ca5bbc7fab51c9f970bec59c74f2a41eb570e7d9b9b53944920068653a0ab6d5822a61f556e66c9bb1be12b00a1266ddd80bc585e31271bf1916c0f3f6bb58de7d92ef017e7776d19eca25bce070a3ff84cb39d39a04c46126f8de8ac91b659e2fe625c419717549bec04fcf6cb09909944d7ff12491d1cad96c3ad868859c7752e29d1c734e8f3bd9864cdb932f8297a76a64f802637", 0xcc, 0x5}, {&(0x7f0000001380)="3a70f160f3c74159989a316b7418e5880b4f89520f330485772011f7de0e0dc863e00a26ec3a31ae902e6dc64df8a16eeebceb4162698199d43ce2c71c9c9104149d27df57b3f134522ae787cd118a92b51eb1fd8c", 0x55, 0x9}, {&(0x7f0000001480)}, {&(0x7f0000001500)="0b4cc265d0d1ff42d394cd7f969aff155a74199f98f38b169273d2ccb47adcd4d15f53727b4fb7", 0x27}], 0x880000, &(0x7f0000000740)=ANY=[@ANYBLOB="61647651894a2bdf1bd1bd7da5ef2892536973652c6e725f696e6f6465453d002c687500000000657665722c687567653d696c776179732c687567653d6e657665722c6f626a5f726f6c000000c03f0000005a1b7a2e23039f57530a275becb22437589122e64c516701fb116100000000006507204a47d2162a5e67e38571a9ba89fb274362eaad78d678eb99cfd546eea6b4", @ANYRESDEC=0x0, @ANYBLOB="2c6f636a5f747970673d687567915e68836565696488d2746016a594a6250403cf17adac91d897c0792b000000", @ANYRESDEC, @ANYRESDEC=0xee00, @ANYBLOB]) ioctl$LOOP_CTL_ADD(r0, 0x4c80, 0x0) bind$inet(0xffffffffffffffff, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) setsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, &(0x7f0000000080)={{{@in=@loopback, @in6=@local, 0x0, 0x0, 0x0, 0x0, 0x2}, {}, {}, 0x0, 0x0, 0x1, 0x1}, {{@in=@empty}, 0x0, @in=@broadcast, 0x0, 0x0, 0x0, 0xb7}}, 0xe8) fcntl$setpipe(0xffffffffffffffff, 0x407, 0x10000) getrlimit(0x3, &(0x7f0000000600)) 06:52:30 executing program 2: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r0, &(0x7f0000005b40)=[{{&(0x7f0000000080)={0xa, 0x4e21, 0x0, @mcast2}, 0x1c, 0x0}}, {{&(0x7f0000000000)={0xa, 0x4e21, 0x0, @loopback}, 0x1c, 0x0, 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB="2400000000000000290000003200000020010000000000000000000000000001", @ANYRES32=0x0, @ANYBLOB="00000000f12c644c0fdac66abdffa8daadec7e0330c327bcefb9438b57eba7dd8efb4525c169aa1bf6d62766075c7e8a55e49253f0e4f4da496ca286fea08c117dc4fc83893772f0515e47ba5de67c826c702af96f04ed4794bdd2f1aa3a2fd365aed99769"], 0x28}}], 0x2, 0x20008c10) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) write$nbd(r2, &(0x7f0000000180)={0x67446698, 0x1, 0x3, 0x3, 0x4, "f32fff1be22e970ff7669af467fbd8105905d271528903e4d020a3b5bc9f85208b2200d92361ef2c9a2b788babac3e1f6985a17f96cd10c18ffd9c67fa3d22d4b885fe15141cd8de8f9f0c65deff859fb75a613a8627f54a38f9a69fe323"}, 0x6e) 06:52:30 executing program 3: r0 = perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) chdir(0x0) r1 = syz_open_dev$binderN(&(0x7f00000000c0)='/dev/binder#\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR(r1, 0x40046207, 0x0) r2 = getuid() r3 = openat$cuse(0xffffffffffffff9c, &(0x7f0000002200)='/dev/cuse\x00', 0x2, 0x0) openat$vcs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcs\x00', 0x7b7b8d5c72e1c664, 0x0) r4 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000080)='/dev/bsg\x00', 0x20000, 0x0) read$FUSE(r4, &(0x7f0000002240)={0x2020}, 0x2020) read$FUSE(0xffffffffffffffff, &(0x7f00000062c0)={0x2020, 0x0, 0x0, 0x0}, 0x2020) prctl$PR_SET_PDEATHSIG(0x1, 0x1d) r6 = openat$full(0xffffffffffffff9c, &(0x7f0000000000)='/dev/full\x00', 0x10400, 0x0) read$FUSE(r6, &(0x7f0000008500)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) write$P9_RWRITE(0xffffffffffffffff, &(0x7f0000000280)={0xb, 0x77, 0x2, 0x7}, 0xb) ioctl$EXT4_IOC_GROUP_EXTEND(r0, 0x40086607, &(0x7f0000000240)=0x200) read$FUSE(r3, &(0x7f000000a540)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) write$FUSE_DIRENTPLUS(r3, &(0x7f000000c580)=ANY=[@ANYBLOB="28030000feffffff", @ANYRES64=0x0, @ANYBLOB="0200000000000000030000000000000031210000000000000000010000000000030000001a0300000100000000000000ff7f0000000000000900000000000000030000000000000000000000010000000200000000000000ec1b0000008000000800"/108, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000000000000000000000000000000000000000000000000000000a000000000000002f6465762f637573650000000000000000000000000000000200000000000000ffff000000000000f1000000000000000002000007000000000000000000000000000080000000000c0e00000000000004000000000000000004000000000000018000000000000009000000000000000300000000c0000051050000", @ANYRES32=r5, @ANYRES32=r7, @ANYBLOB="ff7f0000000400000000000002000000000000007f0000000000000002000000000000003a7b00000000000006000000000000000100000000000000090000000000000009000000000000009dfc0000080000000200000000000000060000000000000000000000000000000900000000000000ff0f000000000000000000800000000000000000de0000000038000000a0000003000000", @ANYRES32=r2, @ANYRES32, @ANYBLOB="f000000001feff91234a7688d58ca7000000000007000000000000000100000000000000000000060000000000000000000000000000000000030000000000000000000000000001ffffffff0700000600000000dfffff000000000000000081000000002100000100000000000000010000000000000000010400000000000404000007000000090000000020000055c50000", @ANYRES32=r2, @ANYRES32=r8, @ANYBLOB="2305000002000000000000000200000000000000ff00000000000000000000000000008006000000000000000100000000000000090000000000000009000000000000000300000008000000020000000000000007000000000000000800000000000000b20000000000000003000000000000000101000000000000ff0f000000000000010000000000000004000000", @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB="feffffffff01000000000000050000000000000000000000000000000000000008000000"], 0x328) setsockopt$CAN_RAW_FD_FRAMES(r4, 0x65, 0x5, &(0x7f0000000200)=0x1, 0x4) setsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, &(0x7f0000000100)={{{@in6=@loopback, @in=@local, 0x4e23, 0x1000, 0x4e24, 0x2, 0x2, 0x80, 0x80, 0x88, 0x0, r2}, {0xfffffffffffff0bf, 0x400, 0x7, 0x4, 0x1, 0x3, 0xcdd, 0xcc}, {0x8001, 0xffffffff, 0x5, 0x100000001}, 0x3, 0x0, 0x0, 0x1, 0x3, 0x2}, {{@in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, 0x4d6, 0x2b}, 0x2, @in=@dev={0xac, 0x14, 0x14, 0x3d}, 0x3502, 0x0, 0x3, 0xf7, 0x8, 0x9, 0xffffffff}}, 0xe8) fchown(r0, 0x0, r8) [ 271.761975] batman_adv: batadv0: Removing interface: batadv_slave_0 06:52:30 executing program 2: mlockall(0x3) clone(0x11086000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$NBD_SET_TIMEOUT(0xffffffffffffffff, 0xab09, 0x3) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) mlockall(0x3) [ 271.804258] overlayfs: upperdir is in-use by another mount, mount with '-o index=off' to override exclusive upperdir protection. [ 271.817865] batman_adv: batadv0: Removing interface: batadv_slave_1 [ 271.887709] device bridge_slave_1 left promiscuous mode [ 271.925429] bridge0: port 2(bridge_slave_1) entered disabled state [ 271.991665] device bridge_slave_0 left promiscuous mode [ 272.022286] bridge0: port 1(bridge_slave_0) entered disabled state [ 272.196682] device hsr_slave_1 left promiscuous mode [ 272.240588] team0 (unregistering): Port device team_slave_1 removed [ 272.266968] team0 (unregistering): Port device team_slave_0 removed [ 272.293891] bond0 (unregistering): Releasing backup interface bond_slave_1 [ 272.329853] bond0 (unregistering): Releasing backup interface bond_slave_0 [ 272.428010] Bluetooth: hci0 command 0x0401 tx timeout [ 272.437390] bond0 (unregistering): Released all slaves [ 274.507899] Bluetooth: hci0 command 0x0401 tx timeout [ 275.338440] IPVS: ftp: loaded support on port[0] = 21 [ 275.434403] chnl_net:caif_netlink_parms(): no params data found [ 275.485310] bridge0: port 1(bridge_slave_0) entered blocking state [ 275.491948] bridge0: port 1(bridge_slave_0) entered disabled state [ 275.499675] device bridge_slave_0 entered promiscuous mode [ 275.506326] bridge0: port 2(bridge_slave_1) entered blocking state [ 275.513245] bridge0: port 2(bridge_slave_1) entered disabled state [ 275.520182] device bridge_slave_1 entered promiscuous mode [ 275.539858] bond0: Enslaving bond_slave_0 as an active interface with an up link [ 275.548829] bond0: Enslaving bond_slave_1 as an active interface with an up link [ 275.566887] IPv6: ADDRCONF(NETDEV_UP): team_slave_0: link is not ready [ 275.574149] team0: Port device team_slave_0 added [ 275.579839] IPv6: ADDRCONF(NETDEV_UP): team_slave_1: link is not ready [ 275.586896] team0: Port device team_slave_1 added [ 275.602737] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 275.609027] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 275.634294] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 275.645674] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 275.652003] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 275.677225] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 275.688258] IPv6: ADDRCONF(NETDEV_UP): bridge_slave_0: link is not ready [ 275.695568] IPv6: ADDRCONF(NETDEV_UP): bridge_slave_1: link is not ready [ 275.718376] device hsr_slave_0 entered promiscuous mode [ 275.723972] device hsr_slave_1 entered promiscuous mode [ 275.730126] IPv6: ADDRCONF(NETDEV_UP): hsr_slave_0: link is not ready [ 275.737036] IPv6: ADDRCONF(NETDEV_UP): hsr_slave_1: link is not ready [ 275.806417] bridge0: port 2(bridge_slave_1) entered blocking state [ 275.812783] bridge0: port 2(bridge_slave_1) entered forwarding state [ 275.819415] bridge0: port 1(bridge_slave_0) entered blocking state [ 275.825747] bridge0: port 1(bridge_slave_0) entered forwarding state [ 275.854445] IPv6: ADDRCONF(NETDEV_UP): bond0: link is not ready [ 275.861311] 8021q: adding VLAN 0 to HW filter on device bond0 [ 275.869527] IPv6: ADDRCONF(NETDEV_UP): veth0: link is not ready [ 275.877421] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 275.885379] bridge0: port 1(bridge_slave_0) entered disabled state [ 275.892896] bridge0: port 2(bridge_slave_1) entered disabled state [ 275.902270] IPv6: ADDRCONF(NETDEV_UP): team0: link is not ready [ 275.908649] 8021q: adding VLAN 0 to HW filter on device team0 [ 275.916738] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 275.924621] bridge0: port 1(bridge_slave_0) entered blocking state [ 275.931022] bridge0: port 1(bridge_slave_0) entered forwarding state [ 275.942060] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 275.949800] bridge0: port 2(bridge_slave_1) entered blocking state [ 275.956121] bridge0: port 2(bridge_slave_1) entered forwarding state [ 275.975579] hsr0: Slave A (hsr_slave_0) is not up; please bring it up to get a fully working HSR network [ 275.985452] hsr0: Slave B (hsr_slave_1) is not up; please bring it up to get a fully working HSR network [ 275.996586] IPv6: ADDRCONF(NETDEV_UP): hsr0: link is not ready [ 276.003807] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 276.011890] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 276.021207] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 276.028987] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 276.036408] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 276.044093] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 276.055360] IPv6: ADDRCONF(NETDEV_UP): vxcan0: link is not ready [ 276.064407] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 276.071131] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 276.081996] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 276.133799] IPv6: ADDRCONF(NETDEV_UP): veth0_virt_wifi: link is not ready [ 276.143982] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 276.173606] IPv6: ADDRCONF(NETDEV_UP): veth0_vlan: link is not ready [ 276.181001] IPv6: ADDRCONF(NETDEV_UP): vlan0: link is not ready [ 276.187471] IPv6: ADDRCONF(NETDEV_UP): vlan1: link is not ready [ 276.198776] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 276.206239] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 276.214272] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 276.222624] device veth0_vlan entered promiscuous mode [ 276.232866] device veth1_vlan entered promiscuous mode [ 276.239008] IPv6: ADDRCONF(NETDEV_UP): macvlan0: link is not ready [ 276.247098] IPv6: ADDRCONF(NETDEV_UP): macvlan1: link is not ready [ 276.257863] IPv6: ADDRCONF(NETDEV_UP): veth0_macvtap: link is not ready [ 276.266749] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 276.274803] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 276.282292] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 276.291929] device veth0_macvtap entered promiscuous mode [ 276.298506] IPv6: ADDRCONF(NETDEV_UP): macvtap0: link is not ready [ 276.306773] device veth1_macvtap entered promiscuous mode [ 276.315929] IPv6: ADDRCONF(NETDEV_UP): veth0_to_batadv: link is not ready [ 276.325112] IPv6: ADDRCONF(NETDEV_UP): veth1_to_batadv: link is not ready [ 276.334118] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 276.344318] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 276.353574] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 276.363323] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 276.372494] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 276.382230] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 276.392665] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 276.400354] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 276.408928] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 276.416247] IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready [ 276.424374] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 276.434713] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 276.443880] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 276.453622] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 276.463209] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 276.473142] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 276.483453] IPv6: ADDRCONF(NETDEV_UP): batadv_slave_1: link is not ready [ 276.490434] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 276.497301] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 276.505342] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready 06:52:35 executing program 5: sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) write$binfmt_misc(0xffffffffffffffff, 0x0, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = perf_event_open(&(0x7f000001d000)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x18100, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 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, 0x2, 0x7f}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat(0xffffffffffffffff, &(0x7f0000000300)='./file0\x00', 0x80, 0x2) ioctl$FS_IOC_GETFSLABEL(r1, 0x81009431, &(0x7f0000000600)) fcntl$addseals(r2, 0x409, 0x6) setresgid(0xee00, 0x0, 0xffffffffffffffff) ioctl$sock_inet_SIOCADDRT(r0, 0x890b, 0x0) sendmsg$NFNL_MSG_CTHELPER_DEL(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000240)={&(0x7f0000000200)={0x1c, 0x2, 0x9, 0x101, 0x0, 0x0, {0x5}, [@NFCTH_QUEUE_NUM={0x8, 0x3, 0x1, 0x0, 0x6}]}, 0x1c}, 0x1, 0x0, 0x0, 0x200401c0}, 0xc000850) setsockopt$netlink_NETLINK_CAP_ACK(0xffffffffffffffff, 0x10e, 0xa, 0x0, 0x0) unshare(0x60000000) syz_genetlink_get_family_id$nl80211(&(0x7f00000000c0)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, &(0x7f0000000580)={'wlan1\x00'}) sendmsg$NL80211_CMD_DEL_PMK(0xffffffffffffffff, &(0x7f00000002c0)={&(0x7f0000000080), 0xc, &(0x7f0000000280)={&(0x7f0000000700)=ANY=[], 0x7c}, 0x1, 0x0, 0x0, 0x810}, 0x24044010) r3 = socket$inet_icmp(0x2, 0x2, 0x1) getsockname(r3, &(0x7f00000003c0)=@in6={0xa, 0x0, 0x0, @ipv4={[], [], @loopback}}, &(0x7f0000000440)=0x80) r4 = syz_open_procfs(0x0, &(0x7f0000000040)='net/mcfilter6\x00') setxattr$trusted_overlay_upper(&(0x7f0000000480)='./file0\x00', &(0x7f00000004c0)='trusted.overlay.upper\x00', &(0x7f0000000500)={0x0, 0xfb, 0x45, 0x7, 0xff, "77df4aa5a117c0ed805af6e7d01d5c68", "4a833e68ccb9d95ac409152d433b20eaf8d156b900869c77a6be15444b321a8b953255bfbd5e0b612b6beb6f38b8fc6b"}, 0x45, 0x1) preadv(r4, &(0x7f00000005c0)=[{&(0x7f0000000140)=""/68, 0x44}, {&(0x7f00000001c0)=""/44, 0x2c}], 0x2, 0x48, 0xfffffffe) 06:52:35 executing program 4: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0xffffffbfffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f0000000000)='.\x00', 0x0, 0x0) r0 = socket(0x10, 0x3, 0x0) openat$tcp_congestion(0xffffffffffffff9c, &(0x7f0000000080)='/proc/sys/net/ipv4/tcp_congestion_control\x00', 0x1, 0x0) r1 = socket$inet(0x2, 0x3, 0x5) setsockopt$inet_msfilter(r1, 0x0, 0x8, &(0x7f0000000000)=ANY=[], 0x1) r2 = dup(r1) getsockopt$inet_pktinfo(r2, 0x0, 0x8, &(0x7f0000000040)={0x0, @local, @local}, &(0x7f00000000c0)=0xc) sendmsg$nl_route_sched(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000800)=@newqdisc={0x64, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_dsmark={{0xb, 0x1, 'dsmark\x00'}, {0x34, 0x2, [@TCA_DSMARK_INDICES={0x6, 0x1, 0x4000}, @TCA_DSMARK_DEFAULT_INDEX={0x6}, @TCA_DSMARK_DEFAULT_INDEX={0xfea4}, @TCA_DSMARK_INDICES={0x6}, @TCA_DSMARK_SET_TC_INDEX={0x4}, @TCA_DSMARK_INDICES={0x6}, @TCA_DSMARK_SET_TC_INDEX={0x4}]}}]}, 0x64}}, 0x0) 06:52:35 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$TIPC_CMD_GET_LINKS(r2, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x6c, &(0x7f0000000040)={&(0x7f0000000140)=ANY=[@ANYBLOB="280000001000000000800000000000000000000038621aa414c684bb1692e2648aed9ca060b97ed4741c7c60e7be6b738d2c6d0a0c1b097bcf39", @ANYRES32=r3, @ANYBLOB="fffffffd0000000008001c00ef000000"], 0x28}}, 0x0) sendmsg$inet6(r2, &(0x7f00000003c0)={&(0x7f00000000c0)={0xa, 0x4e22, 0x7, @local, 0x1}, 0x1c, &(0x7f0000000280)=[{&(0x7f0000000340)="19d8a76b796b18e1549517c56731741e9b974722de859f75e027d552af8705c9b03709cef14253175f842e457d86c289e7ea126e02ac0046e5e4bd4ec7da5f8a67f9c61a4a05b9de220596fd2776a79e91c799ec3401ef9dad5fcf87ac2e07c50ae3966f1f16149a3a139a30de986a48c77aa70b4e03a1568cfac1", 0x7b}, {&(0x7f00000001c0)="7b35f02837b46e802bb6b26aae41498e1ca60fdcac3601f3d67a9019743070255600a792d142c2517d65893acab3ef1ba508e8d635e67a7198aeaf", 0x3b}], 0x2}, 0x8800) 06:52:35 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = socket$key(0xf, 0x3, 0x2) r3 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r3, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r3, 0x0) r4 = dup3(r3, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r4, 0x541a, &(0x7f0000000000)=0x2) ioctl$MON_IOCX_GET(0xffffffffffffffff, 0x40189206, &(0x7f0000002e00)={&(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @iso}, &(0x7f0000002d00)=""/237, 0xed}) sendmsg$alg(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000200)=[{0x0}], 0x1, &(0x7f00000003c0)=ANY=[@ANYBLOB="751200000000000017010000030000000000000000000000020000000000f223000000000000a94e64715e41e964cf4a9a856fc62cc9ebc5d11d88365205275786dc8ea8ec3c956515fb7c17a488e19b089ee70fa20a2efe5baa3d09644233f3e3c0a029"], 0x30, 0x4000000}, 0x24000040) sendmsg$key(r2, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) r5 = syz_mount_image$reiserfs(&(0x7f0000000280)='reiserfs\x00', &(0x7f0000000440)='./file0\x00', 0x9, 0x9, &(0x7f0000002b00)=[{&(0x7f0000000680)="2008be842864a90669499498739ff373477196ff821b2765d68d5c858bd5c346ec191cf24bdd48729b987cbfbc38abed4bc1d7c4175515e4ffa64bf1797ca1d4db9eccd8f8a70d353e6ecaa767b9149164c0dee29be8eddebbb16799bfe685a34592d5ce3db016d0b93b3d2eee06", 0x6e, 0x100000000}, {&(0x7f0000000780)="e73a0ca49e5940aa39356dfc06a393cf3da6a752057f300279d3c2acc8c583b52eb9354dec40ae05e05abd2c29388b82d9b4ba501b8ab4a32c46b704a36c4ac3c8363d4e", 0x44, 0x40}, {&(0x7f0000000800)="8d1ae7fb6842823b7fdce9bf1673b953b768454138aff14a5c95446d50df77bc", 0x20, 0x5}, {&(0x7f0000000840)="c4c1be86333253dff54c878bd18a21a4ee50a5c3e566b3bbfb78cbcf861c1dfbf009a973f24830add79dce90adf2c862556f7ee1f4645eea80c3c869e30fcab32c420397ee777920eaa8b8e1292c908ae0f791017f37899659561d86778ca80c78ebddbeea0f3430242557d3e06ae8fca51955ae26af9f2f9ec04a6948d14b0018bcdc6036abeeef0c156d1c7e0109191b9db237680b5e70d6ddf85f2a22baf2bc7a503d7b4e6c66d2e028b8a2502e05eb8d597b4eabfeebcc745af1554c85fb7cf61e76f608ebfcdb7e1025", 0xcc, 0x104}, {&(0x7f0000000940)="2f2e2c086247ebe240b577d5c43f991fef5eaf0be2b561602593cc16aeaec58e8e020d70210126b5aaaee6d49aa5a581aac40f8b50165912b98b286a0deba49095c95a1bd22656f9e8d1b83b6b9503efea0e00a0225562abc6e72d9e0f89eec54752607e6a994bd9d8045f9d7c3c9fa2674ec2f7bc4da4b0f350ca0d386c6892124b166c5a02a4e9a7f22e9b070483bfe23e38829ae1d8d8c2f849094bdef2cdb95989ce5e3d2aff816f450dc8f698459eb2bae7af40d62ed18bed7f234c4fc7e03be95ddfb8167ec9d65348a0832ae323872bf3dc5fd06dab6c381c24181a1a455e79ed5ef7101ad56ca4a1eadf0e8ae187b56239ad07b41fbb637bc1bb89ddba398b94e1dfdd32e7485d01c3b05fa5168a6370ef9c548f819af6210ef9ac962592f27e48885db366a4c3cf90827171565486c39eda3773a2eb5debb4f462d2abe34f926404d0a92e4440cc9753a2a93301131de30864a4824afc85b21020b60f7728e89b8b98e4e645c4165e25fda718ffbaa5c0a2483d24349aa40bcd1c165e11a4e62d95e47074b50f51416ac048885ed3a13ee42449d8f798f2806eb73eba5b0a0808b7ffd4c9cba2bdfc940fa0a55728197c50068d54f0ee26012c5482c5627a24cabf0a8a5a138f846d9ac56fb189f3ca870c48a15fc06855c8d80dc03c7aa5b26b6807dce69749f706344d4b3e6ab54dcec9e00cc0efc253c8997e3e29a1d11eab0bf807ccdc97c3b16daa78eacfa7a713e3e8f74d84fb9569cf0fcf7bf383c39a1257474bfbeb339d5c66126806bbaa2099b7629ff3fd3e1e3b815d3ecbae7719eb6032f09809d3e1bddf5fae2af375345abe2b0080cd12d88e03d1d760097565cfeaa45af920c0c44b2f0f15be830a9dfdebbd78b35b73c423b38caa2670dca6e658f3eb0a093449b14fc6da6e9df4fd87a89efc9d1f1c3ce6fa5611e27aa5c794dd0c1a90330387845da24cbbfb2d5d6b62c6bbf66ab147ea5957f205d692b3c82ade92b48e6a63a0cfbbd1885937716e70fedb2521c8f1d62cd7bbc8f64ecd2bf5f0948d5b70594c98effe75fc3f944440cad530a095d6f90207a5c739138af9c8617c05fc8b4960df1df0e388815e813ac993ba5bba1000348bb4d32c87602a62b2cea1cd9c1893b33256a7e75f236b7f03b384180f4cb777ab70e2f319a131b48dcf4395e81e2cc662e4f32ee824209f80ed5414cb8f6a9b9a9939bfd555128ca5735e8191c33733195c3bd0f912b95f6c3f511b2eb970e254a2073dcc93fbb052613b82ecf636940ae030e90eb6dd5afadf48f6bd28ac84faa92a0102f9ce31d6e23d6ab770df8f2e5724005ead2b395f571715e514a73b6d1975a397b8f650490b7f0cc9d645927257adaa9635fc054e132c589a377fb62dcd766e86cc56dfe5b3ea776232b21eb5368e693432f174cee72c7fdcde118b524b097d05f694180a9677ed9d2ae599a85fcde1b66490861c526a2cfeb79de3a47f6b075340690b95dd233ec954d570e614a89eb393a9cbc17236f796742554efacfb5a52c82a47659afd7b1e449a02b615262fc2e3813d747d91975e829c6bf004b612d9f31d276b5c8418c5393ae3856940e1d2b93e09da2a6ef3eb61d206af0ddfff6b0b6900aa682a84b88b20824a5a5db15e654a5d4f455f7aa0287793d2d68fa702f917104b93e91cd87b080b32259da0355cb7f93156b04f424574b1678e6199662d98d0945977d7d93143b7502c9d7f4194a4b3c8fc67f3d1ec89d13c99c789517c8df0f1591c61a14b8646919c6b6b6c0e74f4db83d307b4492d083098b13331c90ffd8f5e1b3007613bb3d80e4736db70585ad30001283587843c8cad3560957e8e6f18d1e1d4909e8759b52dd9a279c2b067e7bafeeb30a081ad2caf0af66bdf89995f4fcea750e20c155365a93bef9609f51d963b92521846a2a77e4f3ababbabe2ba7a7a1de1be61ba5bd38d37705a2de6ba25b83e28c66ec5985896c841fc1bf0d87cf80b0b7f14055d56f43f22d68b6cb32f803ad17003cbf32d4e77538f19d82d93da4798cdeeda78c50478cc229997fd9fa7b5ac4216a2a46be472f547e95d6c8fd842137a788e0da35f5bac1f8c040fe574a6914913985a586969123c44f614047f53e9078194b26d82d5402fd787d03950da894dcf81efbc9e6d643a3f4bd718ed8a7893d95c6054980fe15d036f54a6740144af9ca8cd4db1deefd1c1a265530ccaff7a1af7933958cb959284dd8244297b0c1055b4272b9c5f6fcfa1961bd132611de3bf36e4ba193f285c5457818bceab85626d5f605ce2ae3183ae138b9483d8bc37b1ee01755f059e4b41c83524a678d47ea2063ac7dbe077da66c3c3dd648293fe3755d940f64a5beac7dc630e738e7f31d304b259b146084d1df107b0ab9f7e6c73b9e1195d115ad4cd8d55bf2b38c93538dede2ed7dd6be94a05f382b76deee6269c0ce54cb72b3351c488db83c4a4e680279ceda2ca671520376c3a6a2d32b1cc5ef3b80ac8ce5d9a943c747e1f7b619b536a421585cf573f221bb9562855925901a78d5cd4ca1c3370a2886830cfed4440eac2eefe3c792e97c8cc7d4d338866edd46bccf2729484899ecd47ddb7894c57905ac2aa48228275379ea6cac79356e7519297086ee4c47d19efd9e6aa4becefce95ee4a08385ae3b69cbcd60dc116456da792be1f8add82138dbdb96041743d9c36d5f5832cba5a9916f937175bd85833136a54a328424d7dc2c9952214ab6304e436622ae584272b32b5c4708c46276a5b94a0dd11423a874243fdb7c50e1a37305318cc06b78707cfdc0cf72bf094b26c65483899cf052bacc1e0335dabbef5a3ad8eb34723294180e78e43b9ebde7e912dc4a0f282d366ec743b9d357dbf8c412f5d57e836c72817bc17ed6a3b13196ebae1a868ee3dc2c26f026b6c35fd6d8b00521cb37aa0007acb7caa487c52e34a1e9a1ec97e3e7d3d720f974720c1453ed4df2fb78b998e1d2030e4381dffc4133003d91faa53af87792f18961546a3f0fffc42ad2f9b95077a527a83a74d4467a4cfa80ba7af892a9e0185aa6ae4921f86818fe02c43d61f57bd347a380777f5026b87080a3c9fc29105476c10ff84cf73d92444be5e1fb023e678e24a901e1d235ebf7e3c05b3fadd3b27ddeca7834c0ac5238b25cecf0b1b003568b310909735f2630eceecacae48b18b9a312a5b8e4cdd239f5c93e38f2e54de6ab285ffecee09787b248738b40e66c017be9d3730d83512bee38984118cf2a810ee5ed9e9538a3225768b86534f864d26481a42f14c26caf26ee2bf7a2f5ee8910942e3ba422c856d78027c833f6f622b70183f861485b03e00ea78e76aa5c164a513794f06a33dc94cc70e0c3d9b91808c8741d998ff5a1842c50d05afcfc27198bcd300c4c918761ed124fe374a40bec4910f3266e149d6a3707b0777d189ec973f4f5f12f815146acb101dfd0e4681d2c8623a9f4a8d0a7d41db458d58989d5362911bd8e1bee8c1d84df996ce3165d219250c682c961962f3a26fd1ebfc3d225a4f150a2950010e385b8dc47c41a9a65046658cb91f1d686802a5e55f0d63f2643dc5e3ef0665edda56ac2550688aceb66a354e18eefca24fb9ee797ef3073e28f9cbd0b54754f96bccc80f43b7b62b268f2d021f90eaac7e5b636047b13dbafb86a83984c09af8998e815a63bb9350fee59048f673a997b983631283294d09eea96d4bb478331267d7ec2308da3f243255a8ad5e8b739174deca242b06cd93a5f6fcba4068495505887c071a3cf76f0547d452e17d93161e4cef7ae292bc11a8dc2ecd84aac71520adee170f18a9addd7d233f41b0a0adf8e9314de247638096dc923d796a375e2dc95475a6efaee4f75391171a8eee8357dfc74c1052d9b21680cadc10373ec9eb1d407156956621b579d6979a0a7d45e458b24af8f77ab11e4649d114c1295a072a94ab2dcc1e637634b09f0734c4c30d8a7a939e33b31aecd38e940d972b02564a9629a05ce0aec1750391f4416c22c876e8c844ac6bc6bbbdc41f652e5fd7592ca414ebe1e2671689d3855d231d2edb28bcd539ce6d194fead499c1729731cf6e91cad29ae7eb401e81a25d735cbd977963dfcc18c99efd1ca833df8402ff18c82e5071514ee7d59642228532d62c157fb8dbefac453952c08a00d84ff69692a28b5edc0e02d4512ff0b37dc3abb28d081894d973bebc272d84c77c0bfc68bc0527cddf62d3eac26f74929892acfd6b3278233717876ab7f7185a3091acc0a75517118ccf176bc248e6ab26e7daaf44f39411fa432da671148cceacae7549550156c1917ac9431358e6935e1f3f6b354cb8ec43ca2081f4920c915eeff59d11062148c50305cc3ff93bba2b27f91ea4c51b8226de7f3afed77f2de1f54fa57e563a640aed52bc0d214a7d3e8396c7dafe1203214fd447a4dc6dc38bc210f784884e0d3ec39c24838539ed88be15e7eabee80fbdd9d90fe50bef36eab26cc7895f88a6978243f02d2a1ec8c4ca30805b7b287501ae0c4a6e7dd0c6e31f2a6fbb97da1b9683fc431fe208807382e6af19f6b50e872a17f17ebe7aa52cb0d513897a2c206f1897f012cfdae353ef9c7146862952d3acf579e0bf2ab4fbe1e8b186e83992602f878db18b49f9d8c3a7cb0d97cff9a348e0bf47f0156b56edfdfb5c330ba429a4f10a249554ce7f4d5c6d32864f3809f4fa5f1fa6955ffd967d6c348ac15edcf1ae17d486a927204c734d7cd853329b9eb51b4d0ad54cf16af0e53be43672178dff34b4d46e1a375f3a33fe31a1335b859f700256f25f3f67dd9ef26ea93fcf3fb24b7c557c74f750861e82fe1bec41f2dd89f7121a4784b3c06b3280e8886c9d889b84e89de37756d5353d7128cd530249ffadf14984f623a18aadff8f1457e41622d441032dea004d0698786c14ea049d4c2ef47ccaf20bb3b61eaac087a96f155810ff60d818886d6d8ced59f83838b6950dba03ba6755efb43974d69aa42294cb1023e1afe7d20efe313ec3293ea568da4e3b8c2148ce593a6e98f5ab07a61d31ee37a4932e029f8a0375c8e418e8611838a85cd0d97bb518735a542e9adddfbdcf93382df1aa94e99eacaef976645c660eede1d9b8cc0d1ba293eadf01b209786434b6fb34cc1935d9d0f631b64433714940a31bc8aca8903454f332ad24c8b2c9e8ea517e7ed312ebaa5bed0aefc1a7dd89e6da64edee9724a447e0f046bf1d8233cc456e7ed265304d030e66ebd8877304157fd9c7fc538b78d633bba6bf5720f86f88078dea7b88bf02b1632b2bbaff41048ff0fbf8d28ee786abd7862821d267e1048807f39d7406ba7e61837efb64ff364b8a844ff7cd1594f07a7c29e3c02b82c78598d54a2f62ead749b06c0249e1e9c5cf1242c9950c5a5aad3be988bd56bc00a42f7e723123a77dd51f989bef69ddd044041529052f9537fcafd873e8138cafc076edfc9e9cad27db9056c07cf948330fda5c1ad1d83f0e28fef20df258e7b99c60971ab2718d8e27e27250687a9f0ce931c77669e47520d5a74f58069d0e2269251adb17848dfc27a884e7585e48e8e8fcea079dad0937dfb907952d86b00627d83a6a7077d6e27fa6620c275880beb05f640d4a67bf1a9c66208c5ce21f4dde14fafa842dab31b85a17c1ae1357aeefe42bdcea31ffd2f11676a70f7bb6fce076197ad0aad3c79eb50f2033ecae66b84972251e5d8f261cea1e03e301e3aea15fba8c69f6e2e7f3c47cd6d50aaf79ea26228349bf7641bb5fd341444d", 0x1000, 0x1}, {&(0x7f0000001940)="0120445e4a88177c3920af0b57e69d1df1ab51eceb77a89b5041f558b172a2175e27ce70b345e52eebcdf305af2a2771753751496f5c67e35ea92f061dd88e5894", 0x41, 0x6}, {&(0x7f00000019c0)="7e7a3088f69b05b3a81d9534451360880d0ece0f89bccaeb31c88d0836c08801626ee89e1f3e8d366bb227da0665537a918c3a927ce689b44ba67f9c3b1f15830f5f69d334f3dcfe5a", 0x49, 0x727}, {&(0x7f0000001a40)="8ac9943ede4098765fd0d769ccfffde7f987a42f4f78605956800ce0aa9864d62dc2f71687451f09c1b2bd5330f6561be9ce0e3e1e188bc40e5dd29254ff321de58aaea372216cf612f4719108f980bc759db346053f299d8db21b9dcf4492b606d5a2aa424b70da6de71ad28349dcffcfbdefa7c2c7adf7cb876b5a7f5e3ea9b6fff45ba4d76f0dd46be6dca8d29bcb7aa8a93fb7ab4fa24b99970511b0b3528cdbfa5a895b4d8102b672a548cd23784248e66d", 0xb4, 0x80000000}, {&(0x7f0000001b00)="067e1e5f0769cc295b25f3b4cde003ca65dd52d225b2c1fa8168c53ce1a9a89b8d122e5e8b1bdd2ae3938db731c6e14dc3c59b14ef96b762f359cf7d8e49126e6ac8fcca6b4ea54e8be87fb907da8742e0eb3de5513ffd2253616e1daf28de07db22670d1463bcb3dc748702da68653ef3804cd318ca94c3907dfec3c948ebd9e1fd7df324387eb6f4fb0a6a716afaead4bde37c4a97f90b323c085d3281ce7327475fd070983873b171e2f7a474c9b026f3829b31b28cdc421d61f0e38f2a4e3946bc76e938c051968f4caddba79e472ec4f6f3292412b834fe8cf7f36ecadd8c813d2b3435123599924367c7706c10c12a9d79ae5e4319009d09e0d5f8b7f257a1e8955b23286fbbf84dfa42b396ceb7b58a7645a587bed4ac12de2c767c540b5b360445c7c920224fd87982c6d794688118de88b28d526135ddfd1498aa40f7f2cbb8ec7def4c64710d6056ce9391e99a51f36671014e6b211cc4cd68629451aefac6a11c2b2febe069a4de37294075c3c0864ba1992766034e8d672ee3f6ca2d13c9b9a17edf6a10193ae2decbfa394bd1b2e70137d80dcc90938839aad93e8847ac1088763aa4a89bd9359c4ecd710f41e775a0e7b0d30ac76303841f6215fc2044924839d2fc4cdf14ae37c021a4542f8a842756d8dd5a9da9806dfb9e7a4ba980a1cd9734242a1080698477c35e48f7dbdf7b3a515f3620f583643fb1a27830731b59a18f8ada0bf0fba87b00cf5771a68502e5ef1db2c3d5659d33f50c616c896aa04a5e2de2817dc5081e4ef0d7d6dead847e756fc59b721088d88847bb0df3d8e33ce99fe2379370b9e177636f34139f5a17a33b132ba97aeb65990f07f9595c329a5c735fd5eaa4d132c871a3811f796217ac97b11d4a4d87d2b653a4214ca228cb7cbbf4bb7f54497ca6bb6642025f70047139398ea783f54d35c336163c018c4fc3c08c85976e0f7c8ac47b6d99ec0eabca9b12c64b0113a329f0d81c554a3153c4255a0da2cb68c312e262cf390f270cca4ffa0fa85c9a11a21e224854c302de4bd4e7c50f137b58cf5b5dc7f3189bd8ca702d88430237f89e0bbe19677417eeebc2412dc46a4d1565a424136225a736e4adeccbee8025f7b4468bcd5ade45547c7e69609f7c04e561b9025495ae7d597e5dbad974ec8fe5aacf2e030b13bfba1707b22c63e27c9899b2e535bc521bfd3c86a8c30d8b27ac39194c059037c7c9d29b890d6d5d11ba1d4f9a7d3fffe3f16f09863e016021253d24a7a7c6e6438339fc702aa011251b3b386b82aafe2f7b2db198f1cf18ff897398861e2f7f4fbd68e3469ae476168636d015297cad03dbbbe4dd515300d0a3cd39be420fb6183e96aa04b6a5822b5419ecb05f68f7e459b9c873e874d1ae5f8e40f62b89db8d0676da6934f28727954bedefd42f55fadbec17647b4d48be549658a30ad87b8ed57c730c06bedf500569ae4ca58f075cc8c1f68aa5314989af2b62c569a6ab5f7a32308c007a2640469b0976155282351e32d61c12e00d78a25fac6383f66345b27da96e3b43f9635344f3c60ae2864d11194e27a8afc8212d3a12e3585016f3aa87179199beb507287b908af28b931cb7e6855f5e730a9006c77ebb24e8e049421f518a0303097f6f1615fb86554a65b8f2fe98e33a28eaae63f7465f5b8d3a181b10e92c6189f976ede2cd9abe8997f2f97c0ef014cfdbb0963ec96f86af47604f1ab9c7f62432991570badebb72cdc4d648c84f042c55e2a8bd0efc0191c26014ae84f33dbe4d541af482f88bf9dfff40b06811b8e7d55d5981042cd5bca5bd9b789dfce95dc4491812c63df6e72658708e3a5708d18279f542cba1f0c05b20ed1c032d709a0c9b928d31fe78cdb729c92d40355c1437e265bd52cbd9556080f3199b2b265b6548fdbd74569b913b0f22aa31b13d7af1025e020d2e7efa7439d45b7cec12fddd87d25f25467df84dd75773e38019e3acbb6f075ee5d0d1e899364fe6fedb77eff2c0c9d351d26639c7a0d92bfff093ef2a3f4418069a14057dbfa52bfbc5b7c08360482c02b1778a779fc4d4f6b88836328f39e85ed185536a8e82897c4d2689f9ff30bb096e6aa0b769d558bb27174a70bebd1880c5fef507c1477268602947911a1440b8fb310cf012ac9f540c3c48c0eda113b278dab747e2864a4c87cf6e0b2d6fab81d9d89760a179caf0fdba019182d754d5f30e25bd037544dfda33269b66a5a13398d41915e8610578fe1ff99bdb88b8bada05d42d03336232bd84aa82d055928120d3304c985795e974e4affba0a1c84dd22967b7832fb1ef908d7f5bb0aaa89c35dac2362f5f00ae359cac08e998c9cbf1dc728008e4735da75a2a48c5e51db06705f01a6f5262c60b541a4f9e234dc9b41818b6700e146ef854e6341d054efb8de8251ecce74edbc3e6e5fb9644a17d19a522128e315d92acbfb0b2c31a2b73f1ee3c39f0ede1fd87de2d5078ba55a4e9b7adbf08f4d85cc5a6866085b9446dcb2ab6e806592aad904ad7ab8860739c46354a2801fbd801dd05b336a3bb3cd23b10cdb0c3f1765f1c637f0449f7de31302138e67b5b40c0152f5417023db51048c1d3fc05cbc4490b3015ce5975a2a3c55b352dc36c5542364c7314905e8044b4b90514dd6c441a1a92e20304d481683dc591ccc536547f47382dc80e66debe35f981d746bd86b9c11307759d7b4c985c90fbb053328c704842373e961b974199a8063cad481ad072de3c8f0617b0f605c886e3330b7e8822719c180d137ae85bef283a61a2c051e9ea5645372b33cdf50221fa7a48d461d8a16db75bbb8a1f75667d7a8671b27776597b20b921fffc44d9877389d6ebbc7577d0ee1a4b0b280a237f4e9934f3c9efb5d0c5a59dbfde81d0a8768d3154ef6451ce38f3b5632513d1ade9ecd5f290891438426f8b190e578f7a5b334d6ec485a65c7e3505014d9cd1d8a2bbd41768d75f9f12d41abe7a0f3dc895437833247252c130e29a2e9dd5d24c48da62c0617f7f0c61b6a410f91f6c00e79b27b8cce9899e1072af555a40d52633458f27513949cab09f633cd1cd5ab7854c8b9c61ece8af6d1b3fafe46d76a5e41259aa8b8f42de13c74fd671476dd6096f107bd7551c610de49998d1ca35151e3bc9f5f36dd16d3db9d5604c11c2a7ab69129251df684507f0dfc769a7b83950597af60afd85a9575024877bfbe7e6855ff9cf59d1a0a14005d6d1670234f3f7c5eb9df7108fc66f116715c04022daef5cada2ec1dd6e9eecbf4994cc6a7ef745edc0d18d6494d647d94327ccb35e43b1b49679e503ac6fc5d9bff0bfc94c96b48144bf5a3b3f7d5388ba9eb044991e1969430dc0f5ec025cb198789a5c625ceee6d25c46f4afe4a90563674d31ffa4d44b3639e6732b5af1df2764c09ec1dc4d91287d530688de80851e0867c79bba28e85503c818d60cced54738493a157bc5010d4a79101b608e2bde37540a3a46850679be1d703566e7147938b2a4c81b475b42a956a371f65e26601d6975b01db558f483c2c9a997ba497949546939aee68f0cb5464e6dee3833c7824f9a3698c82e5eb3f4d35c34072e7652024022494ce79ca41380e30a858b6cdd730881827034474bf69ada7d3828b4f71b0685d3b921dff8bd6741b2119ffc18e4ee7a169bc333de6b94401a82008b3a7e348af6aadcec1def7cb5a7f1d5c9844e48407524234d1c06c73a1112044b3b30e83982a158a5d2091e02465c38bf7095a4d3db300435c89153d83f100f47c49468009e6223644edb29f75253b3700cedb8448501247d60c7b8de7c3ee099e7d58541c7776a5ee279b21a035e6abcf82c25b379a35843547fa533199a2105bb8478ceb7ecb11c81a60e3650d128241b2f72b341ddc2e81141f0947921438c142abbd8e466b7ce18286f64b38dee06962f0fd18e6790451b83c1354f9223321e69b9f877be52d707b822b488a8f4859ad8dfa0b94a449511f5d9a1b1541f088970c46a753f0f837e191d6ea61a9e2d861335814c64e246edef41b7b0c00e16869478738fae4b33d3a6b639b51cca783af8fcace0f637c28927f990b6056efc49a79d77ccd3edf2ce24f33e2b3793604f3d6e873f4d8b7777af67bcef05a5cd7beb14ac29b8f0e5c33d363a201863270487f2abc24308ad59428789bd2c03b42fd62a4ef91655d3c79c07262204e97f4a2c7e936b20ba782fd865c466b4e6e357448e82a25075a48a492f89ec2f0d8852fd841d92f322eb02f4d159382ff89cf4a9f14f00d2f6303b27dadf14fe3f5be3dbc675f1dccbbb86210e6c3388d5265fc0347ba68f74dace3baf31c37b606a862893f08d8e2810e487fd99abad222d484fa0fae8148cfdfbc567d00fd7b42c71ff20e21fce33935637c2b528ff93d781ef4ce467cb71a78d3c5d2feff497906620db014bbe0d0f38b6f2fa30e3932c8a7b2b35e9c882ebe60a1af41631723c6f52391ff7f12b29f968ff707653fc9a7b55c33240512d7434dee129ce8ef1ceb26a652b47fcfcdf41577d40bc2093ada54912e946af3f168cd5f83f8b92f597f27826af731c6361da8ed62848364024b03265f134b3d69c814ddaac109f6467790c2869b2b6964e45ee216ea9eb66d22cbb0e128fb66761c63cfc23acfba0057abcee865025405707e3f6470df5981731692d8ded6c3bbe35483b01caae45cd428583ae1efec2c95a637ec8dbf4712bfefee74bed3e9aa9c6e2ce4e6ad3d13d5cbb02e2c8aafcae3fec59e0f15353c8473dc81558c78c4bbbb5ac7643070639f681c0db4bf8109d3b4e619cb21326b5fa102942bfae8514b75b6b8ba325793df56a2bd4802e5da4d1bfbbdc583549fbad33bcae4ef784a93306c7a59b048172bdb0d70fa732a80b637696a1f9dca578632aede4d98320c0760781326d76a8dea6a1e5f3df8e71b84e8676be34ea8f3f3f9feff383511f3186ddcd015feb969f522ec9a54eb03b4e4be90ac9a1c66ce0428da84212b39c597b7c1841770d127b5a1f66c0658863c0a44dc6a94fb0bfcfdb950be79cb60907f30f0a285bf774e243a00c88bea7e45b86ab0ca1b6b1819d11d108360e94935d0279fd6ae7e98cd429731c8a4f0029adae984bf67e5360c5e74e0a03b5bedb37c61abb6eef20bf47a41da3c9e22483127cba21d00f182d560a3b0d676ac0d2eec8da803508228dbcde9e10a6c0d7bf699ca4e51728d552b17da65513f90d1c596a398fbba40c51cbfade25cc6c728aead0f5cbe0952edc03620a953edb18da2537b0a67696817d0ba93e2c3992d682697778f1b21600a32359c1e7cfcc626a57c2597a8cffb716fe8168afe7f4ae7b089a865e33555c8611e5255109f66c34602d3d12d948a3851f5aa7b8e03f1f92edb0e8ccc4620abac7c47d08bd7f94aee096ac7d424c4558a23802447ef40017e396c937525e9c1c3514b9a1413c854465a961572d412b190aa93a3acaeca4d2e93b33d897565ebba99f2795ac40b671ffda9abbf8f21e58db72c5d46a38f615e32bcc61b9647747e0b0c19b91362dd2c86ab7bbfc7e54e57fdb8dd91c662d8a2d4247935c29895e7cbbc5da0de56b81864c5af34feafa12af6c70892dbef5bb5c35b42a811f07d4a8f9c2e37e93f8ce46a08d7c0ef79b58c28522d5e136eba61573a95d6899cd37772bc270dbd817eb49c4e2f4a4e78f4ea88d75a667fe2a073c077e25d2b249b2c4324e16feef7947be1f623be937d6cf33c2cc24f84c9e7797e6b3df0ca5fe2be83a388c92736fd008e5322b3a4b1ae", 0x1000, 0x8}], 0x1000000, &(0x7f0000002c00)={[{@resize_auto='resize=auto'}, {@balloc_noborder='block-allocator=noborder'}], [{@fsuuid={'fsuuid', 0x3d, {[0x1647f47d5b6e8b4e, 0x35, 0x66, 0x64, 0x37, 0x61, 0x61, 0x34], 0x2d, [0x30, 0x37, 0x64, 0x66], 0x2d, [0x31, 0x4, 0x62, 0x34], 0x2d, [0x51, 0x37, 0x35, 0x34], 0x2d, [0x32, 0x36, 0x66, 0x33, 0x33, 0x35, 0x66, 0x39]}}}]}) ioctl$FIGETBSZ(r5, 0x2, &(0x7f0000002c80)) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) r6 = syz_open_dev$vcsn(&(0x7f0000000180)='/dev/vcs#\x00', 0xffffffffffffffe1, 0x8000) sendmsg$NFQNL_MSG_VERDICT(r6, &(0x7f0000000380)={&(0x7f0000000300)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000340)={&(0x7f00000004c0)={0x190, 0x1, 0x3, 0x401, 0x0, 0x0, {0x2, 0x0, 0xa}, [@NFQA_VLAN={0x2c, 0x13, 0x0, 0x1, [@NFQA_VLAN_PROTO={0x6, 0x1, 0x1, 0x0, 0x8100}, @NFQA_VLAN_PROTO={0x6, 0x1, 0x1, 0x0, 0x8100}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0xff}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0x652}, @NFQA_VLAN_PROTO={0x6, 0x1, 0x1, 0x0, 0x88a8}]}, @NFQA_VLAN={0x1c, 0x13, 0x0, 0x1, [@NFQA_VLAN_PROTO={0x6, 0x1, 0x1, 0x0, 0x88a8}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0x1000}, @NFQA_VLAN_TCI={0x6, 0x2, 0x1, 0x0, 0xf905}]}, @NFQA_CT={0xdc, 0xb, 0x0, 0x1, [@CTA_TUPLE_ORIG={0x38, 0x1, 0x0, 0x1, [@CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x2f}}, @CTA_TUPLE_ZONE={0x6, 0x3, 0x1, 0x0, 0x4}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5, 0x1, 0x84}}, @CTA_TUPLE_IP={0x14, 0x1, 0x0, 0x1, @ipv4={{0x8, 0x1, @rand_addr=0x64010102}, {0x8, 0x2, @initdev={0xac, 0x1e, 0x1, 0x0}}}}]}, @CTA_SYNPROXY={0x3c, 0x18, 0x0, 0x1, [@CTA_SYNPROXY_ISN={0x8, 0x1, 0x1, 0x0, 0x1000}, @CTA_SYNPROXY_ISN={0x8, 0x1, 0x1, 0x0, 0x2da0}, @CTA_SYNPROXY_TSOFF={0x8, 0x3, 0x1, 0x0, 0x790}, @CTA_SYNPROXY_ITS={0x8, 0x2, 0x1, 0x0, 0x5}, @CTA_SYNPROXY_TSOFF={0x8, 0x3, 0x1, 0x0, 0x40}, @CTA_SYNPROXY_TSOFF={0x8, 0x3, 0x1, 0x0, 0x225}, @CTA_SYNPROXY_ITS={0x8, 0x2, 0x1, 0x0, 0x400}]}, @CTA_NAT_DST={0x24, 0xd, 0x0, 0x1, [@CTA_NAT_V6_MINIP={0x14, 0x4, @mcast2}, @CTA_NAT_PROTO={0xc, 0x3, 0x0, 0x1, [@CTA_PROTONAT_PORT_MAX={0x6, 0x2, 0x4e20}]}]}, @CTA_SYNPROXY={0x14, 0x18, 0x0, 0x1, [@CTA_SYNPROXY_ISN={0x8, 0x1, 0x1, 0x0, 0xc6}, @CTA_SYNPROXY_ISN={0x8, 0x1, 0x1, 0x0, 0x2}]}, @CTA_SEQ_ADJ_REPLY={0x2c, 0x10, 0x0, 0x1, [@CTA_SEQADJ_OFFSET_AFTER={0x8, 0x3, 0x1, 0x0, 0x6fe}, @CTA_SEQADJ_CORRECTION_POS={0x8, 0x1, 0x1, 0x0, 0x5}, @CTA_SEQADJ_OFFSET_AFTER={0x8, 0x3, 0x1, 0x0, 0x6}, @CTA_SEQADJ_OFFSET_BEFORE={0x8, 0x2, 0x1, 0x0, 0x800}, @CTA_SEQADJ_CORRECTION_POS={0x8, 0x1, 0x1, 0x0, 0x400}]}]}, @NFQA_VLAN={0x1c, 0x13, 0x0, 0x1, [@NFQA_VLAN_PROTO={0x6, 0x1, 0x1, 0x0, 0x8100}, @NFQA_VLAN_PROTO={0x6, 0x1, 0x1, 0x0, 0x8100}, @NFQA_VLAN_TCI={0x6}]}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffe, 0xfffffffd}}, @NFQA_CT={0x4}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffa, 0x800}}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffc, 0x1}}, @NFQA_MARK={0x8, 0x3, 0x1, 0x0, 0xfff}, @NFQA_VERDICT_HDR={0xc, 0x2, {0xfffffffffffffffd}}]}, 0x190}, 0x1, 0x0, 0x0, 0x4004044}, 0x0) setsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f0000000080)={{{@in=@loopback, @in6=@local, 0x0, 0x0, 0x0, 0x0, 0x2}, {}, {}, 0x0, 0x0, 0x1}, {{@in=@empty, 0x0, 0x32}, 0x0, @in=@broadcast, 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x5d7928e712) 06:52:35 executing program 1: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40000050d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x2, @perf_bp={0x0}, 0x801, 0x9}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$ION_IOC_ALLOC(0xffffffffffffffff, 0xc0184900, &(0x7f0000000040)={0x3, 0x1}) r0 = dup(0xffffffffffffffff) syz_open_dev$dri(&(0x7f0000000380)='/dev/dri/card#\x00', 0x0, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(0xffffffffffffffff, 0xc00c642e, 0x0) r1 = syz_open_dev$dri(&(0x7f0000000000)='/dev/dri/card#\x00', 0x0, 0x0) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r1, 0xc00c642e, &(0x7f0000000240)={0x0, 0x0, r0}) ioctl$DRM_IOCTL_PRIME_HANDLE_TO_FD(r1, 0xc10c5541, 0x0) r2 = dup3(0xffffffffffffffff, r1, 0x0) setsockopt$IP_VS_SO_SET_ZERO(0xffffffffffffffff, 0x0, 0x48f, &(0x7f0000000180)={0x3c, @initdev={0xac, 0x1e, 0x1, 0x0}, 0x0, 0x4, 'wrr\x00', 0x0, 0x80, 0x13}, 0x2c) getsockopt$inet_sctp6_SCTP_RECVNXTINFO(r2, 0x84, 0x21, &(0x7f00000003c0), &(0x7f0000000400)=0x4) ioctl$DRM_IOCTL_SET_SAREA_CTX(0xffffffffffffffff, 0x4010641c, 0x0) ioctl$DMA_BUF_IOCTL_SYNC(0xffffffffffffffff, 0x40086200, &(0x7f0000000200)=0x5) r3 = openat$ipvs(0xffffffffffffff9c, 0x0, 0x2, 0x0) ioctl$KDGKBDIACR(r2, 0x4b4a, &(0x7f0000000280)=""/205) setsockopt$CAN_RAW_ERR_FILTER(r3, 0x65, 0x2, &(0x7f0000000100)=0x9, 0x4) bpf$OBJ_GET_MAP(0x7, &(0x7f00000001c0)={&(0x7f0000000140)='./file0\x00', 0x0, 0x10}, 0x10) sendmsg$nl_route(r3, &(0x7f0000000440)={0x0, 0x0, 0x0}, 0x4000) r4 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r4, &(0x7f0000000080)={0x0, 0x3200, &(0x7f00000000c0)=[{&(0x7f0000000000)="2e00000022008151e05b80ecdb4cb904044865160b00160002000000740004140e001100024d0000dc2976d153b4", 0x235}], 0x1}, 0x0) 06:52:35 executing program 2: perf_event_open(0x0, 0xffffffffffffffff, 0xe, 0xffffffffffffffff, 0x9) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) timer_create(0x0, &(0x7f0000066000)={0x0, 0x12}, &(0x7f00009b1ffc)) timer_settime(0x0, 0x0, &(0x7f0000000040)={{0x0, 0x989680}, {0x0, 0x9}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000240)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) perf_event_open(&(0x7f0000000140)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x3}, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000080)='./file0\x00', 0x1070c5, 0x0) r2 = open$dir(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) r3 = openat$bsg(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/bsg\x00', 0x2000, 0x0) write$P9_RVERSION(r3, &(0x7f0000000100)=ANY=[@ANYBLOB="1500000065ff610d0000960200395032303030ad4f"], 0x15) r4 = socket$inet_udplite(0x2, 0x2, 0x88) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) write$9p(r1, &(0x7f0000001400)="3b27a4b46ee92b4a59073c369a5e19f9db153c4fdbc76aa2a4bb9f3e5e1aa197a9e97d1016c01813792e50c2692c175aad715d110a892949ccc6e2e54c2d5c8f0b7932b69797f217168b0c1feb128ae34f0daf487a70b5c117acd43725fe17993634f1695dabd7f998cd55e9d5bd911e86aa7a4ad75a574bb96951d6018b25d942a9544bca1ebb0e8d10c092cdcb85797673972099e4041aaf8d636f66cb1103ef2050ad28fabaed33d6927889d97f4b5ce0de71d3fd832980f4f088d0d824e20549b4bbd906ffa51ce9de54d779eb4de462faac20a3ab0ed9934373ca22cea5454f4c2a740cd461e39956bb5f98df2aebc60cf32623adbffbcc378fa7250b6a3fc863dadcf6d4f8b855c4e70f0796eee6218445dad2811dd6b540ff52efa2f167dd9c1b8b016268d37db430983fefc0645d20614c8df2eb0872c58e09664e672b0b6a9970fec199257e1c606ec3e364c66a0f4d258c74accd43b987c756d602fd8787fed3aa43fd8d84e9656d4a413fa9a423bc54b873583d6d497005e54712fafc71384988d80134fbf84f53fdd74b354848006b8b5b67e7cc5a472475d3ae545ca1fcf7628b873e31ba83a98a7ad5b0cfbe9711b517a9a1388ad0efa2a3b4e22152021d631b731e2e100a9831111db7acce948bb5deeea260463c140ac929e77c58402776caf85d4569a75dde2f64c4491508afb541ed9b2c81fc95c06706235f383e31cf662c95b1e49cfd94871e22720a41535756e419b271276941692bd023dd9c9dbec4f7db1e5c00d8b3be7b8e826a6aadd001edd0dfeb00f8048442b5c48456fd642e629dcb2ff55592665ff491cd832672ce4d999da186db2c3a1f8b6b1f7d3750d7cdb3097954e6e14fb2183ad662c63d4ce8b82dc2487f0fe2ea2827b53a7c6dcced878d2fb29c1d3ff583570e7bc172d1a5c716e0447cb08ce3c468ffdf975da372f3f3eb455aaf5822bc04a51b6cad24a2331369df81c123b009a2381b42e9aeb077f621608d81c12a5f5c6c295d74afd4dd5c051296be0b54c70bf899b347c36bff62f313079983409d7f9cf1242c917985c1b5d0736fe21f8514f63d0369a374c42da40bd5140bc3e602d00c3cb4f8e621863ab47422778d67d72de34753fd72cef80649a1548e4e8dcbcffe4054cc9d8a1f922623a75904cbdaacde768131e587269a4a99d82f7009c1b8ab79aa232a2fd45ad71b603803123f6ba979fa6a87525884b08d721a21400fb1f950b96ead82f408cc4388d3b78fb456616429a520656d5e5a876fd04748498902c86f58d45f4c1b3919eb846a00edf07e7a830bf723e4774f085f15534dd3b5246c0c0970b5ad7bb39b30b156a9430378c5b0aab1261c78d72ac301cd552d5e8dd4b642ec1dc0672745d593bb26d095b5b23576e3cfd6ab580f6e09419d0f0c64250fafaa3759aa1888da48d89c3f7c9454b0b3d0ab40445f5bed4493ef43ab08f31b1345ac4ffd94ad79c9eee53904ed6f572817153190d2e6863f2e39356bb99926419fd314341a536b7e76cae60bf7750a4c29e3f4c7f005530b1d4ee0e25b93b76fcc1108222f0b00de52cf4100e97adfd7b9db1370586ba27e1e183299be00d0df8439c380edf2f79deb441eac59b814b04accdff5e17f02046139f91f0332661676ff506e575f0cb2850bcc9f8666f6d1f69f8f4271cb804a79fccd7016f049d1a494c26a527c437fa0be6d51ec7543d9bd7a2f016194ebe3c99080a6c9b5119863dfe865f8e60cae29f50b67dbfaa0a3c9794d73034485ca1613344c572783db3dfab01b28089c51cda99cefa4c1c881a29e229f04c7e0fd04dc425ae8417852e6e31520c6207e9d4e35285feef2a2cb8a3bceb08a166fa4284a516362621e2c06731a442791f1db063a32cf1f005c914102c7273cb4d7ab1bf567d72f230783d2ea99c43a60e8729132441ee6c5362c33f9b613f84417c3c5549f4e3d9e73c6f83f16c8e57ae22fe5f54515e111fe43ad7c400d214281452bb6141cecad84b23a695f061988d906d03be5d89584634b9e9d9a9b072f8e7cbb47c47719318a2001cafa665dd2c82672d16877ea115bd023fc1975f7c59664bfb06f66a1a5e3f05cb283fb45ea67a2727ee6e10bf35b31fdd03d43ec67b753f6737e0d2f4a5275031595878cefc8f0ca", 0x600) sendfile(r1, r2, 0x0, 0x1c575) [ 276.693206] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 06:52:35 executing program 0: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000e2f4655fe2f4655f0100ffff53ef010001000000e2f4655f000000000000000001000000000000000b0000000001000018000000c28500002b02", 0x66, 0x400}, {&(0x7f0000010100)="0000000000000000000000000ac78aee630b40d9ae2efa3163fd2529010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012500)="ed41000000100000e2f4655fe2f4655fe2f4655f000000000000040080", 0x1d, 0x4100}], 0xc001, &(0x7f0000000440)=ANY=[]) arch_prctl$ARCH_SET_GS(0x1001, &(0x7f00000000c0)) lsetxattr$trusted_overlay_upper(&(0x7f0000000040)='./file0\x00', &(0x7f0000000080)='trusted.overlay.upper\x00', &(0x7f0000000140)={0x0, 0xfb, 0x57, 0x0, 0x4, "35a2f55c0530d2cd9812fd50aa458b0b", "7b9f0ac54eeca9ccec35e3a19e984c43921d3ba485495658d36bee5af85b9c8a44e3ab2300e05aea3481bae9d2151ea72593bd5a246aa86fe5ee0fa2a634cea0fe59"}, 0x57, 0x1) [ 276.722608] audit: type=1804 audit(1609743155.535:46): pid=13534 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.2" name="/root/syzkaller-testdir820389804/syzkaller.b9I7p9/64/file0" dev="sda1" ino=16082 res=1 [ 276.745805] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. [ 276.772446] IPVS: ftp: loaded support on port[0] = 21 [ 276.838967] EXT4-fs (loop0): mounted filesystem without journal. Opts: ,errors=continue [ 276.856451] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. 06:52:35 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f0000000200)={0x2, 0x4e20, @empty}, 0x10) getsockopt$ARPT_SO_GET_INFO(0xffffffffffffffff, 0x0, 0x60, 0x0, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x2, &(0x7f0000000040)=0x2800, 0x4) syz_genetlink_get_family_id$l2tp(0x0) sendmsg$L2TP_CMD_SESSION_DELETE(0xffffffffffffffff, 0x0, 0x0) socket$phonet_pipe(0x23, 0x5, 0x2) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000400)={0x1, &(0x7f00000001c0)=[{0x6, 0x0, 0x0, 0x7654}]}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000100)='dctcp\x00', 0x6) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @dev={0xac, 0x14, 0x14, 0x1c}}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000440)='cdg\x00', 0x4) r1 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080)='/proc/self/net/pfkey\x00', 0x40c482, 0x0) ioctl$sock_bt_bnep_BNEPGETCONNLIST(r1, 0x800442d2, &(0x7f00000000c0)={0x6, &(0x7f0000000280)=[{0x0, 0x0, 0x0, @link_local}, {0x0, 0x0, 0x0, @multicast}, {0x0, 0x0, 0x0, @broadcast}, {0x0, 0x0, 0x0, @random}, {0x0, 0x0, 0x0, @link_local}, {0x0, 0x0, 0x0, @link_local}]}) sendmsg$inet(r0, &(0x7f00000015c0)={0x0, 0x14, &(0x7f0000001600)=[{&(0x7f0000000240)=' ', 0xffffff1f}], 0x1}, 0x0) pause() recvmsg(r0, &(0x7f0000000580)={0x0, 0x2, &(0x7f0000000500)=[{&(0x7f0000000740)=""/4096, 0xa15b0}], 0x1}, 0x700) r2 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000140)='/dev/dlm-control\x00', 0x200000, 0x0) ioctl$FBIOBLANK(r2, 0x4611, 0x4) 06:52:35 executing program 1: mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) mkdir(&(0x7f00000009c0)='./file1\x00', 0x0) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 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, @perf_config_ext={0x7ff, 0xc7}, 0x0, 0x0, 0x0, 0x0, 0x101, 0x2}, 0x0, 0xfffffffffffffffc, 0xffffffffffffffff, 0x0) setxattr$system_posix_acl(&(0x7f0000000580)='./file1\x00', &(0x7f00000005c0)='system.posix_acl_default\x00', &(0x7f0000000c40)=ANY=[@ANYBLOB="02000000010000000000000002000000", @ANYRES32=0x0, @ANYBLOB="02000000", @ANYRES32=0x0, @ANYBLOB="040000000000040008000000", @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB='\b\x00\x00\x00', @ANYRES32=0x0, @ANYBLOB="100000000000000020"], 0x5c, 0x0) mount$overlay(0x40000d, &(0x7f0000000000)='./file0\x00', &(0x7f00000000c0)='overlay\x00', 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="75707065726469723d2e2f66696c65302c6c6f7765726469723d2e2f66696c65302c776f726b6469723d2e2f66696c65315c006b56a93798675eec2ae954c4081a3652379c056c93c48cafab7c4bb488a82b1e1aacb1e65ca46a1be4e906b7ba913fc02432e9e347f85358a1418abdd2adaeda940afff04d65db0731cff407e69e9040150f9aa95953e9ac93741d7da9d23610f940b5872377e2c0c06b736bf6ddefea990d99cbf75b7b15f2c9906538659185b044d00684684205e62e018e44db65a9e9486772c8cdd818a4e529b8ffeb46b4da18ef8fee01a6e4c3adcfc4014cba68ec0923733b40e696426869d51da535ef2b7b8d7fb024c463ab2dd3f3cdf2acc7033df3510249f3793849ecc6d631536e76b465775521a81c547a0d6322ba5487fa953a0fa93f0642cc8e5534de7f603bc2604080e971fe0000000000000000000000001a005826682d59133b41107eaff0c1b16536566b67f479cc78b00dc9cbd78674460704d7dd980a346c9bbf29241ecfd7cbc7ccd91b190862d36da55b3c602f1a2e4ca140374ba1c1c860046b46719e906639cd4bcd50bc5f355b2bff241c9cbb1c164e893a93bf6a2f59267d02a29d3e1ebf6f922e90fb2f21016d21fe598d16b84745d6ab73631dfe0fef08011f1fba907dacd2abe54662a7184aa061e5bad4a0962a6dca10506ae9e2e107209bb29126b34b5deb60153469db3a08057f1970c05afe0a1858c6fac891a67ff099b33a4e"]) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) ioctl$sock_inet_SIOCSIFPFLAGS(0xffffffffffffffff, 0x8934, &(0x7f0000000140)={'veth1_to_hsr\x00'}) r0 = socket$inet(0x2, 0x0, 0x0) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f00000004c0)={@in6={{0xa, 0x4e23, 0x9f, @mcast1, 0x5}}, 0x0, 0x0, 0x2d, 0x0, "98d3340600c7aa11897ecaab876eab79576839c5656be8410f2802e944af80373be2666b665770173fbd1883303b6ac4749393ad08f139a68f000900"}, 0xd8) bind$inet(r0, &(0x7f0000000100)={0x2, 0x4e21, @multicast2}, 0x10) recvmsg(r0, &(0x7f0000000240)={&(0x7f0000000040)=@nfc, 0x80, 0x0, 0x0, &(0x7f0000000200)=""/20, 0x14, 0xb01001f1}, 0x0) [ 276.891981] REISERFS warning (device loop3): super-6502 reiserfs_getopt: unknown mount option "fsuuid=N5fd7aa4-07df-1b4-Q754-26f335f9" 06:52:35 executing program 4: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0xffffffbfffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f0000000000)='.\x00', 0x0, 0x0) r0 = socket(0x10, 0x3, 0x0) openat$tcp_congestion(0xffffffffffffff9c, &(0x7f0000000080)='/proc/sys/net/ipv4/tcp_congestion_control\x00', 0x1, 0x0) r1 = socket$inet(0x2, 0x3, 0x5) setsockopt$inet_msfilter(r1, 0x0, 0x8, &(0x7f0000000000)=ANY=[], 0x1) r2 = dup(r1) getsockopt$inet_pktinfo(r2, 0x0, 0x8, &(0x7f0000000040)={0x0, @local, @local}, &(0x7f00000000c0)=0xc) sendmsg$nl_route_sched(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000800)=@newqdisc={0x64, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_dsmark={{0xb, 0x1, 'dsmark\x00'}, {0x34, 0x2, [@TCA_DSMARK_INDICES={0x6, 0x1, 0x4000}, @TCA_DSMARK_DEFAULT_INDEX={0x6}, @TCA_DSMARK_DEFAULT_INDEX={0xfea4}, @TCA_DSMARK_INDICES={0x6}, @TCA_DSMARK_SET_TC_INDEX={0x4}, @TCA_DSMARK_INDICES={0x6}, @TCA_DSMARK_SET_TC_INDEX={0x4}]}}]}, 0x64}}, 0x0) 06:52:35 executing program 0: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = semget(0x3, 0x2, 0x340) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000200)=@newsa={0x148, 0x10, 0x713, 0x0, 0x0, {{@in6=@initdev={0xfe, 0x88, [], 0x0, 0x0}, @in6=@loopback}, {@in6=@ipv4={[0xfffffff0], [], @broadcast}, 0x0, 0x32}, @in6=@dev, {}, {}, {}, 0x0, 0x0, 0x2}, [@algo_crypt={0x48, 0x2, {{'ecb(cipher_null)\x00'}}}, @XFRMA_SET_MARK={0x8}, @XFRMA_SET_MARK_MASK={0x8}]}, 0x148}, 0x1, 0x1400000000000000}, 0x0) openat$cgroup_ro(0xffffffffffffffff, &(0x7f00000002c0)='cpuacct.usage_percpu_user\x00', 0x0, 0x0) sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, 0x0}, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x0) r3 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f00000002c0)='cpuacct.usage_percpu_user\x00', 0x0, 0x0) sendmsg$nl_xfrm(r1, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=@getpolicy={0x224, 0x15, 0x0, 0x0, 0x0, {{@in=@initdev={0xac, 0x1e, 0x1, 0x0}, @in=@dev={0xac, 0x14, 0x14, 0x1e}, 0x0, 0x0, 0x4e22, 0x7, 0x2, 0x30, 0xa0, 0x7ac22c3926d72631, 0x0, 0xee00}}, [@replay_esn_val={0x38, 0x17, {0x7, 0x0, 0x70bd29, 0x70bd2b, 0x70bd2d, 0x6, [0x0, 0x0, 0x0, 0x3, 0x8, 0xd2f, 0x0]}}, @user_kmaddress={0x2c, 0x13, {@in6=@initdev={0xfe, 0x88, [], 0x1, 0x0}, @in=@local}}, @sec_ctx={0x71, 0x8, {0x6d, 0x8, 0x0, 0x20, 0x65, "22c2a5860c908aa6bf897ad4e1bfcab4197952ad8656d88ed2a1ef43278e8c29d0d022e7c9491cf51a49159d0b580b95400ca24329e4191c8d321eea669c7a0d9fe5484c3528df4ef86d8e8cee19c12684f4de6ced2b6a67443df070dba9460b459eb1f8c3"}}, @sec_ctx={0x4f, 0x8, {0x4b, 0x8, 0x1, 0x0, 0x43, "6d4d6510b7566805bd5d87a440f0449ec777d6b97a49afdf44bfcc7f53d380a85436f4f79b2ba540729bfa11a19153a98282d817e74221ad1bd737719974377bf95594"}}, @policy={0xac, 0x7, {{@in6=@ipv4, @in=@initdev={0xac, 0x1e, 0x1, 0x0}, 0x4e23, 0x5, 0x0, 0x8, 0xa, 0x0, 0x20}, {0x4, 0x2, 0x0, 0x0, 0x0, 0x0, 0x800, 0x7}, {0x0, 0x7fffffff, 0x100}, 0x9, 0x6e6bb8, 0x0, 0x0, 0x0, 0x3}}]}, 0x224}, 0x1, 0x0, 0x0, 0x800}, 0x0) ioctl$BLKGETSIZE(r3, 0x1260, &(0x7f0000000000)) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(r3, 0x89f1, &(0x7f0000000440)={'syztnl1\x00', &(0x7f00000003c0)={'syztnl2\x00', r2, 0x8, 0x40, 0x7fffffff, 0xec, {{0x11, 0x4, 0x3, 0x29, 0x44, 0x65, 0x0, 0x8, 0x4, 0x0, @dev={0xac, 0x14, 0x14, 0x36}, @empty, {[@generic={0x94, 0x5, 'Q1s'}, @noop, @rr={0x7, 0x27, 0xc5, [@empty, @multicast2, @initdev={0xac, 0x1e, 0x1, 0x0}, @rand_addr=0x64010102, @initdev={0xac, 0x1e, 0x1, 0x0}, @dev={0xac, 0x14, 0x14, 0x3c}, @empty, @initdev={0xac, 0x1e, 0x1, 0x0}, @remote]}, @end]}}}}}) r5 = getuid() mount$9p_virtio(&(0x7f0000000100)='syz\x00', &(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)='9p\x00', 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB='trans=virtio,nodevmap,fscache,afid=0x0000000000000001,privport,privport,version=9p2000,mmap,debug=0x0000000000000009,cache=fscache,cache=mmap,pcr=00000000000000000048,eui', @ANYRESDEC=r5, @ANYBLOB=',subj_role=vfat\x00', @ANYRESDEC=0xee00, @ANYBLOB="2c7375626a5f747970653d76666174002c726f6f74636f6e746578743d73746166665f752c736d61636b6673726f6f743d162c6673636f6e746578743d757365725f552c6673757569643d62616262633665332d383664352d316339362d366166652d65366530"]) r6 = socket$netlink(0x10, 0x3, 0x0) r7 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r7, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r7, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x2ba) sendmsg$nl_route(r6, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c00000010008506000000000000000000020000", @ANYRES32=r8, @ANYBLOB="fe000000935b00001c0012000c000100626f6e64000000000c0002000800010005"], 0x3c}}, 0x0) sendmsg$nl_xfrm(0xffffffffffffffff, &(0x7f00000005c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000580)={&(0x7f0000000480)=@updpolicy={0xdc, 0x19, 0x200, 0x70bd28, 0x25dfdbfc, {{@in=@remote, @in=@dev={0xac, 0x14, 0x14, 0x2f}, 0x4e24, 0x0, 0x4e22, 0xffff, 0xa, 0xa0, 0x1a0, 0x4, r4, r5}, {0x7f, 0x5, 0x9, 0x14, 0x9, 0x6, 0x81, 0xb828}, {0x8, 0x9, 0xffffffff, 0x8}, 0x88b8, 0x6e6bc0, 0x1, 0x0, 0x1, 0x3}, [@encap={0x1c, 0x4, {0xfffffffffffffffe, 0x4e20, 0x4e21, @in6=@private0={0xfc, 0x0, [], 0x1}}}, @XFRMA_IF_ID={0x8, 0x1f, r8}]}, 0xdc}, 0x1, 0x0, 0x0, 0x4010}, 0x4048040) semctl$IPC_RMID(r0, 0x0, 0x0) [ 277.050022] netlink: 32 bytes leftover after parsing attributes in process `syz-executor.4'. 06:52:35 executing program 1: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xbfffffffffffffff, 0xffffffffffffffff, 0x0) bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM(0x15, 0x0, 0x0) ioctl$RTC_PLL_SET(0xffffffffffffffff, 0x40207012, &(0x7f0000000080)={0x7, 0xfffffffa, 0x0, 0x8000, 0x101, 0x5, 0x100}) socketpair$unix(0x1, 0x5, 0x0, 0x0) sendmsg(0xffffffffffffffff, 0x0, 0x40000) keyctl$instantiate_iov(0x14, 0x0, &(0x7f0000000600)=[{&(0x7f00000003c0)="be35e80ce899022dd17ead011a53f1f206f95b2c62562199e813a42cf9ab1542bd2b1a4384566fef10bc7fc4818903101b", 0x31}, {&(0x7f0000000400)="52b7c549f8cd4c12372a74dd38dffba41101a7d7dfd7f8e9f26483cbc4e12a557686a5e0905453d3410fc09611dd995065f2049a379200a2e197f482", 0x3c}, {&(0x7f0000000440)="eb82a6c40e", 0x5}, {&(0x7f0000000480)="98e317c4f70d460754debcc11fc9171533d01fa47031ee01a1bb4a4b1b572dd86b1c72f011feb5537bd6fa331585b4c19189b30983bb4c46c1a229", 0x3b}], 0x4, 0x0) ioctl$PERF_EVENT_IOC_QUERY_BPF(0xffffffffffffffff, 0xc008240a, &(0x7f0000000300)=ANY=[]) syz_open_procfs$namespace(0x0, 0x0) r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000040)='/dev/btrfs-control\x00', 0xa00, 0x0) ioctl$DRM_IOCTL_MODE_GETPLANERESOURCES(0xffffffffffffffff, 0xc01064b5, &(0x7f0000000280)={&(0x7f0000000140)=[0x0], 0x1}) ioctl$DRM_IOCTL_MODE_GETPLANE(r0, 0xc02064b6, &(0x7f0000000300)={r1, 0x0, 0x0, 0x0, 0x0, 0x2, &(0x7f00000002c0)=[0x0, 0x0]}) ioctl$TIOCGPKT(r0, 0x80045438, &(0x7f0000000380)) r2 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000001580)=ANY=[@ANYBLOB="b702000003000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b70000000000000095000000000000002c3f2cc2b7954244cef7499cde2bbaf4b06d3585a09a87507ebf4e43bc06"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000000c0)={r2, 0x18000000000002e0, 0x69, 0x20000000, &(0x7f00000004c0)="b95b03b700030000009e40f086dd1fff060000000000002f77fbac141412e0000001c699da153f08e0e6e380f60108f683317585d7473f1cab4439f0f570ff155bc5f73ba3f8bb99a6e8ded1ce485cf058105cd981b42493481cd659416a2e10c9119664f36eb00b333c20c9ec0c222d644bdcb178c1cc53d6960fbb842d6a33dfcde3a1e1848135214baf139753866cadcbe3ce52505e992818cc452bee339d9ab076f484020eaa348a21d7911e4c44905256ec2cc54cca47a198b00c10aff62a4bed43a2ebcad92743fb22c593f28fd4bb7c703cde9cae0569d4c8d9a823f2c12863f7a6c0cf88ed22aae4f6f084508833b61429a25773eedf63dd9f33d430f2a0a30a7761db16fe0f743b95ded898c28aac1256ce2751b3d738899b8b19d9052b7f13ff94", 0x0, 0xfd, 0x6000000000000000, 0xfffffffffffffe7e, 0x1d4}, 0x28) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, 0x0, 0x0) ioctl$TIOCSCTTY(r0, 0x540e, 0x7) [ 277.090729] overlayfs: workdir and upperdir must reside under the same mount [ 277.176036] IPVS: ftp: loaded support on port[0] = 21 [ 277.305050] REISERFS warning (device loop3): super-6502 reiserfs_getopt: unknown mount option "fsuuid=N5fd7aa4-07df-1b4-Q754-26f335f9" [ 277.390824] Bluetooth: hci5 command 0x0409 tx timeout 06:52:36 executing program 5: syz_mount_image$vfat(0x0, 0x0, 0x9, 0x1, &(0x7f0000000140)=[{&(0x7f0000000100)="f477075283b2e6", 0x7, 0x6}], 0x2000010, &(0x7f0000000180)=ANY=[@ANYBLOB='utf8=0,e\\id>', @ANYRESDEC=0x0, @ANYBLOB=',uid<', @ANYRESDEC=0x0, @ANYBLOB=',hash,mask=^MAY_EXEC,\x00']) syz_genetlink_get_family_id$batadv(&(0x7f0000000300)='batadv\x00') r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000000)='/dev/btrfs-control\x00', 0x80, 0x0) setsockopt$inet6_tcp_TCP_FASTOPEN_KEY(r0, 0x6, 0x21, &(0x7f0000000040)="2747519215f653cfe7c0f78fe1bd66d7", 0x10) 06:52:36 executing program 4: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) ioctl$PERF_EVENT_IOC_MODIFY_ATTRIBUTES(0xffffffffffffffff, 0x4008240b, &(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x9}, 0x40719, 0x7fff, 0x0, 0x2310a7eac9a124f6, 0x9}) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000340)='memory.events\x00', 0x7a05, 0x1700) bpf$PROG_LOAD(0x5, &(0x7f0000000680)={0x9, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f00000004c0), 0x8, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00'}, 0x10) r2 = bpf$ITER_CREATE(0x21, &(0x7f0000000100)={r0}, 0x8) ioctl$TUNGETFEATURES(r2, 0x800454cf, &(0x7f0000000140)) write$cgroup_int(r0, &(0x7f0000000200), 0x400086) perf_event_open(&(0x7f00000002c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x205, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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_PERIOD(r1, 0x40305829, &(0x7f0000000040)=0x500) listen(0xffffffffffffffff, 0x0) r3 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r3, 0x541a, &(0x7f0000000000)=0x2) sendmsg$NL80211_CMD_SET_WIPHY(r3, &(0x7f00000018c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000001880)={&(0x7f0000001840)={0x28, 0x0, 0x302, 0x70bd25, 0x25dfdbff, {}, [@NL80211_ATTR_WIPHY_FRAG_THRESHOLD={0x8, 0x3f, 0x1}, @NL80211_ATTR_WIPHY_DYN_ACK={0x4}, @NL80211_ATTR_WIPHY_COVERAGE_CLASS={0x5, 0x59, 0x9}]}, 0x28}, 0x1, 0x0, 0x0, 0x840}, 0x400c084) close(r0) sendmsg$tipc(r0, &(0x7f0000001800)={0x0, 0x0, &(0x7f0000000600)=[{&(0x7f0000000700)="6c302ce356da60f95adaeccedee4934531404457fa2c7c4e85730e4aadf96bf39b77aedc0aa48253da98e7c6083b6990ce055ce28ca1c3a3c7f3d52998479023e50984ce2251a2e43f5c70b84051d98ff6de14b65ee7eda82e2d2e333a536d1016892d61aeaf7c79872ea6ea64b7cee75b8f9e6966ae068959ca3fed2a031dd34f3d71154f132d7805834d461bb42177c12c552dafd8c782198d3744f322d5566651242f0c358dc27ea89f1d0efb6636948c8a87679dc3afb1353bb87ddfcd575b0f9502bc3786a296ff7f8e8929e7af88252d05b71e651d513ccfa2b63dbe873fa25926570f77b1ee7c91b62d217431cbdd527d199bf0d0de8daf32c949c48472d579d55af0f00da3712a347193486e05d2eb00775cae2ed1c0571b7ad5bc3b88e8d7b610344c06e2f4d546b6c88a119ad31f9c5ae2cd0cdf99a10ee98e8b0bc1a3d62f73906387d08529a95291e63a382aa9314e7b85944429cead0686c1db4ac4ab0de92e5467f95d3e2962fae945d248ffbbdc2d88762af38518d0f649e2dcb40856aa5492597e16629ce2b514fd4c70a0191c3e75459f5a8c2102999b81aa7f8d7eaaca7352993ac994ea812688ec320760126f30ee3b8c1f18b66212d1220da2948834b96e7f425e9da34cca080cc8a5d49f501ec1d51fd2ebc23a2c807c5e7bf8f83e183d037e059f3904761e5761c0c9627fe7d042551c79fc18c4d0c6de4fa8d75062288819b66b9839de3fa0bf2e880c80a6ba4b3c373d10d09d760503506a36c864734655fce71b1b9dd3ee6a0696442c0a1a787f8fb6c4f87e2b19dc5a4163537357856546e67c1ec766f280ddc2201b54f68e0fc9c66cf1b2526a650dff0cae74e06e30f8ac929acbf31c8f1ca63a667cdada08a8eb23ceee84bc8025095f5e80630e11b98e533a8617e7399794f76ef85a4d5440fbe372d9fa07d13ec36abe23b4a21013cd72db289160be35eb669773a180c76e04e858913c111a93b60f8fe9b81de17784d0844a6d61c07609428ebd1339bf2f89a0c0201a467eddf4e7cdc824452265ed9fe3b2edacd18c2ad1bfc132ca3ac2f8c20e5add6f7b91ccfeef426678e1732b75634e595d5165b7469bff135ec4d1344b66913a4e36c1eac092233dbacacbc067f880269b320907889be6b5af16f8b225daa3dc7647915da5bcddf8970935bcd7392949096b5a74dd532352e435980f2f41a2393c6c5637b21129f867b9433a5ab45fb8255565845bbadd46a0c64b72824fd654dcf3452ddb866c5eceb04e5eb3aedf8958dc1d7fec2d6a60fcb020a31cdf4647bbbe680b245af5c8df77fd938dc9ac1124b0028c3fef5367de71be195434b773560bcc1f19bbfe6cfebef1d0ffd19e638511d570e3980613aba3f9477a1a6727226916215dd4e83b2a9b5b123eb5bd6c8ae697f9335c13687fd14368863b655c6c3a5036f444115a6d94cfad79e997461077dba43c2fde7df298fa298e87347067ffe5edeb00097f55bc617480166f9e02f40a613bdf53f85c8cb58dfb9379fc85162b0246a1d9e934b4b631b69cf8fa3e3610f4dd8c8d1f4eb48232d49c09f028591431c43f7cac6b9ba031490e8043f86af462b759cc74349ff6540af82a64bc76c09b4dc02d249c9dae678d1f22c4bfe28a8a59e5a1e5de5e67135631d9f865b21e80d26084f0c643969dc1e34538c898808826795083d7a83e6984401c167632b00f3bb3cfc297d61d51b42028d30272b206869695d974a7aa149eed565be4ab1b35ce64fb152565314d8200324f60b9fe0e8f552f368f6a963e8417afc43ec9a902b85611b579929fb643afccc61aa226b6ce68e59222db99b7050b26a960a42deb3325e7fc5f691ccaaed8f59630de08287ca814423e85460134a130b61ddfe9f22e0403981bc27a5570ad8025cd1141fdc107d3a424f6ad793f10796876cf030fe41ff30500c2e0f79523f667428e105bcdc452da713ccfec97db49ce7aba55b4f5db96863fff5f5d4d8b1ec697c57e48373376dc3a944fd44131fc980c51402f4736de39ee141b3e4c807be364c027fbd3f6b269255e53c6de641d81a41fd0339a5072b83c1be3991ee3f8416cdcb70bc919fa7088e3489fa08a7504c748a08d8df2f5648ac3055dc27e76af37022a076239c5f8c546094e2cc848ed0dc8c52369851d0eae8dfd24083129d3754156e8f10bbef02737acf3eafb2323d1e6c14072cdd4e45113ab9889a36facba36141184393893a058b196e516ff17ff47ff66fd65e43ede999784b7f20ebb9cb5d91c4e416c836a5f2a0190d609ed601d483641d3624039f4a32762d65789df52733f3fc39de59efbec6e7fca935e67287cfc5cd644a897d2b1500207794cc3841c909449d3f212f58d5bf0c687a4ddc3c7c4e9111daa91f1c506703a2b3bcf1d461dbcd4562ced7146f0db5671a43c79f2eb3b4fa31e05c68f9dd55ea816eb9981888d66c4a7573370ee914848b4b82c7804ccf73d960d364ad6bfc24e35e751d3f9722ed8d4c2f1d75c8f9c77db615682fd68e72a8b3c5ce3cb31710111868e51eb9db909f5b7ecf7826424489f052550929cc1cd56c64588601413ce269583ec47d607a6498bfb284a85e0ff5457d56be3767f4f5ef9d1a63497176560d1fe558fbb2c9b74a975d81c9c66b74c8546b7917360f7e5150a166eb15d9c238f86d4169e2765841cd2aca932887fb82d0d3da76427bffc4fbac69b477460c43c6f50f8a57019822eddd4e6f132bd962bac764a9498e2efb58d4afd0871ec55b51ec089ccbdb541a13e6a0517eaa2a10ad22c2a3dafda57efcd69dc13d2bdb3324dd5bfb08d2a145ad4b227781f2d22d0404e776323ed04a7b790bd79b00fdf7a3675b03742d4782b5d0a8c07bb5b5b8628811a305067c6e8dd3023dd0b7fdc9c885155f31b514fea8f22c12f4ef2a53056c2eb3c0f7246119b8515655c66b57cbd3119ab973156390fe428eb8917966f3511793acc6b300c9159eac8fb8f365681ddce1c3b7814a4021fd2fde00573289621be14d93b4902a699e04ec53a2d8ddb2fa99c32501e1dc1fe0169d4806e0a51c646e3720bb798c76a354da2343aee421ec1e19dba5f550151abb1478c600b3bd64e5d89aef71cc5628bd8ffee5a4b04c9c58b011b4d4fdf8edbd4125f4c72fe54015c2efeee354565ccdc6f7482f47e116bedda957852db3ce9a7a73025dbae4a3195f436c1e60b25b42ff16bf0a6ecd0e2c0371600f9341281840154eca341fb5fc155ec656af1637bc633f62a78cd453def867d55382fcd0c7a4eafbc558e748ca5973956157a2cf820d864de3fb1df4f5201b6ca798289175eae101ee1f4c1fd10e82e3f8c84e5a4eb3abeffe8422f83a812a02e22e3ede8873fd7f18cd87f45b646c6b47087cd5144fef18b027a82be781dcff336f928fd0597654052dd6dcc6a6a881763a622121438fb16f2f6999c4e8abc97b2c012ef164cf78b0f5a25944130fbb331fb35e9c216a75e5e61cb927bf9fd576df5e2fef1904c73a102963d2683e73057654d3f397035efd24715f228c2b31ac0e1ee98555c27a28f32267693add6e5331876845d076b6c952ca6efa1af77649ebbf116e7ec87969c1d37657aa226cc8d44321af370560a0b63cbc71c76978ea4d4f77b6669d501fca4f783edc9dd6c23a20ce0de3802e10a2b4d241acfab942bc8a1a4174dfa351e8d2942733f055e810a4003c76d8e8a5556a4f940e461599c9710ed6047954527695d5fd410d9880b5207cbf4071c737ade2e72610896b0449349fda036a421e2c466bfcdeb64e18ebb0e8e596c4ce1fd84f618649cc0c12648ce0d9c2cce6a4c0370d469babbc9280babdaeba6834e0dec2942cfba459fb550cd32c9c789d0f58020df6bb643fffe06d630c32cbdd94ed1ab336f77a205f25666b714bade4041988ef96534794ce22b173c3b8a9616e4adf408134d0d2be684c328cbea6877a86b7b047850a7942a0046ca16d547d39b66e3c36795ef76ab1b20062c53bdc9085f6527f61b65cdd30aa1d3eadaebc9800e10e55d82412f485f8bb3870f5ddd8f545de3195090929f507cd196823da122ef6fe9798a3fff93938bc4041c5a31cc50b5664e2d4acb4a0013d72056710d126da74ce5516612b8d95e8219a3c37101ee6bd30a9a5fac2b718c69d50515e3d3c114b8c084b5dd6317d36d3c6a8a2ed6be82070192db4d460becba485a2bb7ad7b8619e709e8dead16f4321ac29810278c32df89966fb62683a21231ba538c4a783e98fd3ba979f92703dcc8296c0fb6bc9d169df78e05ab14687bef0fd0d036da35dc8321cb2b0cf41b2e883316a670094235380e013f261c6d863e7248c7d873fdf6fe76a814890dfe385a6248e8d532a309464fc647dbf95b597762428f101d528eeaa93626afc1a3f630117c7bfba784a39333677447bfe4e8baf37cf2093644ff9290b52f4d916764bd1d19dabf5955ea8ba056cc44c5ae7f355a2666949717d2dde5bbeea0417b7940f5586eb209f09415c2be89b4c4b93dba1b85ce9d4f1385a3b52e8a74cd16a3b6cf3a3370fc0487f8c6e336e7a41a9adbcbf5e0857bb7c2ec63eb78e557f84c01dd9f53200ada5b2ac192f430b4e1e83a363612ef55ff94e81f47b34a6f804249d5dc3550b0370c84611d383508b65d48140b6994add502b35eb9b44e7a2205a7be791cd3a7ae9e973feaf437b8cf06d50c812393994b12f07eadb78ff44f374dc8433d47f85369ad4176a61a603ec264173b96b981651280e854b89d42b06f1355a283289f16b7c263f51852c7fede81c6276029efaf98f1a05f4ef90be7afd3236a245d853bbd4f3924e02f945c7d3905f0b540a21cbd807b1602e864ccdbd2f2242fc5f9bf0dee42b38ef8411565542cbed97dc2ef4d1657f207e94077414c17f91523fa322cd63348cedbf19eac26f4715c23e0e57d1137c576ca73681fb636fcc2303be206ef362f3678f82e19a373ebb1c0c757c0ad90d34acd8f36fb8cfda838015a290a2e47cc7225d6d956475eb8aff76469f791393f814f0875f3c8d242e22816b5d6948eacffc03b346a5fd27526975ac196a87f1d970a2bebeac96d1da8b0c579d4a95f34d43a310680f1a0558db5869151a557bb6fce1e3c06ecd127f2535797030a0feeffcd06bd9f7ee426d95d5e7b9ad98d8f020d6df58711976d986a6b25e8a6f2df866b669126221bea42985b7b3934f74daeed2ecdb6df81edc6e7e4ac630c46c2f2fb43be433d1482354c1787a9b7246962509b384577d1a7ba80016682817ecb3ac7cd293235c80a034c67f9c4bd8c62966042555cca40ce30b678ca711d68040a3b78f29e7add9c905a480dbfecaa24cf78f3726f0efce29dbbb05c6d836b19880e87ccf11612cc468715e0cdbf5dd1403f3b7a8f26819128acfbec62bd747026256aa351bebdb2c85de0d8a13a80069156b8883648ff26953172b5eb573a734e4ceb142521ff7f0cfeb05962f4f0137e44bb744f55cdd6a53eed9215b3c28ff078847c841af73abba0285a4a62c3c33c7aef0b645df800f9810cfd12dac381c6badd73ca9392ba0032b67e156654a96f7abb9edfef6559323becc4287baa9e680e2bf132ce1b18a7474df62d4b61fe5f34acb2d298e098aad463cf4a0dad3dbb294e7ab90c9f32d0a930995723e1cdc545af7cfc559fed6788872548fee26c922abcc08f61bbf50fd2d2354aec346aec6f0853c5909e0c618a1955fb029f391d118e59c79bcdd55f60abfe73c4757302c885c919081027f0", 0x1000}, {&(0x7f0000000380)="b600082bad32dde7a18397deb4099279fe9983ea3a998e895a87ba7fe3033fe6c8d769b77f8a85d22baa33b1e65d8932627b2a8441dd83e6a023ca37816627ba88a9", 0x42}, {0x0}, {&(0x7f0000000400)="27759a29e4a1813b8f8044f20fb8cc3d6980361a6c874b31dd03f60e6bffdf51003c3a60cc65f24c31b6bebaf6084ffea8d79caf4b281fd58c5079379c3bcf18404a0367392cd7d59e1840e285c303c159404c905ac1f873a0104f81ddf37e354290af2666302d4b91d912d3597911c30d206b0189b949d3d09842885661c62d80f290af3ad0f1b7fee213", 0x8b}, {&(0x7f0000000500)="3a7eff43639e8cef883ab1e152c7952dd30397669e8d26b28c2c0337234bd92b10ffd373fc382f72fdf4e0288cd06c97baf6b5ce94b292c8aa74fdb2ef10bf9646f5", 0x42}, {&(0x7f0000000280)="36010a253743abf6396fe09f1a3c00e5a26a5d68500b0a2efadf0646a87706cae93db7bc391b200e801889196d9f15d1915d57ea31fc4be2f12c0f2692f0", 0x3e}, {&(0x7f0000000580)="d53eb2ae93592ab3c40077dabb7056a929b7b83c020562d86c59636a289ce9691f0b796953b9e47e94f373e2f4cab7c50471721d72872c3c03deb49f85b22a42bb29f7c92beaab81a38f0e5b", 0x4c}], 0x7, &(0x7f0000001700)="7271bda8bd485bd1ba5d272bd83403e06fca123186fb1e5061c055f5e94ded0d9ecf7a9bfb7c837ce1b0f6c949af179b6dd7619a67631ef0cbd18bfd2e0651bda14385d5f3810c0172ad1a49bdcbc490aefeec3017962dbb2b42977b1791c47d0ddadf5178d8fdf682112834815c7030cf1cf43fbb43f5a42683f9b3f7d2f6c6f081ed28772974cea2265f2a9f0e2c8fd51b44c6da3d6da9246447232c5ea7edb474382361d6a8b7407bc26e8bb1d07f9fda25f5dae16f31e36fee1f80684826aaafa18403924804c18783ef8916db8e7c48500d7fa5abf4d0c8e65510", 0xdd, 0x20000000}, 0x0) close(r1) socket$kcm(0x29, 0x0, 0x0) write$cgroup_int(r0, &(0x7f0000000180)=0x8, 0x12) 06:52:36 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x7, 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, 0x3d, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) ioctl$BLKRAGET(0xffffffffffffffff, 0x1263, 0x0) r0 = perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x84201, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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}, 0x5c084, 0x0, 0x4, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x3) r1 = socket$inet_smc(0x2b, 0x1, 0x0) dup2(r0, r1) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001480)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a1b000000000a010100000000000000000200000009000100737972310000000020000000000a01030000000100000001000000000900010073797a31000000001c000000090a00000000000000000015070000080800074000000037140000001100010000000000000000000000000a3a7f26cf93db53ea3edbc3f720e24bdaac08307f43f0605af92049064d0c0ce01b144ea7b3ba9a3d2114a0bdc0264a261118a3b5d5fab2bc9903181ad067bfb83995c0e8cfd698205774aaaa8beae523449f7c497fac656090af056bea83e7cbb2d26c3e5de0d912a69d686243010fe27b389713434dec"], 0x84}, 0x1, 0x0, 0x0, 0x240000c4}, 0x4) r3 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r3, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x0, @empty}, @vsock={0x28, 0x0, 0xffffd8ef, @local}, @nl=@unspec, 0x3c6, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)='veth0_macvtap\x00', 0x4, 0x0, 0x101}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r3, 0x81f8943c, &(0x7f0000001640)={0x0, ""/256, 0x0, 0x0, 0x0}) ioctl$BTRFS_IOC_WAIT_SYNC(0xffffffffffffffff, 0x40089416, &(0x7f0000000100)=r4) ioctl$BTRFS_IOC_WAIT_SYNC(0xffffffffffffffff, 0x40089416, &(0x7f0000000100)=r4) ioctl$BTRFS_IOC_RM_DEV_V2(r2, 0x5000943a, &(0x7f0000000180)={{r1}, r4, 0xe, @inherit={0x90, &(0x7f0000001240)=ANY=[@ANYBLOB="0100000000000000090000000000000007000000000000000700000000000000110ba58334f1aafb4b0000000000008000000000f4bf0000000000009922d8fcffffffff0200000000000000010000000000000005000000000000001300000000000000ff7f000000000000b40100000000000003000000000000003f000000000000000000000000000000000000006dde733a1f72fa96f92c6fd71e0f7b91a7d58956756ccbcb21bed198784e0c398e7d33a714dd7b307d870a598e2c40d5b83fd2568f1690e021ba29c225b799d0f8768f782b0ce73af0f5456e6a5373adb50f7bb064b706017935bd63e02a2491cd5dd312bd33a893ae23f21aaa9f2595f43c9896bb1645d9427d61211689725d3973b4d861273a6d4f458543674f531e93db1cb1dbb4fa8aed7f92c8a163ae52eae4ed74c5080000000000000002d6a386ff4caf6b7b6a96b9ccf023abd0ab88f70a4a3d3788097c6b7470ab8371cd3021e2e1ea4e19f6aff17bf45e624a516944c8b799ddbe637d9c2ca2aa98485d0a3e0011dcbbe889bcb08ae3c2114a7b3653b00574d8ec8101dae97e6aea8673d22537885fcf94c9009221d8d395a7836e449266330ed52f86d0e6dfc148023a5a04d187d137a0a392180ab8ae89e8fbc977ea18ac4a81c14f0ff9b5065c1758bd7e93dc35d0d627c5f92da8a3eda7b0d32c018abdfac174b6ffaf5db29f9434c48c62fb0f1724231d855f792e0f8985d190b6dfd1"]}, @name="48a5ea05257ba23cb3d9e946ffe78329d05b956a85ad9db53468359aa1d0b54ef65b3a0ae5baec86dba6b88d99d7b9eea090bfdf4950dd330d1ea616678f7e28007b7a58122e013b80bac6bb8acd1e3e4e4b9af0db0e35cc8f62801b080b4b17421c13eb1a5c6e78a5122155ab70d82e21db371af9b93a263f2b3caaa14c3586423ea686e3d6eb98a5a9f5e1e5e9e85545d6af3869fa18dcad0573b819440d70069fe560170fb408be0852cd14ddb2c1b323e5a46eef5e755bf4734ac5ba194b0a8682a06c43c2bc1c16489ff2ace05d139aa29a758cf01d4864d1a4a1bde594e73af94d36a9af33b3f0c2b10936545cc2b8901a014fa288bfc6786e5b3a14b402bbddba077b4f5a07d5bc62ce22a70b4c0200c3177b2c70740c9fb6188bec43bb112fa825e90e793a326b00032ecd90277b091578e70c8080a25fcc5f9333c7e5fc7c7b08d198b93b1f85427af4aa21cb5a236c0c9af6780bcd02dfe0f4860e752e2da4305ac2a6e233ad6d4952a55c28a7b88f0ab78ad41c61c7d58838e913f2fe0aa1b80bac1a045d9d6877ea8f6be8a5eaae20413cc1df352d2d7f7ff0c2ac9ffed9005ca2bb1f4d7dacae3d2087bba3daf31889c348bb3acdbd3c1ca990692d916aed9675dc397af380b9b84d1d01ebfbf278896756dba347ecc20800eb97f7ae8d693d5cec400ecdd94a60615039e27f68fba1cdf9be8b36eb592774b4cb038b603791f19074861bbc13ca0a490903dda77e55a4e412b553264b1ba5cb262041587aefd5524165c22ebb5df8298e563e86030ae2961cd0073dfb7ab91c515cec17b9499f27b754d05c78a725db6ebf23f366cb84894f39e3bb5980f4f3c6b55f49e7aed7aa52f51302c7641e56690a98b351cd0ff60f18ce4e3dfea09bb863b19e4af73d657bd5ef61ac41278aa3b2de54f1963fba39ab7404f8f61290e662fdfddc217dbc7ba5f0b8fa9dbd3e0e4690dae73529311ea06986b8fa5462a4cf8ef5508601695adc8f782e154bca6ca1488b2328bdb507752595ccee3f905ca771dec864210c00d1852cd6aa5d46c147301887821909f1b4c6e71d58d167f01e429678b0a98b0211584ac80be927d7b1a8fa4f96064d85e8d0e0762d1515cf8ba44aea4012c0fb5a5546d32b79b966c9bab7e56b0c1eb7120a64eca1f2e06488a37430b33d9687df82117350d77cd5e177ee675bd25fed2fc32c968d5c28974b792b6eb5258c5e0c9cb1de018c41f5c77876c4141f4cb7f1ab2c8db4a7da6899b2bd9d60474a287b18d17d0b8fc816c17829855677bd08dba24ef5df090c871f2de62589507adabfedeff9a317ddea0ace0997d39a89897e85d0ad80ac336d3cebc034aadc0b65cb0eb3d85e567d095d5f99acdb5b1ecb22b217b118283ec876430096d043c212a4de9c7f5b5a273546559120042500412efe04acc76d0ae5c0203075293d39576f6175253de08d0bca125a1f3cf865c5d0ce9567719c5254691b9591c47240c878688a99c44b1601ca7e1cd35296ee644247174ed31710b0145623f441574d2c85eb54c54df22bc3e3f09e15fdacfc22bdcadb39e704a27f6141af7f58eb46e508ecd6f6a1d6652b74f3f780129a3742b233e7cc83ccb261371ff3669a6760b17a1f678986dd3630a620b6c77ff6631b30b8144c3728e02403d83173257e2e12d9371af61abb78ccab1393b1aa13a0b4bd7a466fee96de934953b6b86e7eec7e9d804c35ccd6153d05ef3d8e44a0eb23341a4cb279f90ee0bafba990ea40d7f4ba835f59d8a3cbf0a7cb3497d58a7c6d87a9d79291ec408a324332b39ec1a0a631e6f8a26a067b51769a08669e5b5cdac0f51a6f7a9f845c9abf63e120a553425549fcaab23b09f39cf43fbe4e797ab6ed0d3579d854a7be72a94780f55e96bfe96f1ec2ac19d957e12ddda50d4a4901f36c09ad96b5e24a0579694fbf89af0d7b0792e7220fdb53275c914586a6702fb6e963040cb7a6f1cfbfdd3793d3959297f80613453c327c1bee045e72b81e72bbdf0b097b6642bed31a506905167e439e412b6423b3fdc29cf2408d45846c5ed505cda7524252c345d68149d73671ac516e5848fb2f8ca50bc018cad7ba35de29c90e01dca63eaff0c38c9ed58fc9663c069757414110d059e4810008a849b29608783f62e52aea1d8df0bee850643b5b76a37aaa6ed64a593cdb054d274b1e2b0294784e9d73b73d37cfb242aac028e874ce78c5f8a9e1bb336c3e3c3f7075f46dfa15d2f1047f369d8a1001108c1e94898d90d30089ed1404ca4ca5f6a0c4bdee1ce52fb7ff997811a206e346a1b8626892478d24c0ac5d6098a547254f7fdb106e03847564456fbded56b7c66ee9974183274f23b8716feb9330ce8137d8daae47d92a56ed47d23fe345b6c0e5a35e10a458fba72a25af72304e1602393b0d797a1368c6335f044b7198788b6a754aacfc6f7eb86ec7b63d5794e30f7823df383bdc14ae91c4c4ff26b231386baffd915394df13d6e5cfa68b0c9539abfa1e5053ce7f226614a88b57a67f37ba22e9b0fe93fadab1d6fdb13f9bd2880422b6a2e591108802209e0ff549843aa6e89f7837604f64db78a67bc513522ecef54234264772d4d864dc65c4567f13332af953c6d3b89de1ab4b6b35609a7e7e13c86b1c1e7d148abc3146b7680d459cd2abb59086ebaa087534807841613f2062ad7cd70ce711805a6cc142b94b9b67a4c8d8ba213f8d690039af7c3bd0317c5bf7ccba5c7bf6e12a1ab66c888f64402148f971f3f303aece74afe5f090ffc1d91068bd3b0eddf12f9f18c1f0d7c50fb5439f619d22441a5bbb9591f83fe9ba215eadb0082624aa3d869475eb6779a20f1be54b8119472aadb3c95e996b50ab278f089acffb21d1aaff1f0f9123137d493b4ab477827de50206e9189d2beb969027b65851d64c9ef7ad7ffb16d1433456910feae1c09d2d0ee1b6dacc04b918d0b2ad7914078e13cb3c33199ba31c950afbda8b688882a532485d66ccfec8c6c933729229b8e387ff383b2a1db1ffbad9896be6c68d545fe3f90c4c04905864c8d5402ede235f6245ac0332bbeb226808d77cf59d0490f33c8dd8007ff8bb115b12c3ee8c13430da09ec4bf7e4c5c5011e5845d8d5c05e4f52fe502117f2f29fe0f64dfa0aaf39d26e017b6c83732b82441a2af4b5fce8a4e9037be09152645ebc5b1a3e51386898a19a8eb49beadd35262e2d5002bde951a2919c5436c9f527dbe63bf76d8078efdec960f155a50f40937336195762546801d2f6e25935c4e8ac3b65e1d3eb6dce94e778191299660e03d2326d70a441455350513de254a67148ecdecfe905261f10d08690c047069156105415827de73e372c73faed54e16b35a4fa90b8bee964ebda004e503b9ebaf7a32058c0469b985b178d7fca5b622717b6ffcf74e8f74fdf3ee56d03f364103400da17d43ffd709c0721785e9ba17ab3dfdc36772ddf4d0a1522f7f932ce60aaed896a62af5ef580cd3245afcca70197d02a3daa2e7c2163ce64e10571c01d4b3a0ebcb4bb368d2a759581708579566a119af965de029f70fd2f109a57ccb0ec380d3e2727c87c33a95e4bc7b3b08ca1f1d3e51f70d09b0d195a254a8adc09b762f56b37987d502acd2869f151b290472f56f70736755e699df1f45eba211912a245480625911977ee06fc17ae4b8bf8eed2c4cfbb5829aeaaaf07b58c85983fada4f0545bbff14ba6ca2d45caf97f81efcd43d79f9887202825862c1529852fe0fc62b8870f19c37d53e30d099491266d384dcd9a3616604ac8ea840da0cb3806550bd947c9d56b3cebb5a8a5706f4b0b921a80b56ca133cda0ebba17ec41385c9664bea170f3d2e071e2d4859f6197c41024e89b2f4279436f1d559b7a3fa8463c8312e01cbbb2288ebde68bce4d615e17f0e2aadf815d6d914443970606ce297b7b426501cb7cf0f51e9c5b6d8ddd1b20de7267f1c2687f9133019cc4dee4f7cab9b57dc033895d4a72283d1abcfff55d001a617aeb61a629abed2cd406ba72140cf3efdb6e51d58e8356c318dd743cd096707ece32b406a292e6e4e361aa164ee582b91cfacb4afee5d1aab4518e6ba50270dd4b8ecabc981fc2551b9cf2c80914b62c07aa5a270a8ecbf10dc5b085c2c04e165594014b96667c6317a86368caa8e21edf9966c188bb4f3a7ee9a806d64e110f56dab5e1cdac0cbf36c68f9f21249867e393ddb7c88e309b8321f622ed4f13a8166cdde32ed22e63308714b82cd07b84237a6a06b33968b7b281e6a815a17c0a3febea979592a15aabf25e3b65fc20e02b7b988ee5ffefe511b9e6aa5fe2a911b20be09ff8fe416abc086b6675837dc15d728faac5310fa89e5caf0f2574d8219f23f1ee3e4ff3e85a65f70ea211bb40fe9550f727aa3156733e28557b89db068f4c6b80f618eb1373f515717b07be38faf1dc12526a46a76185538e0b5e5653441a0415604960ada46bb483d6dcaaee2d765be326996184f552cc49bf005b2b7a61384c2b6948ed1a1077f5ddd8f5df3fdd820847ae14b7ef0097463d9a643a388e4405c93e37c4d2ae875cf72a99c0f0a281700f1376f63ec8b64ce2f8c430ef13cbf33df4a36a10a312e28595d622b1e9da31c62bebc30466e44d05fa7ab19a93c522e147371982fa883bb3fef935ef9b28c64d4e3811c9e70df055e6b18d916f39396a9007dc264a167d0f0e942a1584ec6272cd73e0cc53dc7b8b6e1e9d13d6b5feb82adc79e846a2eb823864e4dd515c80ac24dbb235cbb41eff94bc9ad24c02f23b7b41476d415793d0bdfeecd1fc4d60af826448914110365fed6fb00b53617d4553f70b86467d2e37b0cc1696dd774e9798768b6aa4611183e13e25c99f1c859f03b6358bafd4e056b2f02699dc46b6df722c51ca9e5d489c4e47b411e3e4349b3e82f8299926e62bb0438134f3c932fb9ae8fc26510a2c6f77f7d54fcb6f299fc16882932180cf61a924dbdb493ad67209e5a12fd138d5b2d3bc2bb6b32560a8329ef37b77cfbef5e8094a4af1654dde3071b5f32af15e79c4fe5010958cf67249fd6ee849863f14fe5ea5216f16f1c79b2b9b0e1c7cf3bc22b6aa86f3681b44a130b467d10c095c06e242177ddd693820e29efbceeec89d0e4294d0c7e8f2135d7f77b493f72a0b1074d8067adae8e22b50530143eba78679dfa0f8b28c365ef0fd20510ca795c9cdaebd329afe36ae550c95683545a2a31fe26b4a98bbb58e8b80c0f151a303233f323ccb2a86442fc06a3973a405406a31b97f72f56d3cdfba859056d01fc8405a8732a5edf636aee1e5f48d8d2722348213979b3919398c5c489d57dad4d1090a56254babae85c2f1465de56f7b4fcfbcc4af4d0395564fbae70fc197c706aea8a2ec0948bb7d0ebcfa7e0402be0d496a2241d88f072e8c160544548a87f8891385ff02a2158c09e9402c27ae967937d92f4db8fd5254e66af54c3e110ef2999245688451252e372064451b4c2e11f3c6b88ce5dc90cea06f3a6589840a92b78644223ff99e36305b7f495ec2845d00ccae16374fa43578f9f786ad17c0fab61aa3e535d5250f03d2d1b9743d8832f3d86ab283f889b6518adee4ec1b10d7eb07f4cfbca71967da5a3dc68cb570a2a7efda0488ce1cc1bf6117c78acb47d5fe691e8b6bc0560ccf440326e177166fb5b00a9296175b4b8aa5fd6c4b0"}) r5 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r5, 0x6, 0x80000000000002, &(0x7f0000000300)=0x80, 0x4) bind$inet(r5, &(0x7f0000000000)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r5, 0x0, 0xffffffffffffffb5, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) ioctl$sock_proto_private(0xffffffffffffffff, 0x89e2, &(0x7f00000000c0)="dd161bee37bec226ea69c6a27dffc0a9eb21898512f94d210ac3a615c494faf44b3d2d49cb41d5a216579968b9f4a00b19fc8db249d5418f283d64fb10237f924fae43c53beee4bd5b2ddd33bb40848aa071ed20cdceccec63ce5a5f876f5589c9cb8b8214c2acb37df911457d69572569175928cf213d966ba323a56ca46195740bc36461b470ee9a4875748cdc6a17ff3ade097342d1d4db162b132bc8c98204507a9de3ece80ce9d4f77dd9863086cc6eaf691682ca62239cdf89cdb90404a6bde70277c47ef36b4a0a79037750b5aacf39bf46dc2cd9f6a8b72b865ebcd4bbb32c4c8d") 06:52:36 executing program 0: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r0, &(0x7f0000004300)=[{{&(0x7f0000000080)={0xa, 0x4e1f, 0x0, @ipv4={[], [], @loopback}}, 0x1c, 0x0}}, {{&(0x7f0000000440)={0xa, 0x4e22, 0x0, @rand_addr=' \x01\x00'}, 0x25, 0x0, 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB="180000000000000029000000360000003a00000000000000000000000000000029000000360000002b000000000000000000e1217231b9c8eea2a00a330bc7f2c995824c082a09b03c58e27334c603c9a48bd356d51d26c76467f95948e9269999e0ce8c1f671a4609dc1b148a089ba0caa5ad59633142e31ba8932969c4b6d70d8f5b1938d0bd7b99631771a914b9543a209231a3dcc07dccd4868ed161eeffbd2efaf0330220c077dd792d6a89bce7fd150d2b1f1b763a41241763c204000000200000000000000000000000000000000000002900000008000000070000000000000000000000000000002900000036000000320000000000000000010000010005020042050200020700000000030005e7003f000000000000000000000000000000190400000000000003000000000000000300000000000000b00c000000000000070000000000000001000000000000000700000000000000f40200000000000007000000000100000100001000000000000004000000000000000600000000005ddce2e9e21a0000008000000000000002070000000000000400"/424], 0xffffffffffffffea}}], 0x2, 0x40050) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX(0xffffffffffffffff, 0x84, 0x6e, &(0x7f0000000000)=[@in={0x2, 0x4e24, @local}, @in={0x2, 0x4e24, @multicast1}], 0x20) 06:52:36 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$DRM_IOCTL_MARK_BUFS(0xffffffffffffffff, 0x40206417, &(0x7f0000000040)={0x1, 0x7ff, 0x40, 0x7, 0x7, 0x400}) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) dup3(r1, 0xffffffffffffffff, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000005180)={0x0, 0x0, &(0x7f0000005140)={&(0x7f0000000100)=ANY=[], 0x1d84}}, 0x88d4) ioctl$sock_ifreq(r0, 0x0, &(0x7f0000000080)={'vlan0\x00', @ifru_ivalue}) ioctl$SIOCSIFMTU(0xffffffffffffffff, 0x8922, &(0x7f0000000000)={'caif0\x00'}) r2 = openat$dlm_control(0xffffffffffffff9c, &(0x7f00000005c0)='/dev/dlm-control\x00', 0x8000, 0x0) r3 = syz_genetlink_get_family_id$tipc(&(0x7f0000000180)='TIPC\x00') sendmsg$TIPC_CMD_GET_MEDIA_NAMES(0xffffffffffffffff, &(0x7f0000000280)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000240)={&(0x7f0000000200)={0x1c, r3, 0x20, 0x70bd28, 0x25dfdbff, {}, ["", "", "", ""]}, 0x1c}, 0x1, 0x0, 0x0, 0x4004000}, 0x8001) sendmsg$TIPC_CMD_SET_LINK_WINDOW(r2, &(0x7f0000000700)={&(0x7f0000000600)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f00000006c0)={&(0x7f0000000640)={0x68, r3, 0xc, 0x70bd27, 0x25dfdbfe, {{}, {}, {0x4c, 0x18, {0x0, @link='syz0\x00'}}}, ["", "", "", "", ""]}, 0x68}, 0x1, 0x0, 0x0, 0x4000800}, 0x200400c0) 06:52:36 executing program 0: ioctl$KDSIGACCEPT(0xffffffffffffffff, 0x4b4e, 0x0) syz_genetlink_get_family_id$batadv(&(0x7f0000000040)='batadv\x00') r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', 0x80000, 0xa6) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) getsockopt$inet_sctp_SCTP_AUTO_ASCONF(r2, 0x84, 0x1e, &(0x7f00000000c0), &(0x7f0000000100)=0x4) ioctl$TCSETS2(r0, 0x402c542b, &(0x7f0000000080)={0x1, 0x9, 0x4d, 0x1000, 0x3f, "44a7ab9ff12df2f4b0eb50b96e3f2b1ef0820c", 0x0, 0x7}) [ 277.790687] netlink: 7 bytes leftover after parsing attributes in process `syz-executor.3'. 06:52:36 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x7, 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, 0x3d, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) ioctl$BLKRAGET(0xffffffffffffffff, 0x1263, 0x0) r0 = perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x84201, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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}, 0x5c084, 0x0, 0x4, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x3) r1 = socket$inet_smc(0x2b, 0x1, 0x0) dup2(r0, r1) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001480)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a1b000000000a010100000000000000000200000009000100737972310000000020000000000a01030000000100000001000000000900010073797a31000000001c000000090a00000000000000000015070000080800074000000037140000001100010000000000000000000000000a3a7f26cf93db53ea3edbc3f720e24bdaac08307f43f0605af92049064d0c0ce01b144ea7b3ba9a3d2114a0bdc0264a261118a3b5d5fab2bc9903181ad067bfb83995c0e8cfd698205774aaaa8beae523449f7c497fac656090af056bea83e7cbb2d26c3e5de0d912a69d686243010fe27b389713434dec"], 0x84}, 0x1, 0x0, 0x0, 0x240000c4}, 0x4) r3 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r3, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x0, @empty}, @vsock={0x28, 0x0, 0xffffd8ef, @local}, @nl=@unspec, 0x3c6, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)='veth0_macvtap\x00', 0x4, 0x0, 0x101}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r3, 0x81f8943c, &(0x7f0000001640)={0x0, ""/256, 0x0, 0x0, 0x0}) ioctl$BTRFS_IOC_WAIT_SYNC(0xffffffffffffffff, 0x40089416, &(0x7f0000000100)=r4) ioctl$BTRFS_IOC_WAIT_SYNC(0xffffffffffffffff, 0x40089416, &(0x7f0000000100)=r4) ioctl$BTRFS_IOC_RM_DEV_V2(r2, 0x5000943a, &(0x7f0000000180)={{r1}, r4, 0xe, @inherit={0x90, &(0x7f0000001240)=ANY=[@ANYBLOB="0100000000000000090000000000000007000000000000000700000000000000110ba58334f1aafb4b0000000000008000000000f4bf0000000000009922d8fcffffffff0200000000000000010000000000000005000000000000001300000000000000ff7f000000000000b40100000000000003000000000000003f000000000000000000000000000000000000006dde733a1f72fa96f92c6fd71e0f7b91a7d58956756ccbcb21bed198784e0c398e7d33a714dd7b307d870a598e2c40d5b83fd2568f1690e021ba29c225b799d0f8768f782b0ce73af0f5456e6a5373adb50f7bb064b706017935bd63e02a2491cd5dd312bd33a893ae23f21aaa9f2595f43c9896bb1645d9427d61211689725d3973b4d861273a6d4f458543674f531e93db1cb1dbb4fa8aed7f92c8a163ae52eae4ed74c5080000000000000002d6a386ff4caf6b7b6a96b9ccf023abd0ab88f70a4a3d3788097c6b7470ab8371cd3021e2e1ea4e19f6aff17bf45e624a516944c8b799ddbe637d9c2ca2aa98485d0a3e0011dcbbe889bcb08ae3c2114a7b3653b00574d8ec8101dae97e6aea8673d22537885fcf94c9009221d8d395a7836e449266330ed52f86d0e6dfc148023a5a04d187d137a0a392180ab8ae89e8fbc977ea18ac4a81c14f0ff9b5065c1758bd7e93dc35d0d627c5f92da8a3eda7b0d32c018abdfac174b6ffaf5db29f9434c48c62fb0f1724231d855f792e0f8985d190b6dfd1"]}, @name="48a5ea05257ba23cb3d9e946ffe78329d05b956a85ad9db53468359aa1d0b54ef65b3a0ae5baec86dba6b88d99d7b9eea090bfdf4950dd330d1ea616678f7e28007b7a58122e013b80bac6bb8acd1e3e4e4b9af0db0e35cc8f62801b080b4b17421c13eb1a5c6e78a5122155ab70d82e21db371af9b93a263f2b3caaa14c3586423ea686e3d6eb98a5a9f5e1e5e9e85545d6af3869fa18dcad0573b819440d70069fe560170fb408be0852cd14ddb2c1b323e5a46eef5e755bf4734ac5ba194b0a8682a06c43c2bc1c16489ff2ace05d139aa29a758cf01d4864d1a4a1bde594e73af94d36a9af33b3f0c2b10936545cc2b8901a014fa288bfc6786e5b3a14b402bbddba077b4f5a07d5bc62ce22a70b4c0200c3177b2c70740c9fb6188bec43bb112fa825e90e793a326b00032ecd90277b091578e70c8080a25fcc5f9333c7e5fc7c7b08d198b93b1f85427af4aa21cb5a236c0c9af6780bcd02dfe0f4860e752e2da4305ac2a6e233ad6d4952a55c28a7b88f0ab78ad41c61c7d58838e913f2fe0aa1b80bac1a045d9d6877ea8f6be8a5eaae20413cc1df352d2d7f7ff0c2ac9ffed9005ca2bb1f4d7dacae3d2087bba3daf31889c348bb3acdbd3c1ca990692d916aed9675dc397af380b9b84d1d01ebfbf278896756dba347ecc20800eb97f7ae8d693d5cec400ecdd94a60615039e27f68fba1cdf9be8b36eb592774b4cb038b603791f19074861bbc13ca0a490903dda77e55a4e412b553264b1ba5cb262041587aefd5524165c22ebb5df8298e563e86030ae2961cd0073dfb7ab91c515cec17b9499f27b754d05c78a725db6ebf23f366cb84894f39e3bb5980f4f3c6b55f49e7aed7aa52f51302c7641e56690a98b351cd0ff60f18ce4e3dfea09bb863b19e4af73d657bd5ef61ac41278aa3b2de54f1963fba39ab7404f8f61290e662fdfddc217dbc7ba5f0b8fa9dbd3e0e4690dae73529311ea06986b8fa5462a4cf8ef5508601695adc8f782e154bca6ca1488b2328bdb507752595ccee3f905ca771dec864210c00d1852cd6aa5d46c147301887821909f1b4c6e71d58d167f01e429678b0a98b0211584ac80be927d7b1a8fa4f96064d85e8d0e0762d1515cf8ba44aea4012c0fb5a5546d32b79b966c9bab7e56b0c1eb7120a64eca1f2e06488a37430b33d9687df82117350d77cd5e177ee675bd25fed2fc32c968d5c28974b792b6eb5258c5e0c9cb1de018c41f5c77876c4141f4cb7f1ab2c8db4a7da6899b2bd9d60474a287b18d17d0b8fc816c17829855677bd08dba24ef5df090c871f2de62589507adabfedeff9a317ddea0ace0997d39a89897e85d0ad80ac336d3cebc034aadc0b65cb0eb3d85e567d095d5f99acdb5b1ecb22b217b118283ec876430096d043c212a4de9c7f5b5a273546559120042500412efe04acc76d0ae5c0203075293d39576f6175253de08d0bca125a1f3cf865c5d0ce9567719c5254691b9591c47240c878688a99c44b1601ca7e1cd35296ee644247174ed31710b0145623f441574d2c85eb54c54df22bc3e3f09e15fdacfc22bdcadb39e704a27f6141af7f58eb46e508ecd6f6a1d6652b74f3f780129a3742b233e7cc83ccb261371ff3669a6760b17a1f678986dd3630a620b6c77ff6631b30b8144c3728e02403d83173257e2e12d9371af61abb78ccab1393b1aa13a0b4bd7a466fee96de934953b6b86e7eec7e9d804c35ccd6153d05ef3d8e44a0eb23341a4cb279f90ee0bafba990ea40d7f4ba835f59d8a3cbf0a7cb3497d58a7c6d87a9d79291ec408a324332b39ec1a0a631e6f8a26a067b51769a08669e5b5cdac0f51a6f7a9f845c9abf63e120a553425549fcaab23b09f39cf43fbe4e797ab6ed0d3579d854a7be72a94780f55e96bfe96f1ec2ac19d957e12ddda50d4a4901f36c09ad96b5e24a0579694fbf89af0d7b0792e7220fdb53275c914586a6702fb6e963040cb7a6f1cfbfdd3793d3959297f80613453c327c1bee045e72b81e72bbdf0b097b6642bed31a506905167e439e412b6423b3fdc29cf2408d45846c5ed505cda7524252c345d68149d73671ac516e5848fb2f8ca50bc018cad7ba35de29c90e01dca63eaff0c38c9ed58fc9663c069757414110d059e4810008a849b29608783f62e52aea1d8df0bee850643b5b76a37aaa6ed64a593cdb054d274b1e2b0294784e9d73b73d37cfb242aac028e874ce78c5f8a9e1bb336c3e3c3f7075f46dfa15d2f1047f369d8a1001108c1e94898d90d30089ed1404ca4ca5f6a0c4bdee1ce52fb7ff997811a206e346a1b8626892478d24c0ac5d6098a547254f7fdb106e03847564456fbded56b7c66ee9974183274f23b8716feb9330ce8137d8daae47d92a56ed47d23fe345b6c0e5a35e10a458fba72a25af72304e1602393b0d797a1368c6335f044b7198788b6a754aacfc6f7eb86ec7b63d5794e30f7823df383bdc14ae91c4c4ff26b231386baffd915394df13d6e5cfa68b0c9539abfa1e5053ce7f226614a88b57a67f37ba22e9b0fe93fadab1d6fdb13f9bd2880422b6a2e591108802209e0ff549843aa6e89f7837604f64db78a67bc513522ecef54234264772d4d864dc65c4567f13332af953c6d3b89de1ab4b6b35609a7e7e13c86b1c1e7d148abc3146b7680d459cd2abb59086ebaa087534807841613f2062ad7cd70ce711805a6cc142b94b9b67a4c8d8ba213f8d690039af7c3bd0317c5bf7ccba5c7bf6e12a1ab66c888f64402148f971f3f303aece74afe5f090ffc1d91068bd3b0eddf12f9f18c1f0d7c50fb5439f619d22441a5bbb9591f83fe9ba215eadb0082624aa3d869475eb6779a20f1be54b8119472aadb3c95e996b50ab278f089acffb21d1aaff1f0f9123137d493b4ab477827de50206e9189d2beb969027b65851d64c9ef7ad7ffb16d1433456910feae1c09d2d0ee1b6dacc04b918d0b2ad7914078e13cb3c33199ba31c950afbda8b688882a532485d66ccfec8c6c933729229b8e387ff383b2a1db1ffbad9896be6c68d545fe3f90c4c04905864c8d5402ede235f6245ac0332bbeb226808d77cf59d0490f33c8dd8007ff8bb115b12c3ee8c13430da09ec4bf7e4c5c5011e5845d8d5c05e4f52fe502117f2f29fe0f64dfa0aaf39d26e017b6c83732b82441a2af4b5fce8a4e9037be09152645ebc5b1a3e51386898a19a8eb49beadd35262e2d5002bde951a2919c5436c9f527dbe63bf76d8078efdec960f155a50f40937336195762546801d2f6e25935c4e8ac3b65e1d3eb6dce94e778191299660e03d2326d70a441455350513de254a67148ecdecfe905261f10d08690c047069156105415827de73e372c73faed54e16b35a4fa90b8bee964ebda004e503b9ebaf7a32058c0469b985b178d7fca5b622717b6ffcf74e8f74fdf3ee56d03f364103400da17d43ffd709c0721785e9ba17ab3dfdc36772ddf4d0a1522f7f932ce60aaed896a62af5ef580cd3245afcca70197d02a3daa2e7c2163ce64e10571c01d4b3a0ebcb4bb368d2a759581708579566a119af965de029f70fd2f109a57ccb0ec380d3e2727c87c33a95e4bc7b3b08ca1f1d3e51f70d09b0d195a254a8adc09b762f56b37987d502acd2869f151b290472f56f70736755e699df1f45eba211912a245480625911977ee06fc17ae4b8bf8eed2c4cfbb5829aeaaaf07b58c85983fada4f0545bbff14ba6ca2d45caf97f81efcd43d79f9887202825862c1529852fe0fc62b8870f19c37d53e30d099491266d384dcd9a3616604ac8ea840da0cb3806550bd947c9d56b3cebb5a8a5706f4b0b921a80b56ca133cda0ebba17ec41385c9664bea170f3d2e071e2d4859f6197c41024e89b2f4279436f1d559b7a3fa8463c8312e01cbbb2288ebde68bce4d615e17f0e2aadf815d6d914443970606ce297b7b426501cb7cf0f51e9c5b6d8ddd1b20de7267f1c2687f9133019cc4dee4f7cab9b57dc033895d4a72283d1abcfff55d001a617aeb61a629abed2cd406ba72140cf3efdb6e51d58e8356c318dd743cd096707ece32b406a292e6e4e361aa164ee582b91cfacb4afee5d1aab4518e6ba50270dd4b8ecabc981fc2551b9cf2c80914b62c07aa5a270a8ecbf10dc5b085c2c04e165594014b96667c6317a86368caa8e21edf9966c188bb4f3a7ee9a806d64e110f56dab5e1cdac0cbf36c68f9f21249867e393ddb7c88e309b8321f622ed4f13a8166cdde32ed22e63308714b82cd07b84237a6a06b33968b7b281e6a815a17c0a3febea979592a15aabf25e3b65fc20e02b7b988ee5ffefe511b9e6aa5fe2a911b20be09ff8fe416abc086b6675837dc15d728faac5310fa89e5caf0f2574d8219f23f1ee3e4ff3e85a65f70ea211bb40fe9550f727aa3156733e28557b89db068f4c6b80f618eb1373f515717b07be38faf1dc12526a46a76185538e0b5e5653441a0415604960ada46bb483d6dcaaee2d765be326996184f552cc49bf005b2b7a61384c2b6948ed1a1077f5ddd8f5df3fdd820847ae14b7ef0097463d9a643a388e4405c93e37c4d2ae875cf72a99c0f0a281700f1376f63ec8b64ce2f8c430ef13cbf33df4a36a10a312e28595d622b1e9da31c62bebc30466e44d05fa7ab19a93c522e147371982fa883bb3fef935ef9b28c64d4e3811c9e70df055e6b18d916f39396a9007dc264a167d0f0e942a1584ec6272cd73e0cc53dc7b8b6e1e9d13d6b5feb82adc79e846a2eb823864e4dd515c80ac24dbb235cbb41eff94bc9ad24c02f23b7b41476d415793d0bdfeecd1fc4d60af826448914110365fed6fb00b53617d4553f70b86467d2e37b0cc1696dd774e9798768b6aa4611183e13e25c99f1c859f03b6358bafd4e056b2f02699dc46b6df722c51ca9e5d489c4e47b411e3e4349b3e82f8299926e62bb0438134f3c932fb9ae8fc26510a2c6f77f7d54fcb6f299fc16882932180cf61a924dbdb493ad67209e5a12fd138d5b2d3bc2bb6b32560a8329ef37b77cfbef5e8094a4af1654dde3071b5f32af15e79c4fe5010958cf67249fd6ee849863f14fe5ea5216f16f1c79b2b9b0e1c7cf3bc22b6aa86f3681b44a130b467d10c095c06e242177ddd693820e29efbceeec89d0e4294d0c7e8f2135d7f77b493f72a0b1074d8067adae8e22b50530143eba78679dfa0f8b28c365ef0fd20510ca795c9cdaebd329afe36ae550c95683545a2a31fe26b4a98bbb58e8b80c0f151a303233f323ccb2a86442fc06a3973a405406a31b97f72f56d3cdfba859056d01fc8405a8732a5edf636aee1e5f48d8d2722348213979b3919398c5c489d57dad4d1090a56254babae85c2f1465de56f7b4fcfbcc4af4d0395564fbae70fc197c706aea8a2ec0948bb7d0ebcfa7e0402be0d496a2241d88f072e8c160544548a87f8891385ff02a2158c09e9402c27ae967937d92f4db8fd5254e66af54c3e110ef2999245688451252e372064451b4c2e11f3c6b88ce5dc90cea06f3a6589840a92b78644223ff99e36305b7f495ec2845d00ccae16374fa43578f9f786ad17c0fab61aa3e535d5250f03d2d1b9743d8832f3d86ab283f889b6518adee4ec1b10d7eb07f4cfbca71967da5a3dc68cb570a2a7efda0488ce1cc1bf6117c78acb47d5fe691e8b6bc0560ccf440326e177166fb5b00a9296175b4b8aa5fd6c4b0"}) r5 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r5, 0x6, 0x80000000000002, &(0x7f0000000300)=0x80, 0x4) bind$inet(r5, &(0x7f0000000000)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r5, 0x0, 0xffffffffffffffb5, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) ioctl$sock_proto_private(0xffffffffffffffff, 0x89e2, &(0x7f00000000c0)="dd161bee37bec226ea69c6a27dffc0a9eb21898512f94d210ac3a615c494faf44b3d2d49cb41d5a216579968b9f4a00b19fc8db249d5418f283d64fb10237f924fae43c53beee4bd5b2ddd33bb40848aa071ed20cdceccec63ce5a5f876f5589c9cb8b8214c2acb37df911457d69572569175928cf213d966ba323a56ca46195740bc36461b470ee9a4875748cdc6a17ff3ade097342d1d4db162b132bc8c98204507a9de3ece80ce9d4f77dd9863086cc6eaf691682ca62239cdf89cdb90404a6bde70277c47ef36b4a0a79037750b5aacf39bf46dc2cd9f6a8b72b865ebcd4bbb32c4c8d") 06:52:36 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) connect$pptp(0xffffffffffffffff, &(0x7f0000000040)={0x18, 0x2, {0x0, @dev={0xac, 0x14, 0x14, 0x1e}}}, 0x1e) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) write$cgroup_int(r2, &(0x7f0000000000)=0x1, 0x12) setsockopt$packet_int(r0, 0x107, 0xa, &(0x7f0000000080)=0x2, 0x4) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000001c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) socket$inet_tcp(0x2, 0x1, 0x0) r3 = openat$audio(0xffffffffffffff9c, &(0x7f0000000180)='/dev/audio\x00', 0x0, 0x0) r4 = openat$ptmx(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/ptmx\x00', 0x0, 0x0) sendmsg$NL80211_CMD_GET_COALESCE(r2, &(0x7f0000000280)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000240)={&(0x7f0000000380)=ANY=[@ANYBLOB="14000000", @ANYRES16=0x0, @ANYBLOB="02002abd7000fddbdf256401000084d3554fff7819cc453e779cbb4d18f4a5cda9414298d59b7bef462733a0369201ff4b78502301396fb703fc5a705b57128b3c0de989f67a0700000033f4a479ef3f3cfc95d34c6023562891853b9b3874a4492847d77b6e2c59fea98af946961ae228aad3c9ceee36d1908a013d5cdff850694ccf3430020bd9cfca22febfd9ad6cc7267c75bc796b7da3e1ca733347fa49dee43757195419c780e8d1fc3bcdaddd229fb101429dc4da503dabc831962d5b89ead88eff3217ec8ad36db0335c91aba31b189579382b6c2442f35e882b0cad0e0db1545ba1853c40a1e55037b41cf587c54c400ed0c69b57486b080a702b512d85f633a1a8cbf5f7f890699a5f694d0bf22ec85b983b407e2e9f44b5fe40a3ab8a18c62f241e86ed8b6fd350afd67ab1c02031021f294f5ea5efb21d3aa0209e2c69bc0cc8"], 0x14}, 0x1, 0x0, 0x0, 0x800}, 0x10000840) ioctl$TCSETS(r4, 0x40045431, &(0x7f00005befdc)) ioctl$VIDIOC_S_AUDOUT(0xffffffffffffffff, 0x40345632, &(0x7f0000000200)={0x0, "553507bc24505ddae0c72364ec1559aa1021ad73518b54613369ece0dd9328dd", 0x2}) syz_open_pts(r4, 0x0) ioctl$int_in(r3, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x40, 0x0, 0x0, 0x0, 0x8, 0x8020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) pselect6(0x40, &(0x7f00000000c0), 0x0, &(0x7f0000000140)={0x1ff}, 0x0, 0x0) 06:52:36 executing program 1: pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x200000000000011, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r3, 0x8933, &(0x7f0000000080)={'bridge0\x00', 0x0}) sendmsg$NL80211_CMD_SET_COALESCE(r1, &(0x7f0000000540)={&(0x7f0000000300)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000500)={&(0x7f0000000340)={0x18c, 0x0, 0x400, 0x70bd28, 0x25dfdbfb, {{}, {@void, @void}}, [@NL80211_ATTR_COALESCE_RULE_DELAY={0x8}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0x10, 0x3, 0x0, 0x1, [{0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8, 0x3, 0xffffff59}}]}, @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN={0x160, 0x3, 0x0, 0x1, [{0xec, 0x0, 0x0, 0x1, @NL80211_PKTPAT_MASK={0xe5, 0x1, "3ceb4cd5a744ad60543f403d7af01341c0c0001d35539ba963fe136c46a79d61c5e355a02512ceb21f281f63b5fb54c3d60d40a711389739d91e522632ce0138963804a984e12aa726a03f93648b5c852844f5ebc19354baa58808630127628c4e180bce61c2286d6960a38655cf6ee3e8df5876fe9475c8a17e4cfc407e51d633763586edcfda816f01d9274138b481b3aa6d3e89479b08d2cab237f773dc69354a9696d64651d41595e05d04437d39587aea83a631398dc616f9e66e94ca02a02179fff77ad30ffa9d40515e30fd291ee70d664429959a38453d44fde635cdce"}}, {0xc, 0x0, 0x0, 0x1, @NL80211_PKTPAT_OFFSET={0x8, 0x3, 0x8bf}}, {0x64, 0x0, 0x0, 0x1, @NL80211_PKTPAT_MASK={0x60, 0x1, "3dc04ccd09fb57ae3df2699a92db583341fb63d84ec3b822f81b663352db0f88d09dae59f287451dcb464ca42764b8a1e1f00c8a8bb0e63142856c8aa3f75c3cab71047c2b03ff92b918cfc24bff5b382e19417d5ab4501534d5e868"}}]}]}, 0x18c}, 0x1, 0x0, 0x0, 0x2000c014}, 0x44040) bind$packet(r3, &(0x7f00000000c0)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @dev}, 0x14) r5 = syz_genetlink_get_family_id$ethtool(&(0x7f00000005c0)='ethtool\x00') ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) ioctl$sock_ipv6_tunnel_SIOCADDPRL(r1, 0x89f5, &(0x7f00000006c0)={'syztnl2\x00', &(0x7f0000000640)={'ip6_vti0\x00', r4, 0x2f, 0x4, 0x2, 0x9, 0x40, @initdev={0xfe, 0x88, [], 0x0, 0x0}, @private0, 0x7, 0x10, 0x7fffffff, 0x1}}) ioctl$sock_ipv6_tunnel_SIOCADDPRL(0xffffffffffffffff, 0x89f5, &(0x7f00000008c0)={'syztnl2\x00', &(0x7f0000000700)={'syztnl1\x00', r4, 0x2f, 0x81, 0xff, 0x5, 0x0, @ipv4={[], [], @rand_addr=0x64010102}, @dev={0xfe, 0x80, [], 0x35}, 0x20, 0x1, 0x4c2, 0x8}}) sendmsg$ETHTOOL_MSG_FEATURES_GET(0xffffffffffffffff, &(0x7f0000000880)={&(0x7f0000000580)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000840)={&(0x7f00000007c0)={0x58, r5, 0x200, 0x70bd28, 0x25dfdbfd, {}, [@HEADER={0x38, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'syzkaller0\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r6}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r7}]}, @HEADER={0xc, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_INDEX={0x8, 0x1, r8}]}]}, 0x58}, 0x1, 0x0, 0x0, 0x1}, 0x4008800) getsockname$packet(r3, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000180)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000900)=ANY=[@ANYBLOB="3800000054000100000000000000000007000000", @ANYRES32=r9, @ANYBLOB="0f0001dcc6e10eade00cbeabf429eaffcc8995b348771287f42a80b793f08d7a135c3ac48d4dd2fda647c57e5762bde183bba9185f5488f6945f0b2c388b1ceb962f9d494dde6ab4ac17c1db5fdf1f175ea600049ca393cd03c3baf3ee4b9134a07193ca4e69081637d8f0"], 0x38}}, 0x0) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) r10 = syz_genetlink_get_family_id$tipc(&(0x7f0000000180)='TIPC\x00') sendmsg$TIPC_CMD_GET_MEDIA_NAMES(0xffffffffffffffff, &(0x7f0000000280)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f0000000240)={&(0x7f0000000200)={0x1c, r10, 0x20, 0x70bd28, 0x25dfdbff, {}, ["", "", "", ""]}, 0x1c}, 0x1, 0x0, 0x0, 0x4004000}, 0x8001) sendmsg$TIPC_CMD_DISABLE_BEARER(r3, &(0x7f0000000240)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000200)={&(0x7f00000001c0)={0x2c, r10, 0x4, 0x70bd2a, 0x25dfdbfe, {{}, {}, {0x10, 0x13, @udp='udp:syz0\x00'}}, ["", "", ""]}, 0x2c}, 0x1, 0x0, 0x0, 0xc000}, 0x20004004) splice(r0, 0x0, r2, 0x0, 0x4ffe6, 0x0) 06:52:36 executing program 5: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) ioctl$VIDIOC_QUERYMENU(r2, 0xc02c5625, &(0x7f0000000040)={0x10000, 0x34, @value=0x3ff}) write$tun(r0, &(0x7f0000000180)={@val={0x2d}, @void, @x25}, 0x7) 06:52:36 executing program 0: ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) ioctl$VIDIOC_QUERYMENU(0xffffffffffffffff, 0xc02c5625, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$DRM_IOCTL_PRIME_HANDLE_TO_FD(0xffffffffffffffff, 0xc00c642d, 0x0) ioctl$DRM_IOCTL_AGP_ALLOC(0xffffffffffffffff, 0xc0206434, 0x0) mkdir(&(0x7f00000003c0)='./file0\x00', 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mount(0x0, 0x0, &(0x7f0000000000)='configfs\x00', 0x0, 0x0) sendmsg$NL80211_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4004884}, 0x1641fe9549561f66) sendmsg$NL80211_CMD_VENDOR(0xffffffffffffffff, &(0x7f0000000640)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x1000000}, 0xc, 0x0, 0x1, 0x0, 0x0, 0x4000}, 0x0) mkdir(&(0x7f00000002c0)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080)='overlay\x00', 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='upperdir=./bus,workdir=./file1,lowerdir=.']) ioctl$TCSETX(0xffffffffffffffff, 0x5433, &(0x7f0000000180)={0x0, 0x0, [0x3f, 0x0, 0x0, 0x800]}) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(0xffffffffffffffff, 0x8933, &(0x7f0000000280)={'batadv_slave_1\x00'}) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(0xffffffffffffffff, 0x8933, 0x0) chdir(&(0x7f00000001c0)='./bus\x00') ioctl$TIOCSSOFTCAR(0xffffffffffffffff, 0x541a, &(0x7f0000000000)=0x2) r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200)='nl80211\x00') sendmsg$NL80211_CMD_VENDOR(0xffffffffffffffff, &(0x7f0000000400)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000240)={&(0x7f0000000480)={0x174, r0, 0x0, 0x70bd27, 0x25dfdbfe, {{}, {@val={0x8, 0x1, 0x7e}, @void, @void}}, [@NL80211_ATTR_VENDOR_ID={0x8, 0xc3, 0x52}, @NL80211_ATTR_VENDOR_DATA={0x8c, 0xc5, "56d40aad679068e22f58eae9d2e21fd14a286c19f1d0ee0c5eb62b1e143f3cf683ed1caa56a4f44d1d0171dece113314aab70be1acd1001d8d1a110d5aa8aa2880a8a56d872cce2f440cfec0ce87fc4dd6e5e3a51fd6f5ff4ab3da623b720f355f104c2e99e55a0dd8864c14d9a71070338dbe202c4af334dda3e6805cfc2c7e78379ec1dd0f6de3"}, @NL80211_ATTR_VENDOR_ID={0x8, 0xc3, 0x837}, @NL80211_ATTR_VENDOR_DATA={0x9c, 0xc5, "550cd865d5042787097cb0e2b8079146a8351c8055e87d39b709cec44690bc3e785d71e791e7cb1cdb8c6c3423b906e812553d7293d4d7f5340fac628d1ba5c197bfea2153a07cf6ff5e9acf2428e4108a72cc59fd849fae94e4e78a573c17528eb11f1ee1ac169c4020e54354bb3266a4826de8d72511f36b8e1e81a4dc8734f37e0e0d7b08f14aed95cc7175596d77b1ba7da3599f6396"}, @NL80211_ATTR_VENDOR_ID={0x8, 0xc3, 0x8}, @NL80211_ATTR_VENDOR_SUBCMD={0x8, 0xc4, 0x2}, @NL80211_ATTR_VENDOR_ID={0x8, 0xc3, 0x6}, @NL80211_ATTR_VENDOR_SUBCMD={0x8, 0xc4, 0x5d7}]}, 0x174}, 0x1, 0x0, 0x0, 0x80}, 0x0) rename(&(0x7f0000000380)='./file0\x00', &(0x7f0000000440)='./bus/file0\x00') 06:52:36 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x7, 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, 0x3d, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) ioctl$BLKRAGET(0xffffffffffffffff, 0x1263, 0x0) r0 = perf_event_open(&(0x7f0000000040)={0x2, 0x70, 0xb7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x84201, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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}, 0x5c084, 0x0, 0x4, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x3) r1 = socket$inet_smc(0x2b, 0x1, 0x0) dup2(r0, r1) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r2, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000001480)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a1b000000000a010100000000000000000200000009000100737972310000000020000000000a01030000000100000001000000000900010073797a31000000001c000000090a00000000000000000015070000080800074000000037140000001100010000000000000000000000000a3a7f26cf93db53ea3edbc3f720e24bdaac08307f43f0605af92049064d0c0ce01b144ea7b3ba9a3d2114a0bdc0264a261118a3b5d5fab2bc9903181ad067bfb83995c0e8cfd698205774aaaa8beae523449f7c497fac656090af056bea83e7cbb2d26c3e5de0d912a69d686243010fe27b389713434dec"], 0x84}, 0x1, 0x0, 0x0, 0x240000c4}, 0x4) r3 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r3, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x0, @empty}, @vsock={0x28, 0x0, 0xffffd8ef, @local}, @nl=@unspec, 0x3c6, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)='veth0_macvtap\x00', 0x4, 0x0, 0x101}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r3, 0x81f8943c, &(0x7f0000001640)={0x0, ""/256, 0x0, 0x0, 0x0}) ioctl$BTRFS_IOC_WAIT_SYNC(0xffffffffffffffff, 0x40089416, &(0x7f0000000100)=r4) ioctl$BTRFS_IOC_WAIT_SYNC(0xffffffffffffffff, 0x40089416, &(0x7f0000000100)=r4) ioctl$BTRFS_IOC_RM_DEV_V2(r2, 0x5000943a, &(0x7f0000000180)={{r1}, r4, 0xe, @inherit={0x90, &(0x7f0000001240)=ANY=[@ANYBLOB="0100000000000000090000000000000007000000000000000700000000000000110ba58334f1aafb4b0000000000008000000000f4bf0000000000009922d8fcffffffff0200000000000000010000000000000005000000000000001300000000000000ff7f000000000000b40100000000000003000000000000003f000000000000000000000000000000000000006dde733a1f72fa96f92c6fd71e0f7b91a7d58956756ccbcb21bed198784e0c398e7d33a714dd7b307d870a598e2c40d5b83fd2568f1690e021ba29c225b799d0f8768f782b0ce73af0f5456e6a5373adb50f7bb064b706017935bd63e02a2491cd5dd312bd33a893ae23f21aaa9f2595f43c9896bb1645d9427d61211689725d3973b4d861273a6d4f458543674f531e93db1cb1dbb4fa8aed7f92c8a163ae52eae4ed74c5080000000000000002d6a386ff4caf6b7b6a96b9ccf023abd0ab88f70a4a3d3788097c6b7470ab8371cd3021e2e1ea4e19f6aff17bf45e624a516944c8b799ddbe637d9c2ca2aa98485d0a3e0011dcbbe889bcb08ae3c2114a7b3653b00574d8ec8101dae97e6aea8673d22537885fcf94c9009221d8d395a7836e449266330ed52f86d0e6dfc148023a5a04d187d137a0a392180ab8ae89e8fbc977ea18ac4a81c14f0ff9b5065c1758bd7e93dc35d0d627c5f92da8a3eda7b0d32c018abdfac174b6ffaf5db29f9434c48c62fb0f1724231d855f792e0f8985d190b6dfd1"]}, @name="48a5ea05257ba23cb3d9e946ffe78329d05b956a85ad9db53468359aa1d0b54ef65b3a0ae5baec86dba6b88d99d7b9eea090bfdf4950dd330d1ea616678f7e28007b7a58122e013b80bac6bb8acd1e3e4e4b9af0db0e35cc8f62801b080b4b17421c13eb1a5c6e78a5122155ab70d82e21db371af9b93a263f2b3caaa14c3586423ea686e3d6eb98a5a9f5e1e5e9e85545d6af3869fa18dcad0573b819440d70069fe560170fb408be0852cd14ddb2c1b323e5a46eef5e755bf4734ac5ba194b0a8682a06c43c2bc1c16489ff2ace05d139aa29a758cf01d4864d1a4a1bde594e73af94d36a9af33b3f0c2b10936545cc2b8901a014fa288bfc6786e5b3a14b402bbddba077b4f5a07d5bc62ce22a70b4c0200c3177b2c70740c9fb6188bec43bb112fa825e90e793a326b00032ecd90277b091578e70c8080a25fcc5f9333c7e5fc7c7b08d198b93b1f85427af4aa21cb5a236c0c9af6780bcd02dfe0f4860e752e2da4305ac2a6e233ad6d4952a55c28a7b88f0ab78ad41c61c7d58838e913f2fe0aa1b80bac1a045d9d6877ea8f6be8a5eaae20413cc1df352d2d7f7ff0c2ac9ffed9005ca2bb1f4d7dacae3d2087bba3daf31889c348bb3acdbd3c1ca990692d916aed9675dc397af380b9b84d1d01ebfbf278896756dba347ecc20800eb97f7ae8d693d5cec400ecdd94a60615039e27f68fba1cdf9be8b36eb592774b4cb038b603791f19074861bbc13ca0a490903dda77e55a4e412b553264b1ba5cb262041587aefd5524165c22ebb5df8298e563e86030ae2961cd0073dfb7ab91c515cec17b9499f27b754d05c78a725db6ebf23f366cb84894f39e3bb5980f4f3c6b55f49e7aed7aa52f51302c7641e56690a98b351cd0ff60f18ce4e3dfea09bb863b19e4af73d657bd5ef61ac41278aa3b2de54f1963fba39ab7404f8f61290e662fdfddc217dbc7ba5f0b8fa9dbd3e0e4690dae73529311ea06986b8fa5462a4cf8ef5508601695adc8f782e154bca6ca1488b2328bdb507752595ccee3f905ca771dec864210c00d1852cd6aa5d46c147301887821909f1b4c6e71d58d167f01e429678b0a98b0211584ac80be927d7b1a8fa4f96064d85e8d0e0762d1515cf8ba44aea4012c0fb5a5546d32b79b966c9bab7e56b0c1eb7120a64eca1f2e06488a37430b33d9687df82117350d77cd5e177ee675bd25fed2fc32c968d5c28974b792b6eb5258c5e0c9cb1de018c41f5c77876c4141f4cb7f1ab2c8db4a7da6899b2bd9d60474a287b18d17d0b8fc816c17829855677bd08dba24ef5df090c871f2de62589507adabfedeff9a317ddea0ace0997d39a89897e85d0ad80ac336d3cebc034aadc0b65cb0eb3d85e567d095d5f99acdb5b1ecb22b217b118283ec876430096d043c212a4de9c7f5b5a273546559120042500412efe04acc76d0ae5c0203075293d39576f6175253de08d0bca125a1f3cf865c5d0ce9567719c5254691b9591c47240c878688a99c44b1601ca7e1cd35296ee644247174ed31710b0145623f441574d2c85eb54c54df22bc3e3f09e15fdacfc22bdcadb39e704a27f6141af7f58eb46e508ecd6f6a1d6652b74f3f780129a3742b233e7cc83ccb261371ff3669a6760b17a1f678986dd3630a620b6c77ff6631b30b8144c3728e02403d83173257e2e12d9371af61abb78ccab1393b1aa13a0b4bd7a466fee96de934953b6b86e7eec7e9d804c35ccd6153d05ef3d8e44a0eb23341a4cb279f90ee0bafba990ea40d7f4ba835f59d8a3cbf0a7cb3497d58a7c6d87a9d79291ec408a324332b39ec1a0a631e6f8a26a067b51769a08669e5b5cdac0f51a6f7a9f845c9abf63e120a553425549fcaab23b09f39cf43fbe4e797ab6ed0d3579d854a7be72a94780f55e96bfe96f1ec2ac19d957e12ddda50d4a4901f36c09ad96b5e24a0579694fbf89af0d7b0792e7220fdb53275c914586a6702fb6e963040cb7a6f1cfbfdd3793d3959297f80613453c327c1bee045e72b81e72bbdf0b097b6642bed31a506905167e439e412b6423b3fdc29cf2408d45846c5ed505cda7524252c345d68149d73671ac516e5848fb2f8ca50bc018cad7ba35de29c90e01dca63eaff0c38c9ed58fc9663c069757414110d059e4810008a849b29608783f62e52aea1d8df0bee850643b5b76a37aaa6ed64a593cdb054d274b1e2b0294784e9d73b73d37cfb242aac028e874ce78c5f8a9e1bb336c3e3c3f7075f46dfa15d2f1047f369d8a1001108c1e94898d90d30089ed1404ca4ca5f6a0c4bdee1ce52fb7ff997811a206e346a1b8626892478d24c0ac5d6098a547254f7fdb106e03847564456fbded56b7c66ee9974183274f23b8716feb9330ce8137d8daae47d92a56ed47d23fe345b6c0e5a35e10a458fba72a25af72304e1602393b0d797a1368c6335f044b7198788b6a754aacfc6f7eb86ec7b63d5794e30f7823df383bdc14ae91c4c4ff26b231386baffd915394df13d6e5cfa68b0c9539abfa1e5053ce7f226614a88b57a67f37ba22e9b0fe93fadab1d6fdb13f9bd2880422b6a2e591108802209e0ff549843aa6e89f7837604f64db78a67bc513522ecef54234264772d4d864dc65c4567f13332af953c6d3b89de1ab4b6b35609a7e7e13c86b1c1e7d148abc3146b7680d459cd2abb59086ebaa087534807841613f2062ad7cd70ce711805a6cc142b94b9b67a4c8d8ba213f8d690039af7c3bd0317c5bf7ccba5c7bf6e12a1ab66c888f64402148f971f3f303aece74afe5f090ffc1d91068bd3b0eddf12f9f18c1f0d7c50fb5439f619d22441a5bbb9591f83fe9ba215eadb0082624aa3d869475eb6779a20f1be54b8119472aadb3c95e996b50ab278f089acffb21d1aaff1f0f9123137d493b4ab477827de50206e9189d2beb969027b65851d64c9ef7ad7ffb16d1433456910feae1c09d2d0ee1b6dacc04b918d0b2ad7914078e13cb3c33199ba31c950afbda8b688882a532485d66ccfec8c6c933729229b8e387ff383b2a1db1ffbad9896be6c68d545fe3f90c4c04905864c8d5402ede235f6245ac0332bbeb226808d77cf59d0490f33c8dd8007ff8bb115b12c3ee8c13430da09ec4bf7e4c5c5011e5845d8d5c05e4f52fe502117f2f29fe0f64dfa0aaf39d26e017b6c83732b82441a2af4b5fce8a4e9037be09152645ebc5b1a3e51386898a19a8eb49beadd35262e2d5002bde951a2919c5436c9f527dbe63bf76d8078efdec960f155a50f40937336195762546801d2f6e25935c4e8ac3b65e1d3eb6dce94e778191299660e03d2326d70a441455350513de254a67148ecdecfe905261f10d08690c047069156105415827de73e372c73faed54e16b35a4fa90b8bee964ebda004e503b9ebaf7a32058c0469b985b178d7fca5b622717b6ffcf74e8f74fdf3ee56d03f364103400da17d43ffd709c0721785e9ba17ab3dfdc36772ddf4d0a1522f7f932ce60aaed896a62af5ef580cd3245afcca70197d02a3daa2e7c2163ce64e10571c01d4b3a0ebcb4bb368d2a759581708579566a119af965de029f70fd2f109a57ccb0ec380d3e2727c87c33a95e4bc7b3b08ca1f1d3e51f70d09b0d195a254a8adc09b762f56b37987d502acd2869f151b290472f56f70736755e699df1f45eba211912a245480625911977ee06fc17ae4b8bf8eed2c4cfbb5829aeaaaf07b58c85983fada4f0545bbff14ba6ca2d45caf97f81efcd43d79f9887202825862c1529852fe0fc62b8870f19c37d53e30d099491266d384dcd9a3616604ac8ea840da0cb3806550bd947c9d56b3cebb5a8a5706f4b0b921a80b56ca133cda0ebba17ec41385c9664bea170f3d2e071e2d4859f6197c41024e89b2f4279436f1d559b7a3fa8463c8312e01cbbb2288ebde68bce4d615e17f0e2aadf815d6d914443970606ce297b7b426501cb7cf0f51e9c5b6d8ddd1b20de7267f1c2687f9133019cc4dee4f7cab9b57dc033895d4a72283d1abcfff55d001a617aeb61a629abed2cd406ba72140cf3efdb6e51d58e8356c318dd743cd096707ece32b406a292e6e4e361aa164ee582b91cfacb4afee5d1aab4518e6ba50270dd4b8ecabc981fc2551b9cf2c80914b62c07aa5a270a8ecbf10dc5b085c2c04e165594014b96667c6317a86368caa8e21edf9966c188bb4f3a7ee9a806d64e110f56dab5e1cdac0cbf36c68f9f21249867e393ddb7c88e309b8321f622ed4f13a8166cdde32ed22e63308714b82cd07b84237a6a06b33968b7b281e6a815a17c0a3febea979592a15aabf25e3b65fc20e02b7b988ee5ffefe511b9e6aa5fe2a911b20be09ff8fe416abc086b6675837dc15d728faac5310fa89e5caf0f2574d8219f23f1ee3e4ff3e85a65f70ea211bb40fe9550f727aa3156733e28557b89db068f4c6b80f618eb1373f515717b07be38faf1dc12526a46a76185538e0b5e5653441a0415604960ada46bb483d6dcaaee2d765be326996184f552cc49bf005b2b7a61384c2b6948ed1a1077f5ddd8f5df3fdd820847ae14b7ef0097463d9a643a388e4405c93e37c4d2ae875cf72a99c0f0a281700f1376f63ec8b64ce2f8c430ef13cbf33df4a36a10a312e28595d622b1e9da31c62bebc30466e44d05fa7ab19a93c522e147371982fa883bb3fef935ef9b28c64d4e3811c9e70df055e6b18d916f39396a9007dc264a167d0f0e942a1584ec6272cd73e0cc53dc7b8b6e1e9d13d6b5feb82adc79e846a2eb823864e4dd515c80ac24dbb235cbb41eff94bc9ad24c02f23b7b41476d415793d0bdfeecd1fc4d60af826448914110365fed6fb00b53617d4553f70b86467d2e37b0cc1696dd774e9798768b6aa4611183e13e25c99f1c859f03b6358bafd4e056b2f02699dc46b6df722c51ca9e5d489c4e47b411e3e4349b3e82f8299926e62bb0438134f3c932fb9ae8fc26510a2c6f77f7d54fcb6f299fc16882932180cf61a924dbdb493ad67209e5a12fd138d5b2d3bc2bb6b32560a8329ef37b77cfbef5e8094a4af1654dde3071b5f32af15e79c4fe5010958cf67249fd6ee849863f14fe5ea5216f16f1c79b2b9b0e1c7cf3bc22b6aa86f3681b44a130b467d10c095c06e242177ddd693820e29efbceeec89d0e4294d0c7e8f2135d7f77b493f72a0b1074d8067adae8e22b50530143eba78679dfa0f8b28c365ef0fd20510ca795c9cdaebd329afe36ae550c95683545a2a31fe26b4a98bbb58e8b80c0f151a303233f323ccb2a86442fc06a3973a405406a31b97f72f56d3cdfba859056d01fc8405a8732a5edf636aee1e5f48d8d2722348213979b3919398c5c489d57dad4d1090a56254babae85c2f1465de56f7b4fcfbcc4af4d0395564fbae70fc197c706aea8a2ec0948bb7d0ebcfa7e0402be0d496a2241d88f072e8c160544548a87f8891385ff02a2158c09e9402c27ae967937d92f4db8fd5254e66af54c3e110ef2999245688451252e372064451b4c2e11f3c6b88ce5dc90cea06f3a6589840a92b78644223ff99e36305b7f495ec2845d00ccae16374fa43578f9f786ad17c0fab61aa3e535d5250f03d2d1b9743d8832f3d86ab283f889b6518adee4ec1b10d7eb07f4cfbca71967da5a3dc68cb570a2a7efda0488ce1cc1bf6117c78acb47d5fe691e8b6bc0560ccf440326e177166fb5b00a9296175b4b8aa5fd6c4b0"}) r5 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r5, 0x6, 0x80000000000002, &(0x7f0000000300)=0x80, 0x4) bind$inet(r5, &(0x7f0000000000)={0x2, 0x4e23, @broadcast}, 0x10) sendto$inet(r5, 0x0, 0xffffffffffffffb5, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) ioctl$sock_proto_private(0xffffffffffffffff, 0x89e2, &(0x7f00000000c0)="dd161bee37bec226ea69c6a27dffc0a9eb21898512f94d210ac3a615c494faf44b3d2d49cb41d5a216579968b9f4a00b19fc8db249d5418f283d64fb10237f924fae43c53beee4bd5b2ddd33bb40848aa071ed20cdceccec63ce5a5f876f5589c9cb8b8214c2acb37df911457d69572569175928cf213d966ba323a56ca46195740bc36461b470ee9a4875748cdc6a17ff3ade097342d1d4db162b132bc8c98204507a9de3ece80ce9d4f77dd9863086cc6eaf691682ca62239cdf89cdb90404a6bde70277c47ef36b4a0a79037750b5aacf39bf46dc2cd9f6a8b72b865ebcd4bbb32c4c8d") 06:52:36 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x7a05, 0x1700) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x40082406, &(0x7f0000000040)='memory.events\x00') perf_event_open(&(0x7f0000000180)={0x2, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3800000, 0x4, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) write$cgroup_subtree(r1, &(0x7f0000000000)=ANY=[], 0x32600) bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) r2 = openat$cgroup_ro(r0, &(0x7f0000000300)='freezer.parent_freezing\x00', 0x7a05, 0x1700) write$cgroup_subtree(r1, &(0x7f0000000080)=ANY=[@ANYBLOB="436d80bbe2e5010e3b2e4d13cdc9112d97fc687c2635ce74b5bd7666406a19e4dab121f09bdf5858b3e8493f6093f423898b98fa2d14b6a88563a554"], 0xda00) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.events\x00', 0x2da8020000100000, 0x500001c) r3 = perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xfffc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) write$cgroup_subtree(r0, &(0x7f0000000280)=ANY=[@ANYBLOB="006d656d6f7279202d706964732000637075202d637075202b00646d61205ddc7c4429c15c436e6fa856f6dcef42317feefdd421b03a044f47b7bd7b44c8625fc6"], 0x1e) write$cgroup_int(r2, &(0x7f0000000200), 0x43408) r4 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r4, 0x541a, &(0x7f0000000000)=0x2) ioctl$VIDIOC_G_EXT_CTRLS(r4, 0xc0205647, &(0x7f0000000140)={0x9e0000, 0x0, 0x10000, r3, 0x0, &(0x7f0000000100)={0x9a091b, 0x6, [], @value=0x3}}) ioctl$TUNSETLINK(0xffffffffffffffff, 0x400454cd, 0x304) perf_event_open(&(0x7f0000000180)={0x0, 0x70, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) [ 278.124377] netlink: 7 bytes leftover after parsing attributes in process `syz-executor.3'. [ 278.311205] audit: type=1804 audit(1609743157.126:47): pid=13757 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.5" name="/root/syzkaller-testdir211565780/syzkaller.43yJQy/4/memory.events" dev="sda1" ino=16095 res=1 [ 278.386669] audit: type=1804 audit(1609743157.166:48): pid=13757 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.5" name="/root/syzkaller-testdir211565780/syzkaller.43yJQy/4/memory.events" dev="sda1" ino=16095 res=1 06:52:37 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000040)={'team0\x00'}) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/vmallocinfo\x00', 0x0, 0x0) sendmsg$NL80211_CMD_SET_KEY(r1, &(0x7f0000000380)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000340)={&(0x7f0000000300)={0x3c, 0x0, 0x400, 0x70bd2b, 0x25dfdbfd, {{}, {@void, @void}}, [@NL80211_ATTR_MAC={0xa}, @NL80211_ATTR_KEY_DATA_WEP40={0x9, 0x7, "2fe3ab07d6"}, @NL80211_ATTR_KEY_IDX={0x5}, @NL80211_ATTR_KEY_IDX={0x5, 0x8, 0x2}]}, 0x3c}}, 0x800) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000003c0)=ANY=[@ANYRES16=0x0, @ANYRESHEX, @ANYBLOB="00000000000000001c00453a8c7716801800018014000a0000000000000000000000000000000000150750621b7f36f256c9d411e6fd0d0c4eb73ea99caf43461a2c3ee164a489"], 0x3c}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) r2 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) ioctl$sock_SIOCSIFVLAN_GET_VLAN_VID_CMD(r2, 0x8983, &(0x7f0000000140)) ioctl$TIOCGPGRP(0xffffffffffffffff, 0x540f, &(0x7f0000000000)=0x0) syz_open_procfs$namespace(r3, &(0x7f00000000c0)='ns/time_for_children\x00') syz_genetlink_get_family_id$net_dm(&(0x7f0000000100)='NET_DM\x00') 06:52:37 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) ioctl$FIBMAP(0xffffffffffffffff, 0x1, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x24) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r0 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workle1,upperdir=./file0\x00\x00\x00\x00\x00\x00\x00\x00']) process_vm_writev(0xffffffffffffffff, &(0x7f0000000200), 0x0, 0x0, 0x0, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f0000008d80)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[{0x28, 0x0, 0x0, "6d9cafeff8c329da281a296b396afdb275f06c"}, {0x10}, {0x10}, {0x20, 0x109, 0xfff, "bae2061fa5396a58d7f7c048756d"}, {0x10, 0x101, 0x7ce}, {0x10, 0x88, 0x101}, {0x28, 0x110, 0x4, "6aad5bdaf607525ea013ce0e0c57289c0481853fe56f"}], 0xb0}}, {{0x0, 0x0, 0x0}}, {{0x0, 0x0, &(0x7f00000068c0)=[{0x0}], 0x1}}], 0x3, 0x4000000) preadv(0xffffffffffffffff, 0x0, 0x0, 0x8, 0x0) acct(&(0x7f0000000200)='./bus/file0\x00') rmdir(&(0x7f00000000c0)='./bus/file0\x00') setsockopt$SO_BINDTODEVICE_wg(r0, 0x1, 0x19, 0x0, 0x0) setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f0000000bc0)={{}, {}, [{}, {0x2, 0x2}]}, 0x34, 0x0) ioctl$DRM_IOCTL_SG_ALLOC(0xffffffffffffffff, 0xc0106438, &(0x7f0000000140)={0x5}) iopl(0x1) getsockopt$SO_COOKIE(r0, 0x1, 0x39, 0x0, &(0x7f00000004c0)) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x0) open(&(0x7f0000000040)='./file1\x00', 0x301880, 0xcf3297b335a1aabe) 06:52:37 executing program 5: socket(0x0, 0x0, 0x0) poll(0x0, 0x0, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) getegid() ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000000)={'vlan1\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=@newlink={0x4c, 0x10, 0x403, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x1}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @vlan={{0x9, 0x1, 'vlan\x00'}, {0xc, 0x2, 0x0, 0x1, [@IFLA_VLAN_ID={0x6}]}}}, @IFLA_LINK={0x8, 0x5, r2}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x4c}, 0x1, 0x0, 0x0, 0x8000}, 0x0) 06:52:37 executing program 0: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000001a80)='children\x00') r1 = socket$inet6_udp(0xa, 0x2, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r1, 0x29, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x9, 0x3, 0x2e0, 0x120, 0xffffffff, 0xffffffff, 0x0, 0xffffffff, 0x210, 0xffffffff, 0xffffffff, 0x210, 0xffffffff, 0x3, 0x0, {[{{@ipv6={@ipv4={[], [], @local}, @mcast2, [], [], 'ip6gretap0\x00', 'wlan1\x00', {}, {}, 0x87}, 0x0, 0xf8, 0x120, 0x0, {}, [@common=@hl={{0x28, 'hl\x00'}}, @common=@mh={{0x28, 'mh\x00'}, {"dcda"}}]}, @common=@unspec=@CLASSIFY={0x28, 'CLASSIFY\x00'}}, {{@ipv6={@empty, @initdev={0xfe, 0x88, [], 0x0, 0x0}, [], [], 'bridge_slave_1\x00', 'team0\x00', {}, {}, 0x87}, 0x0, 0xd0, 0xf0, 0x0, {}, [@common=@mh={{0x28, 'mh\x00'}, {"8199"}}]}, @unspec=@NOTRACK={0x20, 'NOTRACK\x00'}}], {{[], 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x340) r2 = gettid() ptrace$setopts(0x4206, r2, 0x0, 0x0) tkill(r2, 0x40) ptrace$setregs(0xd, r2, 0x0, &(0x7f0000000080)) ptrace$cont(0x7, r2, 0x0, 0x0) rt_sigqueueinfo(r2, 0x2d, &(0x7f0000000340)={0x1, 0x10000, 0x5}) write$sndseq(0xffffffffffffffff, &(0x7f0000000040)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {0x8}, @quote}], 0x1c) r3 = gettid() ptrace$setopts(0x4206, r3, 0x0, 0x0) tkill(r3, 0x40) ptrace$setregs(0xd, r3, 0x0, &(0x7f0000000080)) ptrace$cont(0x7, r3, 0x0, 0x0) lstat(&(0x7f0000000640)='./file0\x00', &(0x7f0000000680)={0x0, 0x0, 0x0, 0x0, 0x0}) sendmsg$unix(r0, &(0x7f00000007c0)={&(0x7f00000003c0)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000000500)=[{&(0x7f0000000440)="f4bfed62c7004f5c227f5fa7fa6320cbacc2f82f7eaee95ee0ed77e7e8e17ffa0f0d480cb013168331647d29437063d9ce0be71de1f351fe97f1a9ec78439d65f12a2348cd22f25cb37c3a3297106202630d97ebc74c6d66e1f49b7f5c968826ccac784a4d0f6a763c9e7db881eec1719e8e9db3", 0x74}, {&(0x7f00000004c0)="3d9277cd95cef061c8", 0x9}], 0x2, &(0x7f0000000700)=ANY=[@ANYBLOB="2c000000000000000100000001000000", @ANYRES32=r0, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=r0, @ANYRES32, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0xee00, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="000000001c00000000000027e7da000100000002", @ANYRES32=r3, @ANYRES32=r4, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00'], 0x98, 0x805}, 0x1) [ 278.515076] overlayfs: unrecognized mount option "workle1" or missing value 06:52:37 executing program 4: pipe(0x0) epoll_ctl$EPOLL_CTL_MOD(0xffffffffffffffff, 0x3, 0xffffffffffffffff, &(0x7f0000000000)) r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000840)='/dev/ttyS3\x00', 0x802, 0x0) ppoll(&(0x7f0000000040)=[{0xffffffffffffffff, 0x1}, {r0, 0x8000}], 0x2, &(0x7f00000000c0), 0x0, 0x0) r1 = syz_open_dev$audion(&(0x7f0000000080)='/dev/audio#\x00', 0x6, 0x5c2040) r2 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r2, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r2, 0x0) ioctl$DRM_IOCTL_GEM_CLOSE(r1, 0x40086409, &(0x7f0000000340)) ioctl$SNDCTL_FM_LOAD_INSTR(r1, 0x40285107) r3 = dup3(r2, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r3, 0x541a, &(0x7f0000000140)=0x1) bpf$BPF_RAW_TRACEPOINT_OPEN_UNNAMED(0x11, &(0x7f0000000100)={0x0, r3}, 0x10) ioctl$SNDRV_TIMER_IOCTL_STOP(r1, 0x54a1) r4 = openat$ttyS3(0xffffffffffffff9c, 0x0, 0x1e141, 0x0) sendmsg$IPVS_CMD_DEL_SERVICE(r1, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f00000002c0)={&(0x7f00000001c0)={0x100, 0x0, 0x400, 0x70bd29, 0x25dfdbfb, {}, [@IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x7}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0xfffffff8}, @IPVS_CMD_ATTR_DEST={0x3c, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_INACT_CONNS={0x8, 0x8, 0xfffffff7}, @IPVS_DEST_ATTR_INACT_CONNS={0x8, 0x8, 0x1ff}, @IPVS_DEST_ATTR_U_THRESH={0x8, 0x5, 0x7}, @IPVS_DEST_ATTR_PERSIST_CONNS={0x8, 0x9, 0x3}, @IPVS_DEST_ATTR_U_THRESH={0x8, 0x5, 0x1ff}, @IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e22}, @IPVS_DEST_ATTR_TUN_FLAGS={0x6}]}, @IPVS_CMD_ATTR_DEST={0x40, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_ACTIVE_CONNS={0x8, 0x7, 0x6}, @IPVS_DEST_ATTR_ADDR={0x14, 0x1, @ipv6=@dev={0xfe, 0x80, [], 0x22}}, @IPVS_DEST_ATTR_ACTIVE_CONNS={0x8, 0x7, 0xffffffff}, @IPVS_DEST_ATTR_ACTIVE_CONNS={0x8, 0x7, 0x3}, @IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e22}, @IPVS_DEST_ATTR_FWD_METHOD={0x8, 0x3, 0x3}]}, @IPVS_CMD_ATTR_SERVICE={0x58, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_ADDR={0x14, 0x3, @ipv6=@initdev={0xfe, 0x88, [], 0x1, 0x0}}, @IPVS_SVC_ATTR_ADDR={0x14, 0x3, @ipv4=@rand_addr=0x64010101}, @IPVS_SVC_ATTR_FLAGS={0xc, 0x7, {0x0, 0x14}}, @IPVS_SVC_ATTR_ADDR={0x14, 0x3, @ipv4=@remote}, @IPVS_SVC_ATTR_FLAGS={0xc, 0x7, {0x0, 0x12}}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x9}]}, 0x100}, 0x1, 0x0, 0x0, 0x20000000}, 0x5) ioctl$BTRFS_IOC_SNAP_DESTROY(r4, 0x5000940f, &(0x7f0000000880)={{}, "f7d3d35e5b48483368e06c7c88345fd704db8cb7b6c6d504b02673826bd2b1f68322cf78ee47749f1bae7798dd472bd91380878df0ac5c9f849ea0565c8cc70b0783dc02e99e2914ba54a8749a87b1548d5aa69a711106ae481e9e73105e34b92b1fae7660795b33691c4b8a9a909115ba507d5d0af34b16edc9770fcb253ae80574c37ccbb56335616e27c12df3996377161204a40957a0e3959789325cb7d7fba623af21c052e1ca988157fa2c5826bff8831c31ff52ad587976dcf6ad3e8e8400ea3cc08dd24f81dc998fbec25d724eb0092a316f05a1bb999cae7b18c0c51684ae40bb2f21868bc1ec8ac8e32e2df0e8d968629aa75fb0414cfc0beab232ff9496e56034397b7a9d9b07edb2587d5d8f78e58ea090ad71d0840ce84b8e721bd997cd8f866a5d86dad3c7ede9eb2c792ce9a4d360e30526f8fd3799f4583cc92be6c03a423079f75ba7b2d1e04914815ea3e60822b17ede6c4832f8354c04568908559dad4682aaaea51499b1330b3d3f7b4d1dbdfc02a980a2ea23c62059f6d6ab33c3ffc8d94e67046b2e95abd51f2875918fb809ba817a0c325bdd4365d0d92ffa508bbdf70a7de60d852ad00391702f5803e54f79c727f01ded9e28936de0fd8d78b3740603b75e4c65983dd44b6508791b8da8ab44c044c4ad69d1958104232286e40560cee6a9fc1aa259aa7e38a1f273aa5c924e4f93e93e4fb8844f016806aff901a7d5bd49f646e49f1d399303865e83732d19756e1fcab6fa90dd806720e4348502c7355fbdd9c7a9c40b6735b50f6b110cf6b5b4ccd7ce61eca22919b1fbcd8c07e1e8e2664c9a423511863993eb68d1a799776f62b6f5b340e854bcfe2f5155195e4ae8d066570d50dfe241be1b73b1f6a81e3110e74ba8b72d0cb76a94925d18b1211980314ea034da7e649cdf209e4d78efbe60f7f6a0b259fb2b5e30b9ccc30e29eea6b90c32d1bf7773a10b56390615a9f0f76bbae3fb233fe790d15f19b99512b18bae7fb4e2e4eb3e0781c3ca61cf7ac62971a08042490fe2d42e7ec3091a6b8271b746cc49ab9309c72bdd85e9f6666fdc58d1795550a2e8c2b2c68b262acfa68d159776787cd31e990601a65a214b9a40a38473241d24cfc41430d3f50ab3042ce127284840e6ab9890e9d6419b63e4dbd6998dbf49b9a7f0e530f19dcde23f7cb005fb51d47b927b4ba32c3c492de4ed51fecc41c9a86c99c824e34b45357e5c150e7310cf603a4b9fbffec7eae356d11bf5ca282a77b0d04586d037d17ce51efad27722e417b18aca77978310af58b274898b6960c13e9ede109996a91fa18f41410a2211fce23381e137ab2f575be6dc0610885ac7cd104e52d8e3b4bbbd89a99fc5213a9e8c044ecd62c23a38fdd552ced9aab9901f02074a9d19c9d3e6f5bf1c769f6bbfa0718c37394583269edd4ffbab9d23db8d5952e9d59066dc73f50728d50ac580faeba8023f534d1bed942c3d2be3597a61974d7a07a9117f97ffd8e159bf89269dea51bcdc17b54e77b296b3bca94d6309327d964aa527455ffe7d2f440bf7ebac1a9a41c340ec61cb7ecc69894a523c8241744d4b01fa92242ad1f11c06d4cc2fca1d3c52fdc1b35548130f9f509137801e7f24c1c5fc49a03098c5b9d68f5f2dc03b5792c7ec8649bded5bbf1a4bfdc8ad57577f786cf215a54db7bf9df099552907b0b7330e19815884f481f277cdfb1184d6fb95f61828c23ee956f06b9b86e983ff498102e6cca4d55157f32ef1092197abe513e453b82f23f203b3281d2dff22a69715088734ddeb5fcfcf9b961ed02a59fa476e72cd58ea81cc6a14977c99b08befeb3957d4dfb0ea24f849ac10cb4bc1bcd565ffa69b13e02010cf9782e25b17dcd724d7a9099f5923a2ce6bfacc6915c6f68338c02ef862fd683d562b350f027f400b9722b8d0f68494addfad5ee02667ee1093efe11543e1061e71d688431ba76c4d94d3c8af4515392aa39043fbf1315cb0c5e036703c57df373dd0100856655d28e02476ca26840390365012f12df460a92c03f9c2e8ad9396de7913518394c8a651e067a419f888455d321d4eebfbfd688c769767f7055153b1199ad1839ee5784de944b7091181681b6ccb6f54371bfde705c6774c733b0adf7cd3982e2ff6c23c052db9af5b637567bc0b0fbc3c4134a916751ff682e0cc7dca9fb262042a9eca59a95efb0a2732e2a8caeb896fa4a6f6e17d7e750c5f97d6b15e99ae84f60d63d4f96aec8ad9a0ee99892cf830a5ab0acc682615f88f626fdd8603a25a4a1c22160f29a4ff2043cbb07d1ee592e61d7f8d29e1a6014a14a8cb56612079b409fd271b1f41273a817f0823034ac5b9ebe493aba908049f60c78ee2ffd708e7ab287876ea2ce6a543406f4da652fb8da388dfa1a60e317cee3c51eb53b46ee1c175aad0634c3300d01820ee619c858e5bcb7bb259c020cd557427505aa0e8bdb1bdd58aa606489689d3d099bf92489a2f197e820971dfa0e096dba822021b23a147a4f2223666bf38d38dd32b18a79be8d8e252e4784d4cfcca90c3bcc7ef4a5ab6029a6aa0e9f9aec88f4f76adf8fa42c78d9892b5ec75c3b8cb2cc9350a718a729bb6cfd5693a50a0f748097ec1684ac592f8eb6ea0b2f7ceedbc2fc40e392ce0e8b8c8f6e59426803f08dffeeac9bce97b0091f60f14b7bf6460090dd0cb3ef25f3d14059e4bf7247417181df5dfb3b0993bfb4051f6d20361633bdf22e99095ee3305cdabd20b5a93f7f7c6ce8c206c5670d9e89523fb6e757f4f26930725c540b0982ba3df5c9c9a3211bba27e74b057c01344525171a6a163090908d2222e932af76ffa4a71e6b823418bfd998392f445c6fee57fd359e3d8ef25f0707b539048a88d756fd731a8ccd61762c550a54167dad0cafc9eb2e7de57bfe14eecc940866cdd0192a92fe7dfaeb8c458d7d04d69926ff23caac86360d2149371482c0b45a1a43754912f843b80005008598f3913024311731acd749077397584a54ff34ca746d11519b3d9fc786c0542e2435607ae4ad6b112f020f16ae42888941693dafb9c1d41f7608950e978b276c21f70ddb320643521a9830dc59c14024288a90328851af2e46c8d8d5c6c85cdf45dfd1449fd5c0d41e8e197995110ebae367c8014d908d8eeabec9364e20db186b2ef22569a75b88727f2fc528b70ac7b9ccc76013a7fd3d07acaa5aecec2f4b7b6da3c33fb0e5a1200c8b8fb4973a9c1fb09df72ada329bf43a68a2beab393f95af53657da0a63ab281cfc8144f8243bfa75a4b30ed09b15bea0487add4d3c19687b99468dab5707d17f427f97757615ad5af46fda057b0f7a6122f31bafc28ac6af14b7814517ea6dd7a63d9c24f24ffe815c4969024a46a7a19fa91fd55d5d87a2d8c5f493cee0aa7696c368b760f9e4ddc0a897438579a140969f62df6b5021ae2690e711e0fac28c5385f4ea3ce95dd53fb31c5ab5d619f28d8c87055ec8d5809571c83811c0d128bc526aa5b2addd15c60a2f92828e81f1c196831bcdd52a360d7723edc097530cf5a134ad4ba3e6ef0327f4e56dddfb3f0a19476a245d14d8c7b7533051d732de0684d0b85389a5eadf0adece19b4a6f7c07ec9d69315186be2c707d19e9835c2f6b0bef1d859390a8e62fbb966ff465a2eb723c26dd592ba88e805604142b721a95183af706bad93720840d71d3dbff4c1cd7d31f8080af321f2555ad9d5f3535048e38c2a161a0f57a22cf01c489339adbda062749790655c2c1466a0fc2e86f95e8a6dc1269d0e0fb5c6873cfec889254e88c08f31474d702f9bd4ee4ddc0213ab33d327985b6750cbc73ca3107efe0c54d5fc43cb2370d883c59075824aaa69c6010babaebb2227dc43de52c49acda12958ad88f503e4c410e1e0a473ae735ba5bf0cafe4680432aa9465e42021a3f66e54ab6f6a13c4a2248c2a0716600804a72d4aadac0718004dd14614bd64bf3a720a9eadb087ba34dd66ec1002953d91128fb484c9929980bbd0e0c04a84c926d8be70788a485c6028d8b3408df243adb928d03e09a109bcc268d930bb0c5ccf781377662746eac66e179be91d0677ef0b4027f3f311e966ce957e191d7c7e7e3afb7785850c516631ac909c446590bbf2b6c49e6f0c35186afcaf7b5f9c7601d6acc7872aa237549c611d8e0d7d0a09bdc3fed53d8c3bbd4b3516e469affff62e5af65dee476f1ed110de2710e7243ba978c84c414d80ba42860fd71c24e953899b5f69335194e71c6f11befd3b309109e1b8a76dd2c48d5c54675a46b44513bd852a5cd0938e941abc755fa7ad7429ea589095cd405377be7e42002009ed958bad8b12832c9c8ac986e207e5e62112a518bc4b8ac64dc4636fe87a92f357d3152d5d89ae00a010a4a9917813567a6a5b8609145e794c84550e45903bccfd5cf4234c2e53e269c010f3bab1629a12e0a03166000b1226f4a43d314f9015c6f6b9e1d33d0c5ff4b06e9f33164fdf722f3d2cd3d1bf8f9bb462ea128fe39f9348dfb42399302a951e1eca3ef1338045c884851c3234bd144095747e5b4e013fd787efbb07e030ad2d12a50fecd7bcff47daba850c78fd9e124bc22c27bb4a95e2dc0ced5fdda6a9accfa8270b05a31d47ddf65d860741604aaea4ab108787607e1ac970e9eebb43f4283042b53749c7f14690acc3b837e3595b575f85dda5bac8ffe79b5cb83e19d73c4ff4c54acb72b49697583acea55478cda8d9a6a1b3884a6a52a0b14f6e8a5ea644145b29054ffc9222dc41f1b3334aa5098eb299b74de8bf06f67428221c70107f155cf144d1a58a3fd1f8356be2b6915607781522d485eb3ede1788c546045a904d34e5cda6d8856d669dcfa5dfb0804e607e9b18064bedada55d1a1bf0c38c152ba082264c4c70aff22d3a3ae75886f8fbfafe8f50bedcfceb44791e838357305e9c61c6f14a18aee2af19c9977cc391bf2c68563b3a4251400a19ca64d0bedb5f708c4b058798a0aa5d6c12be14a97e2486a77ba4f3f3a47e88283e96fdabcb33b88e91911e42199fae762a788e2a3e14ab64363ff64b3cee9b0a2856b46a3a7e706d02e16341c733dca938f95c5d4c2610e9341efc50f5018c8b638c71e7df67d6e2d244922b23f90e8314fbe6b20d9e5b0f6e180c81bd7fadd480474d061a68355f0ee037404f9bc4b57b9adbef53803665ded95d5216525424d2f6ac3d745eed5e36357a9ea78a68ded58aaa74430be0283ca1bc05e2f7149d6fb6845911c673d5158361d1f6c204d7669f46d2d2a6676d80834170bcdd450fa3faf74b40a95e941070f0ef43fdf756a01228c08980eeb127bcab2bececee0e0d7a051cf7a70e0cda8578671522ff9ab47ec6bbd16b42102093e43cbb39db870130dddfe76f5807ed43287810d7b2453d7f2c722a2781bacd68180dfe2080de23588b34392bec68647e19b1d1496798a93aa177966139ba02e4bd702f26108352e5c80584572bb3067bfcf3ae7c08cdecad3a1592efee5e43515f5c9c0de8c9c7082317f5c3d6a4d75f5f9d2e8037e4b7daa2a4659f46db19d6e01edcab5403ce53d72ae318ca01d89370f5ab5021f9794ac454161b00a0e7819fcc3f58dad7683430ee889e34e5773934dee123e9c7d0ba5b8de7c35f2b22fd4267c86aea27f3d7b0c5e72e97ab3e250e8041b413b1f25a8c4e53b8bf8169965b2fcd5a85bd9da46db90ebd66bb570041189189bb94eebdfa537c754326122673260c733c1a8b780bdce771ed695c6c03942ee974"}) r5 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r5, 0x541a, &(0x7f0000000000)=0x2) ioctl$ION_IOC_ALLOC(r5, 0xc0184900, &(0x7f0000000380)={0x200, 0x32}) 06:52:37 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) sendmmsg$inet_sctp(r0, &(0x7f0000000980)=[{&(0x7f0000000000)=@in={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x2c}}, 0x10, &(0x7f0000000100)=[{&(0x7f0000000080)="db", 0x1}], 0x1}], 0x1, 0x44040) ioctl$BLKRESETZONE(0xffffffffffffffff, 0x40101283, &(0x7f0000000040)={0xbf, 0x4b63b695}) [ 278.560023] overlayfs: unrecognized mount option "workle1" or missing value [ 278.582936] Process accounting resumed [ 278.586117] xt_CT: netfilter: NOTRACK target is deprecated, use CT instead or upgrade iptables [ 278.642740] Process accounting resumed [ 278.665230] ip6_tables: ip6tables: counters copy to user failed while replacing table 06:52:37 executing program 2: ioctl$TIOCMIWAIT(0xffffffffffffffff, 0x545c, 0x0) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) openat$cgroup(0xffffffffffffffff, &(0x7f0000000100)='syz1\x00', 0x200002, 0x0) perf_event_open(&(0x7f00000001c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x8, 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, 0x20, 0x0, @perf_config_ext={0x0, 0xfffffffffffffffc}, 0x0, 0x0, 0x0, 0x0, 0xeb1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$nl_route(0x10, 0x3, 0x0) ioprio_set$pid(0x3, 0xffffffffffffffff, 0x2007) r0 = syz_open_dev$usbfs(&(0x7f0000000180)='/dev/bus/usb/00#/00#\x00', 0x77, 0x1) r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) setsockopt$bt_hci_HCI_FILTER(r1, 0x0, 0x2, &(0x7f0000000080)={0x1c400, [0xff, 0x4], 0x6}, 0x10) ioctl$USBDEVFS_IOCTL(r0, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect) ioctl$USBDEVFS_IOCTL(r0, 0xc0105512, &(0x7f0000000380)) socket$netlink(0x10, 0x3, 0x0) r2 = openat$mice(0xffffffffffffff9c, &(0x7f0000000000)='/dev/input/mice\x00', 0x240800) getsockopt$inet_sctp_SCTP_HMAC_IDENT(r2, 0x84, 0x16, &(0x7f0000000140)=ANY=[@ANYBLOB="02000000f5"], &(0x7f00000000c0)=0x6) ioctl$NBD_SET_FLAGS(r2, 0xab0a, 0xf73) 06:52:37 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002", 0x5a, 0x400}, {&(0x7f0000010400)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000000140)="ed41000000100010dbf4655fdcf4655fdcf4655f00000000000004000874267f309a", 0x22, 0x4200}], 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='@']) 06:52:37 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x2ba) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c0000001000850600"/20, @ANYRES32=r2, @ANYBLOB="fe001c0012f00b000100626f6e64"], 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) r4 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000002c0)=ANY=[@ANYBLOB="280000001000250800f4ff00000000000a020000", @ANYRES32=r5, @ANYBLOB="000000800008000a000f555bf3a8cbe66b901536f10b76b04e49ccde9d6900"/46], 0x28}}, 0x0) r6 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r6, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240)=@newlink={0x3c, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @vcan={{0x9, 0x1, 'vcan\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x3c}}, 0x0) 06:52:37 executing program 5: r0 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000280)='/dev/sequencer\x00', 0xc2542, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000140)='l2tp\x00') sendmsg$L2TP_CMD_TUNNEL_CREATE(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000340)={0x5c, r2, 0x917, 0x0, 0x0, {0x1, 0x0, 0x6000}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_SADDR={0x14, 0x1f, @empty={[0x74]}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_ENCAP_TYPE={0x6, 0x2, 0x1}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[], [], @dev}}]}, 0x5c}}, 0x0) sendmsg$L2TP_CMD_TUNNEL_GET(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f00000000c0)={&(0x7f0000000080)={0x38, r2, 0x200, 0x70bd27, 0x25dfdbfe, {}, [@L2TP_ATTR_MRU={0x6, 0x1d, 0x3}, @L2TP_ATTR_SESSION_ID={0x8, 0xb, 0x4}, @L2TP_ATTR_IP6_SADDR={0x14, 0x1f, @loopback}]}, 0x38}, 0x1, 0x0, 0x0, 0x48000}, 0x20000004) ioctl$KVM_SET_SREGS(0xffffffffffffffff, 0x4138ae84, &(0x7f0000000140)={{}, {}, {0x0, 0xf005}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xfffffffffffffff7}}) write$sndseq(r0, &(0x7f0000000040)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {}, @quote}], 0xff33) 06:52:37 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe6000/0x18000)=nil, &(0x7f0000000440)=[@text64={0x40, &(0x7f00000000c0)="3646da32b93b0b00000f3288a10040000066baf80cb85c8d348fef66bafc0cb805ad6ae6efb9800000c00f3235000100000f30b9410300000f320f092e0f01cf460f07450f0d966a0e2a1b", 0x4b}], 0x1, 0x0, 0x0, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f0000fe6000/0x18000)=nil, &(0x7f0000000080)=[@textreal={0x8, 0x0}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 06:52:37 executing program 0: sendmsg(0xffffffffffffffff, 0x0, 0x40001) perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0xfffffffffffffffd}, 0x0, 0xc4, 0x0, 0x0, 0x4}, 0x0, 0xbfffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r0, &(0x7f0000000600)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f00000005c0)="2e00000010008188040f80ec59acbc0413a1f84810000000e3bd6efb440e09000e000a001000000002800000121f", 0x2e}], 0x1}, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$kcm(r0, &(0x7f00000001c0)={0x0, 0x12000044, &(0x7f0000000140)=[{&(0x7f00000000c0)="2e00000010008188040f46ecdb4cb9cca7480ef410000000e3bd6efb440009000e000a000d000000ba8000001201", 0x2e}], 0x1}, 0x50252) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r2 = bpf$OBJ_GET_PROG(0x7, &(0x7f0000000640)={&(0x7f0000000580)='./file0\x00'}, 0x10) setsockopt$sock_attach_bpf(r0, 0x1, 0x32, &(0x7f0000000680)=r2, 0x4) ioctl$sock_kcm_SIOCKCMCLONE(r0, 0x89e2, &(0x7f0000000040)={r1}) sendmsg$kcm(r3, &(0x7f0000000780)={&(0x7f00000006c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r1, 0x3, 0x1, 0x4, 0x2, {0xa, 0x4e22, 0x10000, @private1, 0x80}}}, 0x80, &(0x7f0000000740)}, 0x4) socket$kcm(0x29, 0x7, 0x0) clock_gettime(0x0, &(0x7f0000000840)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000740)={0x7fff, 0x7, 0x81, 0x3, 0x5, 0x3, 0x4}, &(0x7f00000007c0)={0x601c, 0x8, 0x8000, 0x8000, 0xce5, 0x1, 0x9, 0x3}, &(0x7f0000000800)={0x43e, 0x3ff, 0x20, 0x7, 0x5, 0x4000000000000000, 0x80000000, 0x7}, &(0x7f0000000880)={r4, r5+10000000}, &(0x7f0000000900)={&(0x7f00000008c0)={[0x345]}, 0x8}) perf_event_open$cgroup(&(0x7f0000000280)={0x4, 0x70, 0x20, 0x7, 0x0, 0x3, 0x0, 0x1, 0x2417, 0x3, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x7, 0x0, @perf_config_ext={0x1f, 0x9}, 0x400, 0x0, 0x0, 0x0, 0x0, 0x6, 0x5}, 0xffffffffffffffff, 0x7, r1, 0x0) recvmsg$kcm(r1, &(0x7f0000000540)={&(0x7f0000000200)=@pppol2tp={0x18, 0x1, {0x0, 0xffffffffffffffff, {0x2, 0x0, @loopback}}}, 0x80, &(0x7f0000000180)=[{&(0x7f0000000380)=""/145, 0x91}, {&(0x7f0000000440)=""/222, 0xde}, {&(0x7f0000000080)=""/59, 0x3b}], 0x3}, 0x2001) ioctl$PERF_EVENT_IOC_PERIOD(0xffffffffffffffff, 0x4030582a, 0x0) openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) write$cgroup_int(0xffffffffffffffff, 0x0, 0x0) [ 278.916779] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.3'. [ 278.952358] *** Guest State *** [ 278.971544] team0: Cannot enslave team device to itself [ 278.980049] EXT4-fs (loop4): Unrecognized mount option "@" or missing value [ 278.981345] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. [ 278.995890] CR0: actual=0x0000000000000030, shadow=0x0000000060000010, gh_mask=fffffffffffffff7 [ 279.008947] bridge0: port 1(team0) entered blocking state 06:52:37 executing program 5: sendmsg$FOU_CMD_GET(0xffffffffffffffff, 0x0, 0x4000000) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='net/fib_triestat\x00') syz_open_dev$dri(&(0x7f0000000180)='/dev/dri/card#\x00', 0x0, 0x0) r1 = syz_open_procfs(0x0, 0x0) r2 = syz_open_dev$video(&(0x7f0000000040)='/dev/video#\x00', 0xf4, 0x86042) ioctl$VIDIOC_S_STD(r2, 0x40085618, &(0x7f0000000080)=0xc00000) ioctl$BTRFS_IOC_BALANCE_V2(r0, 0xc4009420, &(0x7f0000000c00)={0x0, 0x0, {0x80000001, @usage=0x80000001, 0x0, 0x5, 0x7, 0x1, 0xfff, 0x5, 0x0, @struct={0x5}, 0x0, 0xd297, [0x3, 0x1, 0x0, 0x0, 0x8]}, {0x5, @struct, 0x0, 0x6, 0x0, 0xffffffffffffffff, 0x0, 0x212, 0x400, @usage, 0x0, 0x0, [0x400, 0x182b, 0x33, 0x1]}, {0xfffffffffffffffd, @usage, 0x0, 0x0, 0x0, 0x0, 0xe6, 0x0, 0x32, @usage, 0x180000, 0x0, [0x5]}}) getsockopt$MISDN_TIME_STAMP(r1, 0x0, 0x1, &(0x7f00000000c0), &(0x7f0000000100)=0x4) copy_file_range(0xffffffffffffffff, &(0x7f0000003440), 0xffffffffffffffff, 0x0, 0x0, 0x0) clone(0x40008500, 0x0, &(0x7f0000000280), 0x0, 0x0) [ 279.026397] bridge0: port 1(team0) entered disabled state [ 279.047955] hub 9-0:1.0: USB hub found [ 279.055616] CR4: actual=0x0000000000002050, shadow=0x0000000000000000, gh_mask=ffffffffffffe871 [ 279.070415] print_req_error: I/O error, dev loop4, sector 0 [ 279.076222] Buffer I/O error on dev loop4, logical block 0, async page read [ 279.085105] print_req_error: I/O error, dev loop4, sector 4 [ 279.087054] device team0 entered promiscuous mode [ 279.091640] Buffer I/O error on dev loop4, logical block 2, async page read [ 279.092193] print_req_error: I/O error, dev loop4, sector 6 [ 279.092201] Buffer I/O error on dev loop4, logical block 3, async page read [ 279.099690] hub 9-0:1.0: 8 ports detected [ 279.118476] EXT4-fs (loop4): Unrecognized mount option "@" or missing value [ 279.136703] CR3 = 0x00000000fffbc000 [ 279.154760] RSP = 0x0000000000000f80 RIP = 0x0000000000000000 06:52:38 executing program 2: r0 = memfd_create(&(0x7f0000000500)='+\x8b\x8a\xa9\x16\x11O\xdd\xdfk(F\x99\xdf\x92\xd5>oJ\x02u\x9b\x94a\xac', 0x0) write$binfmt_misc(r0, &(0x7f0000000c40)=ANY=[], 0xff67) ftruncate(r0, 0x81) [ 279.171652] RFLAGS=0x00000002 DR7 = 0x0000000000000400 [ 279.179299] device team_slave_0 entered promiscuous mode [ 279.205705] Sysenter RSP=0000000000000000 CS:RIP=0000:0000000000000000 [ 279.206118] device team_slave_1 entered promiscuous mode 06:52:38 executing program 4: clone(0x20082804ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x5) perf_event_open(&(0x7f0000000280)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x17d9, 0x2000, 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, @perf_config_ext={0xffffffffffffffff}, 0x0, 0x0, 0x0, 0x4, 0x0, 0x40}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mkdir(&(0x7f0000000080)='./file0\x00', 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/meminfo\x00', 0x0, 0x0) ioctl$NBD_SET_BLKSIZE(r0, 0xab01, 0x3) mount$bpf(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f00000019c0)='bpf\x00', 0x0, 0x0) mkdir(&(0x7f00000003c0)='./file0/file0\x00', 0x0) mount$bpf(0x0, &(0x7f0000000240)='./file0\x00', 0x0, 0x100000, 0x0) mount$bpf(0x20000000, &(0x7f00000000c0)='./file0/file0\x00', 0x0, 0x2001040, 0x0) mount$bpf(0x20000000, &(0x7f0000000140)='./file0/file0/file0\x00', 0x0, 0xc50c4, 0x0) mount$bpf(0x20000000, &(0x7f0000000100)='./file0\x00', 0x0, 0x5890, 0x0) mount(0x0, &(0x7f0000000380)='./file0/file0/file0\x00', &(0x7f000000c000)='ramfs\x00', 0x0, 0x0) r1 = open(0x0, 0x4000, 0x0) ioctl$sock_inet6_SIOCADDRT(r1, 0x890b, &(0x7f0000000300)={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', @loopback, @local, 0x1, 0xeebf, 0x1, 0x0, 0x0, 0x40020000}) signalfd(0xffffffffffffffff, &(0x7f0000000200), 0x8) umount2(&(0x7f0000000180)='./file0\x00', 0x0) stat(0x0, 0x0) fcntl$getown(r1, 0x9) [ 279.224617] CS: sel=0x0000, attr=0x0009b, limit=0x0000ffff, base=0x0000000000000000 06:52:38 executing program 2: socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$gfs2(&(0x7f0000000080)='gfs2\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x0, &(0x7f00000024c0), 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB="6c6f636b70726f746f3d64f1dea9236c6d2c00"]) [ 279.267889] bridge0: port 1(team0) entered blocking state [ 279.268131] DS: sel=0x0000, attr=0x00093, limit=0x0000ffff, base=0x0000000000000000 [ 279.273939] bridge0: port 1(team0) entered forwarding state [ 279.300467] SS: sel=0x0000, attr=0x00081, limit=0x0000ffff, base=0x0000000000000000 [ 279.316591] ES: sel=0x0000, attr=0x00093, limit=0x0000ffff, base=0x0000000000000000 [ 279.329366] FS: sel=0x0000, attr=0x00093, limit=0x0000ffff, base=0x0000000000000000 [ 279.339097] GS: sel=0x0000, attr=0x00093, limit=0x0000ffff, base=0x0000000000000000 [ 279.347276] GDTR: limit=0x000007ff, base=0x0000000000001000 [ 279.355746] LDTR: sel=0x0008, attr=0x04082, limit=0x000007ff, base=0x0000000000001800 [ 279.364554] IDTR: limit=0x0000ffff, base=0x0000000000000000 [ 279.372973] TR: sel=0x0000, attr=0x0008b, limit=0x0000ffff, base=0x0000000000000000 [ 279.382343] EFER = 0x0000000000000000 PAT = 0x0007040600070406 [ 279.399157] gfs2: not a GFS2 filesystem [ 279.404476] DebugCtl = 0x0000000000000000 DebugExceptions = 0x0000000000000000 [ 279.434611] Interruptibility = 00000000 ActivityState = 00000000 [ 279.442058] device team0 left promiscuous mode [ 279.446714] device team_slave_0 left promiscuous mode [ 279.447718] *** Host State *** [ 279.461160] RIP = 0xffffffff81162b8e RSP = 0xffff88809f07f9b8 [ 279.467849] device team_slave_1 left promiscuous mode [ 279.467867] Bluetooth: hci5 command 0x041b tx timeout [ 279.473238] CS=0010 SS=0018 DS=0000 ES=0000 FS=0000 GS=0000 TR=0040 [ 279.485792] bridge0: port 1(team0) entered disabled state [ 279.492379] FSBase=00007f30c1e5a700 GSBase=ffff8880ba500000 TRBase=fffffe0000034000 [ 279.501449] GDTBase=fffffe0000032000 IDTBase=fffffe0000000000 [ 279.507791] CR0=0000000080050033 CR3=00000000b4d17000 CR4=00000000001426e0 [ 279.515830] team0: Cannot enslave team device to itself 06:52:38 executing program 2: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff}) socketpair(0x1e, 0x1, 0x0, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$alg(r1, &(0x7f00000003c0)={0x0, 0x0, 0x0}, 0x0) read$alg(r2, &(0x7f0000000a80)=""/4096, 0x1000) sendmsg$alg(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000200)=[{&(0x7f0000000000)="c7", 0x1}], 0x1}, 0x0) r3 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) r4 = socket$nl_route(0x10, 0x3, 0x0) sendmsg(r4, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000000)="24000000180007841dfffd946f61050002008100fd038b0502000800080005000400ff7e280000001100ffffba16a0aa1c09001b04694c5d3b33af00000000eff24d8238cfa47e23f7efbf54", 0x4c}], 0x1}, 0x0) 06:52:38 executing program 0: getsockopt$PNPIPE_ENCAP(0xffffffffffffffff, 0x113, 0x7, 0x0, &(0x7f0000000040)) [ 279.530732] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.3'. [ 279.555146] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. [ 279.566513] Sysenter RSP=fffffe0000034000 CS:RIP=0010:ffffffff87401690 06:52:38 executing program 4: syz_mount_image$ext4(&(0x7f00000000c0)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x8, &(0x7f0000000200)=[{&(0x7f0000010000)="2000000040000000030000002d0000000f0000000000000002000000020000000080000000800000200000002bc4645f2bc4645f0100ffff53ef0100010000002bc4645f000000000000000001000000000000000b0000000001000038000000c20200006b0400000000000000000000000000000000000073797a6b616c6c6572000000000000002f746d702f73797a2d696d61676567656e373836333438323637", 0xa2, 0x400}, {&(0x7f0000010100)="0000000000000000000000002f527b43270a4164871303f1137e5908010040000c000000000000002bc4645f", 0x2c, 0x4e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000200020000500000000000000000000000000000000000000040100004d", 0x39, 0x540}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000787371fe", 0x20, 0x7e0}, {&(0x7f0000010400)="0200000012000000220000002d000f00030004000000000031245cf20f0062e6000000000000000000000000000000000000000000000000d4189ee9", 0x3c, 0x1000}, {&(0x7f0000010500)="ff030400fc030000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1000, 0x2000}, {&(0x7f0000011d00)="ffff01", 0x3, 0x12000}, {&(0x7f0000012f00)="ed410000001000002bc4645f2bc4645f2bc4645f00000000000004000800000000000800050000000af3010004000000000000000000000001000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f49000020004f3f54a9d2a254a9d2a2000000002bc4645f", 0x94, 0x22100}], 0x0, &(0x7f0000000580)=ANY=[]) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000180), 0xb}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x410481, 0x0) pwritev(r0, &(0x7f00000014c0)=[{&(0x7f0000000080)="d69f10713f08dc", 0xffffff30}], 0x1, 0x3cf0, 0xc) newfstatat(0xffffffffffffff9c, 0x0, 0x0, 0x6000) r1 = openat$full(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/full\x00', 0x240402, 0x0) ioctl$TIOCSERGETLSR(r1, 0x5459, &(0x7f00000002c0)) epoll_create(0x0) 06:52:38 executing program 3: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="90e42e8500000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc2000001000000000001000000000000005f42485266535f4d07000000000000000000500000000000001010000000000000000000000000000000000000000000000000010000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000061000000040000000000000000000000000000000000000000000000450300000000000000000000000100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000001a8885d61aee4febb69bd33546bd0e04f90cac8b044b4fa88bee4b8d3da88dc2", 0x12b, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a', 0x14, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000100000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000001a8885d61aee4febb69bd33546bd0e04", 0x6c, 0x10320}, {&(0x7f0000010400)="000000000000000000000000105000000000000500000000000000001010000000000004000000000000000020500000000000050000000000000000005000000000000400000000000000007050000000000004000000000000000080500000000000040000000000000000000001000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f050000000000006000000000000000010100000000000040000000000000000b0500000000000060000000000000000d050000000000006000000000000000000510000000000060000000000000000605000000000000600000000000000000000010000000000d0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000005000000000000700000000000000001010000000000004000000000000000010500000000000070000000000000000d050000000000006000000000000000000510000000000060000000000000000605000000000000600000000000000000000010000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000050500000000000040000000000000000101000000000000400000000000000006050000000000004000000000000000000500000000000040000000000000000705000000000000400000000000000008050000000000004000000000000000000000100000000008000000000000001", 0x274, 0x10b20}, {0x0}, {0x0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="736b69705f62616c616e63652c0058577799a237073f0adcce3d41cf0ca9584ca69cc9b60e5c"]) 06:52:38 executing program 0: r0 = perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) ioctl$FBIOPUTCMAP(r2, 0x4605, &(0x7f00000006c0)={0x1f, 0x1, &(0x7f00000005c0)=[0x1ff], &(0x7f0000000600)=[0x1000], &(0x7f0000000640)=[0x7, 0xfff7, 0x7f], &(0x7f0000000680)=[0x2664, 0x3f, 0x73e9]}) fcntl$addseals(r0, 0x409, 0x0) syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="90e42e8500000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc2000001000000000001000000000000005f42485266535f4d07000000000000000000500000000000001010000000000000000000000000000000000000000000000000010000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000061000000040000000000000000000000000000000000000000000000450300000000000000000000000100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000001a8885d61aee4febb69bd33546bd0e04f90cac8b044b4fa88bee4b", 0x126, 0x10000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0x5009e0}, {0x0, 0x0, 0x500d20}, {&(0x7f0000012300)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x3f, 0x500e40}, {&(0x7f0000012400)="0000000000000000000700000000000000000000000000000000105000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007", 0x59, 0x500ee0}, {&(0x7f0000012500)="46ea879d00000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc200105000000000000100000000000001e1ee0d5d64d84a64be712c7636496d14070000000000000002000000000000000e000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000010500000000000a90000000000000000080f0000210000000030500000000000a80030000000000000d30e0000350000000060500000000000a90000000000000000b20e0000210000000090500000000000a90000000000000000910e00002100000000a0500000000000a90000000000000000700e00002100000000c0500000000000a900000000000000004f0e00002100000000d0500000000000a901000000000000002e0e00002100000000e0500000000000a900000000000000000d0e0000210000000000510000000000a90000000000000000ec0d0000210000000000690000000000c00000190000000000d40d000018", 0x1c0, 0x501000}, {&(0x7f0000000400)="0000010000000000000500000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000006000000000000000200000000000000b00500000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000010000000000000007000000000000000200000000000000b0020000000000000000c000000000000000010000000000000500000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000004000000000000000200000000000000b00300000000000000001000000000000000010000000000000200", 0x1ba, 0x501e40}, {&(0x7f0000012d00)="f37badf500000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc200605000000000000100000000000001e1ee0d5d64d84a64be712c7636496d1406000000000000000700000000", 0x5d, 0x506000}, {&(0x7f0000012e00)="00000000000000000000000000000000000000008941f9988941f9988941f998f3", 0x21, 0x506fe0}, {0x0}, {0x0, 0x0, 0x509000}, {&(0x7f0000013100)}, {&(0x7f0000013500)}, {&(0x7f0000013900)="0000000000000000000000000000000000000003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000005cbc645f00000000ae7d1e135cbc645f00000000cb865b135cbc645f00000000cb865b135cbc645f00000000ae7d1e1306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000040000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c6531010100000000000001000000009b0000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c6532050100000000312ea413000000000000000600000000000000000005000166696c65330601000000000000010000000000", 0x278, 0x1000000050cca4}, {0x0}], 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB="666c7573686f6e639643e1a4cc906724cb946f6d4e00742c00"]) r3 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000040)='/dev/nvme-fabrics\x00', 0x111000, 0x0) ioctl$SG_SET_FORCE_PACK_ID(r3, 0x227b, &(0x7f00000001c0)=0x1) socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000140)={0x1, 0x70, 0x0, 0x3, 0x6, 0x81, 0x0, 0x7, 0x20634, 0x9, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x4, @perf_bp={&(0x7f0000000080), 0x13}, 0x2000, 0x7f, 0x9, 0x0, 0x4, 0x6, 0x8}, 0xffffffffffffffff, 0xc, 0xffffffffffffffff, 0x1) socketpair$unix(0x1, 0x2, 0x0, 0x0) sendmsg$NL80211_CMD_TESTMODE(0xffffffffffffffff, &(0x7f00000014c0)={0x0, 0x0, 0x0}, 0x0) sendmsg$NL80211_CMD_SET_INTERFACE(0xffffffffffffffff, 0x0, 0x0) [ 279.591292] EFER = 0x0000000000000d01 PAT = 0x0407050600070106 [ 279.611741] *** Control State *** [ 279.625443] PinBased=0000003f CPUBased=b699edfa SecondaryExec=000000ea 06:52:38 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000000240)='./file0\x00', 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) mount$fuse(0x20000000, &(0x7f00000004c0)='./file0\x00', 0x0, 0x7a04, 0x0) chdir(&(0x7f0000000240)='./file0\x00') r0 = open(&(0x7f0000000080)='./bus\x00', 0x65142, 0x0) write$sndseq(r0, &(0x7f0000000200)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @connect}], 0x1fee00) perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) open(&(0x7f0000000080)='./bus\x00', 0x0, 0x0) ioctl$TUNATTACHFILTER(0xffffffffffffffff, 0x401054d5, &(0x7f0000000080)={0x0, &(0x7f0000000040)}) write$sndseq(0xffffffffffffffff, &(0x7f0000000200), 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, 0x0) creat(&(0x7f0000000040)='./bus\x00', 0x0) [ 279.675804] EntryControls=0000d1ff ExitControls=002fefff [ 279.689883] ExceptionBitmap=00060042 PFECmask=00000000 PFECmatch=00000000 [ 279.721749] EXT4-fs (loop4): mounted filesystem without journal. Opts: ,errors=continue [ 279.730312] BTRFS info (device loop3): disk space caching is enabled [ 279.748337] VMEntry: intr_info=00000000 errcode=00000000 ilen=00000000 [ 279.756473] BTRFS info (device loop3): has skinny extents [ 279.763851] VMExit: intr_info=00000000 errcode=00000000 ilen=00000003 [ 279.781892] audit: type=1800 audit(1609743158.596:49): pid=13903 uid=0 auid=0 ses=4 op="collect_data" cause="failed(directio)" comm="syz-executor.2" name="bus" dev="sda1" ino=16108 res=0 [ 279.830875] reason=80000021 qualification=0000000000000000 [ 279.856841] audit: type=1804 audit(1609743158.626:50): pid=13903 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.2" name="/root/syzkaller-testdir820389804/syzkaller.b9I7p9/71/file0/bus" dev="sda1" ino=16108 res=1 [ 279.888302] IDTVectoring: info=00000000 errcode=00000000 [ 279.921114] TSC Offset = 0xffffff678fff702d [ 279.938369] EPT pointer = 0x00000000538d101e [ 279.950331] Virtual processor ID = 0x0003 06:52:38 executing program 1: r0 = socket$unix(0x1, 0x200000000001, 0x0) sendto$unix(r0, &(0x7f0000000200)="4ebbf5077d73403edd01feeb0b3e3fbb495a0812b68beb6123413a31d2cab07b55636ed0fc4b70cae1080021355b11a679604b587e4d26eb1bcdb37ff4a7bf6eeeb2dfa413d011db9ecbb029c00e0adf487b46be87f4d742c916c11daa78a95e4fd4628b75d318650963e0a5612dc15f6a2545f63f20e81007fc4fcbbe5b02e9648fdc08e5c0d0fc38ad3a963a0cabf0446586109024c849ee98b1b2980d3ccc38a6310bcc1b5f3e1d22a41f41b0dde4f5e0913b08a031d7a832ee62e30d9e088a8f200d8405d1a971a4bbd0f89befc5a9b4b319029881ccf074b2741620dc7ebe72f3d0884f4f7ce7cccbad349fd3a2a01e12204deb", 0xf6, 0x400408d, &(0x7f0000000100)=@file={0x0, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) bind$unix(r0, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) r1 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r1, 0x541a, &(0x7f0000000000)=0x2) sendmsg$RDMA_NLDEV_CMD_GET_CHARDEV(r1, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4}, 0xc, &(0x7f0000000080)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000000f14000129bd7000fcdbdf25080003000400000008000300010000000c00450072646d615f636d00080003009eec82ae8c03000000080003"], 0x3c}, 0x1, 0x0, 0x0, 0x8000}, 0x4004) 06:52:38 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f000099e000)={0x2, 0x4e20, @local}, 0x10) ioctl$int_in(r0, 0x5452, &(0x7f0000000000)=0x80000001) socket$inet_udp(0x2, 0x2, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) ioctl$BTRFS_IOC_BALANCE_V2(0xffffffffffffffff, 0xc4009420, 0x0) ioctl$BTRFS_IOC_ADD_DEV(0xffffffffffffffff, 0x5000940a, 0x0) sendto$inet(r0, &(0x7f0000000040)="6909953e38a959679cf4637233c86c2b89a9be8646d1bf907cb828", 0x1b, 0x20008005, &(0x7f0000000100)={0x2, 0x4e60}, 0x10) sendmsg$TIPC_NL_BEARER_SET(0xffffffffffffffff, &(0x7f0000001900)={&(0x7f0000001600)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f00000018c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="04020000", @ANYRES16=0x0, @ANYBLOB="01002abd7000fbdbdf25050000001800028008000100020000000400038008000200da0d0000340101801c00028008000100020000000800030009000000080001001400000008000300ff0f00003c0002800800020001000000080003001e0000000800010017000000080003003e120000080002001e0200000800030005000000080002000900000034000280080002000060030208000300040000000800020003000000080001001900000008000400fc6f001e080004000100000038000400200001000a004e23ffffffff00000000000000000000000000000001060000001400020002004e217f000001000000000000000008000300070000000c000280080d0001007564703a73797a320000000038000400200001000a004e240000000300000000000000000000000000000000e40000001400020002004e22e00000020000000000000000a40006804700040067636d28610000000000000000000000000000000000000000000000001f000000df153d4606ebc6f19f9c10e418db2836c39be37859f3cbe98ef3fbca510e68004500040067636d28616573290000000000000000000000000000000000000000000000001d0000005b09ca4fa3b383ec48e1710921bba2628bca99b4f3c34824724c11c477fea9e900000000000000008d0b000008000100283ad3f368bbbd5004311ef27ef65131ab578a220e03ccf266bef7f20829316fd6d5c644a2020162daeebecdb2ac877f4ec851a93a2335e976a501393b335a6b0ac8ab589491d5fd163895e6f65a1f08cfacea1dd684b32e976e158675e8ab591ef95e42388fb4b116643fdc383f5b61132095c604aca3a16feeca947d8b06fb6cbf03d46c8ef0be016778ae986fcf2c972e25ca663f5ce51fca15eb084f3e69c8a83a9570473fe8a735f0d691e26400e15a20671194a7c192536da700"/695], 0x204}, 0x1, 0x0, 0x0, 0x4000}, 0x0) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000080)=0xffffffffffffffff) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvfrom(r0, &(0x7f0000000480)=""/110, 0xfffffe32, 0x734, 0x0, 0xffffffffffffff39) 06:52:38 executing program 5: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000940)='tmpfs\x00', 0x0, 0x0) chdir(&(0x7f0000000300)='./file0\x00') mkdir(&(0x7f0000000440)='./file1\x00', 0x0) mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mknod$loop(&(0x7f0000000180)='./bus/file1\x00', 0x0, 0x1) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) connect(r0, &(0x7f0000000340)=@un=@file={0x1, './file2\x00'}, 0x80) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) setsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r2, 0x84, 0x72, &(0x7f00000000c0)={0x0, 0x5, 0x10}, 0xc) setxattr$security_capability(&(0x7f00000001c0)='./bus/file1\x00', &(0x7f0000000200)='security.capability\x00', &(0x7f0000000100)=@v3={0x3000000, [{0x58}, {0x2, 0xfffffffc}], 0xee01}, 0x18, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x68) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000400)='overlay\x00', 0x0, &(0x7f0000000300)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) mount$overlay(0x0, &(0x7f0000000040)='./bus/file1\x00', 0x0, 0x0, 0x0) chown(&(0x7f0000000600)='./bus/file1\x00', 0x0, 0xee01) 06:52:38 executing program 4: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x2, 0x2, 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, @perf_config_ext, 0x0, 0x0, 0x8000, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) clock_gettime(0x0, &(0x7f0000000240)={0x0, 0x0}) futex(&(0x7f0000000100)=0x1, 0x4, 0x0, &(0x7f00000002c0)={r1, r2+60000000}, &(0x7f0000000300)=0x2, 0x1) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe3}]}, 0x10) setresgid(0x0, 0xee00, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) sendmsg$TIPC_NL_BEARER_ENABLE(0xffffffffffffffff, &(0x7f0000000540)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x100}, 0xc, 0x0}, 0x0) r3 = openat$full(0xffffffffffffff9c, &(0x7f0000000180)='/dev/full\x00', 0x402, 0x0) setsockopt$inet_sctp_SCTP_RECVRCVINFO(r3, 0x84, 0x20, &(0x7f0000000200)=0x9e9, 0x4) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) sendmsg$NLBL_CALIPSO_C_LISTALL(r3, &(0x7f0000000500)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f00000004c0)={&(0x7f0000000480)={0x14, 0x0, 0x300, 0x70bd29, 0x25dfdbfd}, 0x14}, 0x1, 0x0, 0x0, 0x48}, 0x40000d0) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) pipe(&(0x7f0000000340)={0xffffffffffffffff}) accept4$nfc_llcp(0xffffffffffffffff, 0x0, &(0x7f0000000580), 0x80000) write$RDMA_USER_CM_CMD_SET_OPTION(r4, &(0x7f00000003c0)={0xe, 0x18, 0xfa00, @id_tos={&(0x7f0000000380)=0x5, 0xffffffffffffffff, 0x0, 0x0, 0x1}}, 0x20) sendto$inet(r0, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) [ 279.973648] audit: type=1804 audit(1609743158.706:51): pid=13919 uid=0 auid=0 ses=4 op="invalid_pcr" cause="ToMToU" comm="syz-executor.2" name="/root/syzkaller-testdir820389804/syzkaller.b9I7p9/71/file0/bus" dev="sda1" ino=16108 res=1 06:52:38 executing program 1: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) ptrace$setregs(0xd, 0x0, 0x0, &(0x7f0000000080)) r1 = perf_event_open(&(0x7f0000000200)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x7ff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r3, 0xae41, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x28011, 0xffffffffffffffff, 0x0) ioctl$KVM_IOEVENTFD(r3, 0x4040ae79, &(0x7f0000000040)={0x0, &(0x7f0000000000), 0x2, 0xffffffffffffffff, 0x4}) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r4, &(0x7f0000fe7000/0x18000)=nil, &(0x7f0000000180)=[@text64={0x40, 0x0}], 0x1, 0x0, 0x0, 0x0) dup3(r2, r3, 0x0) syz_init_net_socket$nl_rdma(0xffffffffffffffff, 0x3, 0x14) dup2(r1, r4) socket$nl_generic(0x10, 0x3, 0x10) r5 = signalfd4(0xffffffffffffffff, &(0x7f00000003c0), 0x8, 0x800) sendmsg$RDMA_NLDEV_CMD_RES_GET(r5, &(0x7f0000000480)={0x0, 0x0, 0x0}, 0x0) sendmsg$NL80211_CMD_SET_REKEY_OFFLOAD(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000100)={&(0x7f0000000280)=ANY=[@ANYBLOB="51000bae955a1438a5c0814dadfb325d34", @ANYRES16=0x0], 0x50}, 0x1, 0x0, 0x0, 0x800}, 0x4080) sendmsg$NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL(0xffffffffffffffff, 0x0, 0x20000805) [ 280.065020] audit: type=1800 audit(1609743158.726:52): pid=13919 uid=0 auid=0 ses=4 op="collect_data" cause="failed(directio)" comm="syz-executor.2" name="bus" dev="sda1" ino=16110 res=0 06:52:38 executing program 5: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) read$FUSE(r1, &(0x7f0000000500)={0x2020, 0x0, 0x0}, 0x2020) ioctl$BTRFS_IOC_DEFAULT_SUBVOL(r0, 0x40089413, &(0x7f0000000200)=0x81d) write$FUSE_BMAP(r1, &(0x7f0000000080)={0x18, 0xfffffffffffffffe, r2, {0x1}}, 0x18) r3 = socket$alg(0x26, 0x5, 0x0) ioctl$sock_inet_SIOCGIFADDR(r3, 0x8915, &(0x7f0000000240)={'tunl0\x00', {0x2, 0x0, @private}}) dup2(r0, r1) syz_mount_image$msdos(&(0x7f00000000c0)='msdos\x00', &(0x7f0000000000)='./file0\x00', 0xffc00007, 0x4, &(0x7f0000000280)=[{&(0x7f0000000040)="040800090000ff01e66174000404090a0200027400f8", 0x16}, {&(0x7f00000004c0)="dbed7d4cac17", 0x6, 0x1f}, {&(0x7f0000000100)="6045bc0155c338526c9e52df15fa0283faf06915c97a1fabeba97e8bf665f17a3b8f9eb0e666bfb3aaa1f1a76c9f293835991e01df2701c0b9c6fed5ad0ae37d0c3ee92e", 0x44, 0x5}, {&(0x7f00000001c0)="1470dec328693a6e2e16c58f98509ce2f4df59", 0x13, 0x1000000}], 0x0, &(0x7f0000000180)={[{@fat=@flush='flush'}]}) [ 280.184122] attempt to access beyond end of device [ 280.194253] loop3: rw=4096, want=2064, limit=267 [ 280.203126] BTRFS error (device loop3): failed to read chunk root 06:52:39 executing program 3: r0 = socket$l2tp6(0xa, 0x2, 0x73) sendmmsg$inet6(r0, &(0x7f0000005300)=[{{&(0x7f0000000000)={0xa, 0x0, 0xfffffffe, @empty, 0x4}, 0x1c, 0x0, 0x5b}}], 0x1, 0x0) r1 = openat$incfs(0xffffffffffffffff, &(0x7f0000000040)='.log\x00', 0x404203, 0xf9) getsockopt(0xffffffffffffffff, 0x1, 0x1b4000, &(0x7f0000000080)=""/187, &(0x7f0000000140)=0xbb) ioctl$SNDCTL_FM_LOAD_INSTR(r1, 0x40285107) [ 280.259985] BTRFS error (device loop3): open_ctree failed 06:52:39 executing program 3: sendmsg$SEG6_CMD_GET_TUNSRC(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=ANY=[@ANYBLOB="14000000", @ANYRES16=0x0, @ANYBLOB="997ecf5cc514912d145c01c243aaa7f8383920d700fa42eb3cca4303f22387b2de055843dc7567c217f80100000000000000cecbb4bcf2b2803c3fa4a37ae408be487e511b4dbfaeb3d0bbcaf9db0ba41710a766d310bd54459bed6407eeb7e4d2d3ef1da88d04eaeeabd2bf6d98337f668d8741090fbf86408da3d73ca5e3208588bcd4ceeb080004f763dd75d4cfa1bccb6eb69c4492b0a672100769cc45733973a7f6ee5d7c266d96775036b42f24a6b476bf74b4619f47de40c302261fbbde9df1bb9cc80904b05457bada43220432dbea3a6b0e799ff354fa30de75a5a0332f5cb375d25518dd456593e1847ea6f505ec3a025d1a5ee8fc118330bdf5760975dd"], 0x14}}, 0x0) r0 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r0, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) r1 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r1, 0x541a, &(0x7f0000000000)=0x2) ioctl$SNDCTL_DSP_GETOSPACE(r1, 0x8010500c, &(0x7f0000000000)) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) ioctl$KVM_GET_SUPPORTED_CPUID(r2, 0xc008ae05, &(0x7f0000000080)=""/18) [ 280.331470] FAT-fs (loop5): bogus logical sector size 21048 [ 280.350634] FAT-fs (loop5): Can't find a valid FAT filesystem [ 280.370229] BTRFS info (device loop3): unrecognized mount option 'flushonc–Cá¤Ìg$Ë”omN' 06:52:39 executing program 3: syz_open_dev$video(&(0x7f0000000000)='/dev/video#\x00', 0x6, 0x0) sendmsg$IPCTNL_MSG_EXP_GET_STATS_CPU(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000080)={0x14, 0x3, 0x2, 0x401, 0x0, 0x0, {0xc, 0x0, 0x3}, ["", "", "", "", "", "", ""]}, 0x14}, 0x1, 0x0, 0x0, 0x10000000}, 0x4000800) syz_open_dev$radio(&(0x7f0000000140)='/dev/radio#\x00', 0x2, 0x2) select(0x40, &(0x7f00000003c0), &(0x7f0000000400)={0x1c}, 0x0, 0x0) 06:52:39 executing program 3: syz_mount_image$vfat(&(0x7f00000000c0)='vfat\x00', 0x0, 0x8, 0x0, 0x0, 0x0, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f0000000040)='./file0\x00', 0x0, 0x1009, 0x0) r0 = getuid() r1 = memfd_create(&(0x7f0000000340)='-B\xd5NI\xc5j\xbappp\xf0\b\x84\xa2m\x00:)\x00\xbb\x8d\xac\xacva}knh#\xcb)\x0f\xc8\xc0:\x9cc\x10d\xee\xa9\x8bCc\xad\x89\x9ck\xde\xc5\xe96\xddU\xa9=\xcdJx\xaa\x8f~\xb90a\xa9\xb2\x04K\x98\x93?\x88Q\xf7\xd6\x1d\xa1\xce\x8b\x19\xea\xef\xe3\xab\xb6\xa5$4\xd6\xfe7\x0f\xe7\xd9$\xce \xabN\xae\xc9\xbd\xd3g@\xe1\'s\x0e\x90\xf2\xcdr\xb8(', 0x0) write(r1, &(0x7f00000004c0)="3161d417452c8f6d46edb3b1077f2abaa85e3489c66107ab7d9aeb42aa515f23c9150bfd105fa1be4e0415cb2c2d4a1cdff5ab24d3676c", 0x37) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x4, 0x11, r1, 0x0) sendfile(r1, r1, &(0x7f0000000200), 0xff8) semtimedop(0x0, &(0x7f0000000080)=[{}], 0x1, &(0x7f0000000100)) mount$9p_virtio(&(0x7f0000000100)='syz\x00', &(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)='9p\x00', 0x0, &(0x7f0000000200)=ANY=[@ANYRESDEC=r0, @ANYBLOB, @ANYRESDEC=0xee00, @ANYBLOB]) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 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, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socket$inet6_icmp_raw(0xa, 0x3, 0x3a) pivot_root(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)='./file0\x00') r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFVLAN_DEL_VLAN_CMD(r2, 0x8982, &(0x7f0000000380)={0x1, 'vlan0\x00'}) sendmsg$IPSET_CMD_SAVE(0xffffffffffffffff, 0x0, 0x0) [ 280.528667] BTRFS error (device loop3): open_ctree failed [ 280.676961] BTRFS error (device loop0): superblock checksum mismatch 06:52:39 executing program 0: r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r3, 0x4020ae46, &(0x7f0000000180)={0x3, 0x2, 0xf000, 0x1000, &(0x7f0000000000/0x1000)=nil}) r4 = ioctl$KVM_CREATE_VCPU(r3, 0xae41, 0x0) sendmsg$WG_CMD_SET_DEVICE(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000140)={&(0x7f0000000300)=ANY=[@ANYBLOB="1c000000", @ANYRES16=0x0, @ANYBLOB="010026fd7000ff78aa116674307e54abc883471b3a0db567d58600000000e8ff000000"], 0x1c}, 0x1, 0x0, 0x0, 0x8814}, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r3, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x8000000, 0x8, 0x80000000fb, 0x0, 0x40000000a, 0x0, 0x400000000000000], 0x0, 0x10}) ioctl$KVM_RUN(r4, 0xae80, 0x0) recvfrom$inet(0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f0000000000)={0x2, 0x5e22, @local}, 0x10) ioctl$KVM_RUN(r4, 0xae80, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) r6 = dup(r5) ioctl$PERF_EVENT_IOC_ENABLE(r6, 0x8912, 0x400200) ioctl$KVM_NMI(r4, 0xae9a) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f0000000380)) ioctl$KVM_RUN(r4, 0xae80, 0x0) syz_open_dev$tty1(0xc, 0x4, 0x1) 06:52:39 executing program 1: r0 = socket$inet6(0xa, 0x400000000001, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) sendmmsg$alg(0xffffffffffffffff, &(0x7f0000000140), 0x4924924924924a8, 0x0) r2 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r2, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r2, 0x0) r3 = dup3(r2, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r3, 0x541a, &(0x7f0000000000)=0x2) ioctl$KVM_SET_XCRS(r3, 0x4188aea7, &(0x7f0000000000)={0x3, 0x4, [{0x4, 0x0, 0x1ff}, {0x2, 0x0, 0x3}, {0xfffffffa, 0x0, 0x3}]}) r4 = creat(&(0x7f00000002c0)='./bus\x00', 0x0) r5 = creat(&(0x7f00000000c0)='./bus\x00', 0x0) fallocate(r5, 0x0, 0x40000, 0x4) fcntl$setstatus(r4, 0x4, 0x6100) r6 = open(&(0x7f00000001c0)='./bus\x00', 0x14507e, 0x0) sendmmsg$nfc_llcp(0xffffffffffffffff, &(0x7f0000000a40)=[{&(0x7f0000000100)={0x27, 0x1, 0x1, 0x2, 0x8c, 0x1, "9a90b0d82a8bb5742006338dd0e8e2eb6fb370517b2bf2be450071dfdc543204cd390844518239475b4260a52fb23e5a3dbb75219caf6a47a089cdd2312b1e", 0x35}, 0x60, &(0x7f0000000040)=[{&(0x7f0000000200)="b57b44330d96bc4e4feadba75d60b317282a3cc35bbcf947d120ab4bffc29d2bc716cb57b99c9b7fa05e31b358efba5dfa14d579fd7b68ff76241a1887d1c0b4def532a21c8543a25bdff32c149a793c2d3a4f22ecf1f2b652ac972a5e2129b1c4b2a546a83b4f9e29f8613f7bf19eeb4820d1f31fd24cb9356bd815d2", 0x7d}], 0x1, &(0x7f0000000300)={0x108, 0x118, 0x7, "c608eff807480fec83d4155de8d0ef470448b76877e21f12ed2e984b51af75a3ec1886601955d9b4a8f3c50aabc762f0ae4bd7d2161409de9ea9c4ba5f33f3fa86be8201d133f4201e6e90ec4a6e506a11b6e1b2fdce1f55d3bcd05e66930b02d159a1b1bc617fbe568a77ea5aea3176925cd88eeb46022e48cef16fcf639f9a3d0b8a08e39f37719d4396c69040e7403983079804abee375f44ec4e9beda0f88f7f07d504382a3b5b06fe7e956eb2fd2c24d8b19a7085ddea5eb9ee1cc940c00aaaf72c243d1dfc6469858a0d04023dd0d24d2edfaa9e75c138364e7d0a0c6fee0691efcd5086d0cd4526b85c84bf8b8361"}, 0x108}, {&(0x7f0000000440)={0x27, 0x0, 0x0, 0x3, 0x20, 0x1f, "ec68ad3e651150a5f9478b5fef5345ee7248fc1483a38f183f4bf5a786731229e382fb11e3f33dbfaf45c683283fb5271df2e9f95b45fc95b949e719c84f44", 0xb}, 0x60, &(0x7f0000000840)=[{&(0x7f0000000180)="ef3b2d869935de5176619f9ef80f2eada8b89f4c32188c2733159edf1711c9439d7d8c8d3da8f022bb0a", 0x2a}, {&(0x7f00000004c0)="c5c8c1fe29ead2c4418526823544b039bc6476c5dd051ccd13b376f11cd5f5e44a11b94e304798d06b0e4458bc50e4d399dc8f2052233d580f167cb6381602d0861b7ceb90a2f3984198761b465c54ed18772fade2f6d2c8b18494f247c5db2d1a3905538cf8179d9c24ffc354db251dbc36bac297a22f", 0x77}, {&(0x7f0000000280)="9f6f731160b609d8dd8aaf48bf18b655c1172d30a65c9cdc27f9017a19a3fd615202435b4bf322894e756f9f", 0x2c}, {&(0x7f0000000540)="5b2cdedfb6694456e60164b0152ca2cd0503c58a78e5b19f99fbf398cd828c6499c493a35eac0ff009c1568c0ff25955e2768172c3e067284f4ba1d25a3f74c7ce2aa326d7428b11958fc7fe9253f526de97d2fa778e8d63e89b5ab1876a2be66dab82effd5a993647ca93321d0af133d17170f085afc2ef9e177493fd5af08ae411dd8527d7c73debc375b0b006ef5be2f99e43edc7762f726b7a66545286270086", 0xa2}, {&(0x7f0000000600)="b13fdc11245f8bc71390dcd75e075c2e9d8e70200f3358d02e310d9ed32fdfe7be6bac220e0a8cb73473a49ba2943106d9524295e754321d801a91441bbc39b3d26b60010401c8cd4524813cdfce1b306d762ee90b06a39ff0dadb33afcf0d50cb3af9b3781bc5f6700541c91488639e42eca528c3479ad0cadf44c21015b01c67a40658878fd4bb513530f58351dd21075c214f90fe43f5bd30bf67321b7bb94f3f567b9439141b5754f86a5d42e371ccea1185a8b8ab818e64d8191c5682403d12b5a29ec377a37163862b6a413b38e57362868bc99808", 0xd8}, {&(0x7f0000000700)="cc73460a536546a51a8e", 0xa}, {&(0x7f0000000740)="9690cedc5b737c2320e7f6eb947b15fce21e7c82150e3d2205d9", 0x1a}, {&(0x7f0000000780)="e807f392fa7749bc90ab2d5076089e", 0xf}, {&(0x7f00000007c0)="5d8c5516025a934b0c675af3e7e5ed38759e41e4848fef04d5cc087c66713f5125889f82e9f35ee515d9722ed1b5397870758f300efa54d33b845886dded94a3bb6586bcf758262a70", 0x49}], 0x9, &(0x7f0000000900)={0x108, 0x118, 0x80, "94e97de673ff070414dd930d29408c686489bbff235fea5be9c904540ce432842711d3717ce3e236d894d3088bf20cb082847ea439494991795c98ba92116a7677c6ad72c9a5f004d94c17f9b024493cf94cb522d013e959ced7235b69dbdfa6cf67f2ddabb0963690fa30d5fd4abf0da0e748d67c23dd18d88b62f4b9804de50aebbb8d95f0bc60ade18e5e5ef880814abfaf317d85b3930e68f108fd14551085ccb068c1dccdc170711e786722cbac8e05c686bed231436b544fc02787724a19face57f80a5b79eb93652926f6611517dc9d0af43fdc21ef5714e3817b88374cad8c09e4994c1b8ecaf69c90b65a142c857b616aab3c"}, 0x108, 0x850}], 0x2, 0x8801) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x17ffffa, 0x4002011, r6, 0x0) write$FUSE_NOTIFY_STORE(r4, &(0x7f0000000100)=ANY=[], 0x40004) signalfd(0xffffffffffffffff, &(0x7f0000000080), 0x8) 06:52:39 executing program 3: r0 = socket$key(0xf, 0x3, 0x2) setsockopt$sock_int(r0, 0x1, 0x2, &(0x7f0000000000), 0x4) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) dup3(r1, 0xffffffffffffffff, 0x0) fcntl$notify(r1, 0x402, 0x8000000b) [ 280.717391] BTRFS error (device loop0): open_ctree failed [ 280.794844] audit: type=1800 audit(1609743159.606:53): pid=14014 uid=0 auid=0 ses=4 op="collect_data" cause="failed(directio)" comm="syz-executor.1" name="bus" dev="sda1" ino=16091 res=0 06:52:39 executing program 3: perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x1, 0x0, 0x0, 0x0, 0x0, 0x50f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$loop(&(0x7f0000000040)='/dev/loop#\x00', 0x0, 0x103382) r1 = memfd_create(&(0x7f0000000240)='.^\xc5', 0x0) sigaltstack(&(0x7f0000ffc000/0x2000)=nil, &(0x7f0000000100)) ioctl$LOOP_CHANGE_FD(r0, 0x4c00, r1) r2 = socket$netlink(0x10, 0x3, 0x0) socket(0x10, 0x3, 0x0) sendmsg$nl_route(r2, 0x0, 0x20040000) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, &(0x7f0000000000)={0x0, 0x0, {0x23, 0x21, 0x11, 0xb, 0x4, 0x6, 0x3, 0x36, 0x1}}) r3 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000001100)={0x0, 0x0, &(0x7f00000010c0)={&(0x7f0000000040)=@ipv6_newnexthop={0x18, 0x68, 0x1}, 0x18}}, 0x0) r4 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x80000) mmap$perf(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x0, 0x10, r4, 0x0) r5 = socket$nl_generic(0x10, 0x3, 0x10) r6 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000140)='l2tp\x00') sendmsg$L2TP_CMD_TUNNEL_CREATE(r5, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000340)={0x5c, r6, 0x917, 0x0, 0x0, {0x1, 0x0, 0x6000}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_SADDR={0x14, 0x1f, @empty={[0x74]}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_ENCAP_TYPE={0x6, 0x2, 0x1}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[], [], @dev}}]}, 0x5c}}, 0x0) sendmsg$L2TP_CMD_SESSION_DELETE(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f00000001c0)={&(0x7f00000003c0)=ANY=[@ANYBLOB='(\x00\x00\x00', @ANYRES16=r6, @ANYBLOB="000328bd7000fbdbdf250600000005000700030100000010000000dea35e1a100e01c01f52c2cd1daca90ade23d1a3cd32071c7e46096d7ff29d124e62a90502da69ac099e7653a7dd87a5ff4ac0b01d721ea1ea980a4adebbd15b7acb4a7a5cb2a973734139b398b3694f0000070d26fc00bf486c45beac0fb48ba89911e19d6c3aa70d9f9b4006d6b7168b11b0ae9f49d02e6119c1c43f6b095d9cd0e760e9fbf6ab46ccfeb9ea39d8c2484349337048cafbfa6cb3324629e406054b0fec2e8ef49f7242b17307e328"], 0x28}, 0x1, 0x0, 0x0, 0x8000}, 0x40070) sendfile(r0, r0, 0x0, 0x24002da8) r7 = creat(&(0x7f0000000140)='./file0\x00', 0xe0) fallocate(r7, 0x0, 0x0, 0x8020001) 06:52:39 executing program 1: mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x7f, 0x89}, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x3}, 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080)='/dev/fuse\x00', 0x42, 0x0) mount$fuse(0x0, &(0x7f00000042c0)='./file0\x00', &(0x7f0000002100)='fuse\x00', 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=0000000 000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0, @ANYBLOB=',\x00']) pivot_root(&(0x7f0000002000)='./file0/file0\x00', &(0x7f0000002040)='./file0\x00') read$FUSE(r0, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r0, &(0x7f0000004200)={0x50, 0x0, r1}, 0x50) ioctl$TIOCSIG(0xffffffffffffffff, 0x40045436, 0x0) syz_fuse_handle_req(0xffffffffffffffff, 0x0, 0x0, 0x0) 06:52:39 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff7ffffffffffb, 0x0, 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, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, 0x0, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) getsockopt$IP_SET_OP_GET_BYNAME(0xffffffffffffffff, 0x1, 0x53, 0x0, &(0x7f00000001c0)) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) ioctl$DRM_IOCTL_INFO_BUFS(0xffffffffffffffff, 0xc0106418, &(0x7f0000000140)={0x70ba, 0x9, 0x8, 0x80000000, 0x4, 0x2}) ioctl$sock_SIOCSIFVLAN_GET_VLAN_INGRESS_PRIORITY_CMD(r0, 0x8983, &(0x7f0000000100)) sendto$inet(r0, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) 06:52:39 executing program 0: getsockopt$netrom_NETROM_T2(0xffffffffffffffff, 0x103, 0x2, &(0x7f0000000040)=0x10000, &(0x7f00000000c0)=0xffffffad) write$rfkill(0xffffffffffffffff, &(0x7f0000000080)={0x8, 0x7, 0x2, 0x1}, 0x8) 06:52:39 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f0000000140)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0x51}], 0x1, 0x0, 0x0, 0x0) write$P9_RMKDIR(0xffffffffffffffff, &(0x7f0000000100)={0x14, 0x49, 0x0, {0x0, 0x0, 0x5}}, 0x14) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) write$P9_RRENAMEAT(0xffffffffffffffff, &(0x7f0000000080)={0x7}, 0x7) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(0xffffffffffffffff, 0x89fa, &(0x7f0000000280)={'ip6tnl0\x00', &(0x7f0000000380)={'sit0\x00', 0x0, 0x4, 0x20, 0x40, 0x7, 0xa, @empty, @mcast2, 0x10, 0x700, 0x8}}) ioctl$sock_inet6_SIOCDELRT(0xffffffffffffffff, 0x890c, &(0x7f0000000400)={@rand_addr=' \x01\x00', @initdev={0xfe, 0x88, [], 0x1, 0x0}, @local, 0x800, 0xff00, 0x6, 0x400, 0x9c, 0x18, r3}) ioctl$MEDIA_IOC_REQUEST_ALLOC(0xffffffffffffffff, 0x80047c05, &(0x7f00000001c0)=0xffffffffffffffff) ioctl$BTRFS_IOC_QUOTA_RESCAN(r4, 0x4040942c, &(0x7f0000000200)={0x0, 0x101, [0xc07d, 0xf8, 0x5, 0x5, 0x0, 0x7ff]}) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x40000007, 0x0, 0x3, 0x0, 0x20000000004cb]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x3, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, @perf_config_ext={0x0, 0x1}, 0x0, 0x10, 0x0, 0x6}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 06:52:39 executing program 1: r0 = accept4$bt_l2cap(0xffffffffffffffff, &(0x7f0000000040), &(0x7f0000000080)=0xe, 0x181800) getsockopt$bt_BT_FLUSHABLE(r0, 0x112, 0x8, &(0x7f00000000c0), &(0x7f0000000180)=0x4) fcntl$F_SET_FILE_RW_HINT(r0, 0x40e, &(0x7f0000000200)=0x1) r1 = syz_open_dev$vim2m(&(0x7f0000000000)='/dev/video#\x00', 0x8, 0x2) ioctl$vim2m_VIDIOC_PREPARE_BUF(r1, 0xc058565d, &(0x7f0000000100)={0x0, 0x1, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "655e0354"}, 0x0, 0x0, @planes=0x0}) setsockopt$inet_tcp_TCP_REPAIR_WINDOW(0xffffffffffffffff, 0x6, 0x1d, &(0x7f00000001c0)={0x8, 0xffff, 0x7, 0xb995, 0x52}, 0x14) r2 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000240)='/dev/nvme-fabrics\x00', 0x18000, 0x0) sendto$ax25(r2, &(0x7f0000000280)="7e417371875dfd94812434058169dd3837c393f689bbf11dd2769066978ac5595186cc7cf482530f21c46de64c4705417dfb84007bf886d6e90d6243b8ae4ac1bc21f2758bebca645e6d8cf9d021a4dbab5bd0907ac15bb844e7d3219c2bbad248b009cf4a452b8deef914a4937c74a6bd5203115f16886669a3754c9d92ea98fe74e90b24334c63990c97e413387560442a74a62d46d4938e577b984f2c", 0x9e, 0x480, &(0x7f0000000340)={{0x3, @bcast, 0x5}, [@remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @bcast, @default, @null, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x48) 06:52:39 executing program 4: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x11431, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0, 0xc}, 0x4030}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x2, 0x31, 0xffffffffffffffff, 0x0) mbind(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x8003, &(0x7f0000000000)=0x9, 0x8, 0x1) remap_file_pages(&(0x7f00002ec000/0x200000)=nil, 0x201608, 0x0, 0x0, 0x0) 06:52:39 executing program 0: socket$inet(0x2, 0x4000000000000001, 0x0) dup(0xffffffffffffffff) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) sendmsg$NL80211_CMD_DEL_INTERFACE(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000280)={0x1c, 0x0, 0x300, 0x70bd2c, 0x25dfdbfe, {{}, {@val={0x8}, @void}}, ["", "", "", "", "", "", "", ""]}, 0x1c}, 0x1, 0x0, 0x0, 0x240400c0}, 0x20000010) mount$overlay(0x0, 0x0, 0x0, 0x0, &(0x7f00000011c0)=ANY=[]) syncfs(0xffffffffffffffff) readv(0xffffffffffffffff, 0x0, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b00000000020000280200000284", 0x62, 0x400}, {&(0x7f0000010400)="02000000030000000400000030000f", 0xf, 0x1000}, {&(0x7f0000010500)="ffff000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1002, 0x2000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x0, &(0x7f0000000440)=ANY=[@ANYBLOB]) socket$inet_udp(0x2, 0x2, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000000400)='./file0\x00', &(0x7f00000003c0)='trusted.overlay.upper\x00', &(0x7f0000000440)=ANY=[@ANYBLOB="00fb150000b4c299ce9f88aae66317975620c06168fcbec8819099974673a33bfa027dd4123d1c3f3226bade5a36fef1845507866ec860c53f108787f033340428e560e40be50b0df571a8391f113f20dbfc6472f915901aebb6226150c03bc23b64259ae7544a3128e38f52d498f53f5068ee99c7b43d6f3737358f4094c53c691914496074cbc5dfb746877fb77be81f781553ad51c32dd31bb8b93132cf55cecd2b9346273f3d09d017ab2b7b87240e980685f8c198a33a7e7b29f622a3faa8f0ce297731747ffafa0250863d89a6da9150fec8a773bf8b5a9c6bd41a14b567822181d46b1f2454747c786b400f9945db42689d3de22bd4866c56845e6b42d6661c1dc5eb860c042a483170f50a463a3c523e5ce78880362dcad7028d9ade6b375d21c881f3f302f3a3bcc683bf2155772d4eecf44f2cf436da2eaee5882075ae1fdac51390f9fea74f06a0513a4811bcca92321516a8c86f20e9d67fd770906e931f2fefcae5c32831cf8174355b62c26b8ec890202903df0edf73497fd156a8e8d3ff30a738dca866e2e3939195d0426389a782c4e7a12942d33418d2378c9afa094bdd899fe41ee1d4ec1e75fb4085e7350435c325b6d8b89ac7890a835c5bcde67f6cf6e5165755de8ba827106f6263d1c9602e8029c0ff2d019d6e81d396250a8df49b6e39258bd28f977b21b44e9f53d4e81717a28aec0e889747bf502254d57961db063c9ca75c4e4c607106fe8a396f04befd7b44012ab9f978c3b81a8f67b0217e14e147cbf56f5961671ca3a00abd7926e07e1f04d1c2bf5e4b8d5bfaa264c59ad480463628be47d894a52376fea74827e080274502ace18e1785fd708c2b00b59f52aed238802c9f97d1f9cb701beeb74c765cbf784225b02f5ddf967ecce4d05350bdbe6816723a03265d2f579b5ff5e749633057151798b97b31266e6eb28fb9594a6262e47338ae33f00cf41fdbf77455067f329427e1b15f661fce894f66ec08452a8d33bcc95aec4af5959abcdc2e1d4ce6957351e5912984acc34594260e386f477fe47d858df9e9e9d35c51226e89f2debc055eec49efdfe2e57a132521e8ba3618890fbb555757a74c9711041685b7c69e7ff1470961d527016ae484b9f77d94886843a052550919580f23e00a6f7db2a010840fc8e93d247476dd9e7a54fb977012d159a426cfc498df47f16e5aed9cbb872989aefac1403cea2d552b0ac958b5f7b627c853d73ccd73b481ebcc1d86d5c61a0b0acf2f1a94f10fe2ba3f191986fc014705a68b2e82721b11c4892bec6c4d9f92afb24637f56b2b59f48e9869d0a85060a97646c35884855b5828793439e1bce4c91cc6103ce3eac1bb9c87d601a6c9834374cbf5e85faa7969cc17259ed7b38e1f02d41ef4c542f5b8d7842fc92804e7b5d38d0d5346097cc7387b437b97b7b41128f4f335b0e5f0078d6bc6cadb7b5a2dcfd715e71b3e38dbf9a154fea2949317b1253d26b98ef71b6dda965147a702b66bc4a7f1619964ad79f7ab9625d6c474e97a13a74daa921a2ffa5042378ba5c3178891f95d8df5400441091f075990a9c67ba53ef9ba4d2d0b024aeb07e79b90ac84fab041a92bd0700bf312af707adfe3e33feceef2c862729812f52e278227ae6f3ad80d17ef61da43eadb455a4cd461a12d93480df0920bbf53aab4263337d32844df3d920bda1bd39a15b13767e5a7e6d2ef593924ae06fbb2b4658154b6c2e8362c2b9b3637185cff192657f9e1230b49c1cd30fec9278a803c1112b6b47c312bb954bb293e1b07db45e1c1be62e6f9fc7b06d6c3d5129bdd28eed065e70135e81210a859460e0c9d5af2bd2dba94efa59f36822a4121242f88bb6bee7f62a6bbd8e295bc1468537009a32c382c3b1888ec8687a89d1dc0769013aa64be5dd34e70f870191b0c0db756a124d595a3f96e0c0c82afdefb3a59932fc2afe8006ec83d50fed0d2e5d1a0c9dd4ef1fc66d4866594c562234e05945c554fc3cfe9fc3b4e10cffc38e0e538237a3eef6b64d2e4b0b5ab91445c71b3fdac9eff73a425390cdb397b4a7fa77adad43ed42df914652f0c92be16a3738992ccd800bbbde3b346a4db24f1cb8dd078cf708c24e5dd7c283b0d56755031e2fb1b6d5ca06c528ebcdddff587f413f7cedba3c168fab42696e5aeafb7d785d88495416a34a8aa528000612eeb4f46d4bfe5d39982ae1271cbfcd163f6cee40d44247500a18589d7054ab0ecf75947c3063b498af154809a811ad74e9398971d980d8ae20bba486ccef6024fe018613c0e47c8bb8cb25008ff55e977a787d2d893d2fb52a56cb9e18a4a455ea9805039fb28c3da600e3e9481cb47193dad7b23e770df055dc10dc5e8fff873dc1af99cb9321ac3ac4afda389f8a2e92b33312770af1f0206f4f6cc413eabec96856691ba563d48c5ef4a6333c72866864cc99382c26fcf80b2f3c4a6d837632f219785380346b8e39efccfa2396d3e5789de82ff9f51973a9420b58a3f2b6e30b83b0c28566741bd4199e6d6c9cd71004648beabf40edb95913f936429f188ca8b719a89bbfc26111b7b9aacba250f35e601fa3a413a895c6ae43e9c6733087b52cdfd349b1d5624accf4ba53548791481d983d418f2fe07228039ef3d4416699b73dcfe5accedc905b6c472a4b9d8627bf58a2bdeadafbdc19a6318a7af2f85b3242ccb50ffb5e6941158180c75877fcdafd8f46616433c07c9177717875b81911d84c614a90c407549fa4b70a796919d918ab06497d82180986d9bf912bef539eb88c99585b4a5006302d9c4ed89e8d1defac17d06264933b787b43197fb4c58ec9370d0b36c36553859586b3b5ab234b5f3db88c616a1dfda4adf7136a51f3cc201fd3d8fbdfc0d78d06b36d16fcba16c38b9c755dbe6e37aa6c10f4518f0a8c12292eac83cd4aaf66fa0f6e8072c3e15046762bbb8e3f4cfc23e88df16dac2b77acaabcd5e6f39e70c79a9bda859ad34c918a1f7bdc2773a8b29842bcf6e2878a75e77da5bf9bc49171f9decfcedef73f8713fc40095735837c5d4d2a427a850b56ffe77305dcf336660ea0ba6fe69c168504051a03b706c17a3c8f86ce0c791b6133df10797bca14b314f651bf319aeb69250f6b4c689e217f04ebf88aef2d99fd27820238b728997c38571b945c7127e5ac4e82a205fe2ed4c1e22970a380ad9228458673487c83852fb4ad5a8c77bd4044fd5112d431b205851df1775acd06f26f54c73609e836443825a61d8506432b01c3f96b2f3d9ba0e172367f43133278ff70f1bca3047ad6ee976cc64ba3b43e401ba49eec86f9d48d85a1728c3c44e08ae1a9f56dfc471fbabc6369fb945b6191b4307f28fef714ca417ed6195b95c2080e3b5fe5c5d1155f6f52b16b6e6249b6c5370ec3950ad401026b7875f89fdb46e66d61c110e05f1eae4078b29a38bf6a988d49a420dcfce93f386f8cb67f5046e96764d0abc114deb420deeb94a65cf063bf92a17f691887565cfb767f5ad105e3dbfba7c4e55bbaa262204a47c057e7f27dde526d5a13f72b5f66d6af4ddcf597acebf32b8fafac2a6a265b910fe4039c7946efe9e4050da56cc66c64c41e8ad5c1686773d6690ffe770b5073680d3bdce6ef3f80c1f5d5640509bc4d92dc836d1e59615f5b27efca10b38d22cf4a4961d584f81b7fbdf05e5c224514eab14986ef09f2621c80984330c4cdeb79fd7cec4bc7e312aa4e33151e57362ba42f4a9d940156b5f5aa71e13e28fcdce7324765cc99879031e209a0ee6d4d8d9780f64a8271be3a8f0a4291752f69c64f1606f2649cbebd34c8dd001bfc942a36e36c408f70e824f87788b3b4d332d958097fc2b59ed8796e59578bbb0356761a8ddaa6134b5732e152f757153be2b5f67edd45fd33313b313298e4f4dca5459ec04f6b084ad188d358c4a18b3602ed2451e21fab53f2b4a5bc2f32f8769f670243b32405f511049d08fb6f54ae5157cdf92df6222a0698f2eb5508796628fa708f8f3e15ae07c90cfa4ce0f8618ae4333f2b060f245780342d1a193ab4343ac4f79fdfe52e018ba0af62adb8e8a9f2652fbeaa99b33ba47791ae89ba8b81d4ede952342245b02956d263d932936d7956b5f343f8b33ee256e71ca850814c2f45e6a339127fae0277108966673a1101bbe7ac9ae97f08a81f0c9fe404016baea6c9f7b0f7d298f5ccff85306a1780ff9bd897accfa86fdf39b2c90799de2ed8ab5007ab12ab64a99ebdc8ba4d1671b8cfc15301b4d6d06206f26552cf9b2482913d553ab7be44118a4fe0d96db776ee050958cca4ac6bbe75bc97fd1117fc824d7b4b59747c0fc3d974605001d40b45b402a772b6b7747a1d246f585adb1dbc28c3ecf9e1d9feebe4ad9db728b3adf94258820d1c780b61ed04259c57df00d8c128d6c7f1f25fd73fd047744f8645441ed8840916c517f580be44df64254d6e00eff580030137121d878025851b0ee9d219c6492361d6721f3c3678e2fed0f055da1301ad6a128a0a46a12d5bedb41b799f4888ce1a9b2db0677ed598ac5efbb2f56e8b94dbd11538a74fc0a8d1fce59c13b63378eaf53334000493979033351ed6663bae165e6589bb93f73086ab161ae2c3a444aa3ba69b985ea7279aa41939b60be58363116f6c5983da8229616398983fc9d7667b88da575ffcc5f1d1adc16149e83d8cd154360e605cd053e1448bbd3df0e85cf57e1d21002b53585a15c38eb8bace1dea65dd147b84944d81142b0619da3d2305202e7d928293de094cb981b38a57fdf0eebab1a5b0c25acc352aa348722bf4b6f5835f033feaeeed5797d20c9a0e37d9a50e8c1da97dc57d0b573ed627aa199a2a0d6280098bbe057f796157dbe72b3ae37c5c1d3eea6dd3143f80d02235f4fa46a7246febd190187913096f3da6df963bcd230537ce329eb41b71a0084ed07058a6d7210a5c3aa6daceee57d88939044c15a7d94737051989eb021a5efeecf8b54ca653f4888cb5f0fcbe1bd843f2aca2c7150ec5e1389c5ff0e650e5548c1b306c0c3d97ebedd8183d904927ac705c48786f97ba0456e16d76691e0980ad5c0b16ff160a2b0f3c8ca4836840ac5d06842bd5eb5d41d50119e726906d919e8ff15832674b1fb8c012518030c19881348f701f56f04a0abc0e46124e5836b3bc769b42bec6c8cedd09a075fcbcfe2bb88079f3af0513f624a15a3f44c35172b1f6d96de478749b81a5df4438c7f198f57ed79b29b8cd29a747c7fb7e7443f28d27e791f8750deb36943d0648d22485cc2a26fe98bf6226d43751971285f2bec526fa01f2795d0b90afa410f1a30975e28dd036fcb6155b2488f485378b4a5fbb13885c20cc3617f57f540e13b7b90177030bfdd3bfe23ca82f904536e9f2df106d1a35fa976230245f556f61e5c1359143d7bbcce669d8c3643be3c3b21291b390487cf33f5a478c0033dc94cc2fef12e5b6baf64680d615476f7a57bcfad7f3922c8a8d02e7e5ee4adff30c13d0b2fdfc4aec1ce974812c68aa915a1828040a1ee6d00c2cf21ba88d7f9ffa8be50817e2850b9f8f1aba1368c6de66e519f399d5b18a2f026d7e1bf83002fa02e14bd88f0b44e278c605bfbcabe91e65eaf6c913fc6a2dbd96c66650c97b75c67244d147d99d42cadfca206147758874c6db8b5f892a3e839e5f8e6c195e3110cddc63d3a317bb703eda16f7ee8a48abcca39ffff0604088642aca9dea5c611ea67543276f958b0b2a092c24f0343049aca3582e277bd9a5400ab5bb290f72edb9891aed801f7db8da00f44fc0f567a0c6318e481af8c61b5a6d4a83276cde1542ff5a883fb8a28805c9bb60c9f196903935d6f62"], 0x1015, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='trusted.overlay.upper\x00', &(0x7f0000001300)=ANY=[], 0xc001, 0x0) r0 = dup(0xffffffffffffffff) ioctl$BLKFLSBUF(r0, 0x1261, &(0x7f0000000000)) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) ioctl$SNDRV_PCM_IOCTL_START(r2, 0x4142, 0x0) 06:52:39 executing program 4: mount(0x0, 0x0, 0x0, 0x0, 0x0) r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) r1 = open(&(0x7f0000000040)='./bus\x00', 0x0, 0x0) ftruncate(r0, 0x208200) fdatasync(r0) r2 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0xfffffffffffffffc}, 0x5084d}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r3 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r3, 0x0) getsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(r1, 0x84, 0xc, &(0x7f00000000c0), &(0x7f0000000100)=0x4) pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$packet_add_memb(r4, 0x107, 0x1, &(0x7f0000000180)={0x0, 0x1, 0x6, @link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x1}}, 0x10) read(r2, &(0x7f0000000000)=""/30, 0x1e) [ 281.124573] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000040 06:52:40 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) wait4(0x0, 0x0, 0x80000000, 0x0) r2 = perf_event_open(&(0x7f0000c86f88)={0x2, 0x70, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x500, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 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={&(0x7f0000000000), 0x3}, 0x0, 0x0, 0xfffffffd, 0x2, 0x0, 0x2}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f00000001c0)='nl80211\x00') sendmsg$NL80211_CMD_CHANNEL_SWITCH(0xffffffffffffffff, &(0x7f0000000740)={&(0x7f0000000640)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000700)={&(0x7f0000000680)=ANY=[@ANYBLOB='t\x00\x00\x00', @ANYRES16=r4, @ANYBLOB="000126bd7000fddbdf25660000000c00990009000000430000000400b800080026006c0900000802a0c44429ba7c80b70000002000080026006c09000005001901040000000800cede3df37d8c6da10014000000080027000000000000000000ef02000008002600991600000800"], 0x74}, 0x1, 0x0, 0x0, 0x20048850}, 0x0) sendmsg$NL80211_CMD_GET_MPP(r3, &(0x7f00000002c0)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x68, r4, 0x4, 0x70bd29, 0x25dfdbfb, {{}, {@void, @void}}, [@NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @broadcast}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @device_b}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @broadcast}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa}]}, 0x68}, 0x1, 0x0, 0x0, 0x4015}, 0x8004840) sendmsg$NLBL_CIPSOV4_C_LISTALL(0xffffffffffffffff, &(0x7f0000000600)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f00000005c0)={&(0x7f0000000d80)={0x204, 0x0, 0x0, 0x70bd2c, 0x25dfdbfc, {}, [@NLBL_CIPSOV4_A_MLSCATLST={0x0, 0xc, 0x0, 0x1, [{0x0, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATREM={0x0, 0xa, 0xd6b4}, @NLBL_CIPSOV4_A_MLSCATREM={0x0, 0xa, 0x817f}]}, {0x0, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATLOC={0x0, 0x9, 0x80bc391}]}]}, @NLBL_CIPSOV4_A_MLSLVLLST={0xce, 0x8, 0x0, 0x1, [{0x34, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xc6}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x3b}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x79f58b09}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x4d}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x8c}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x3ed1dace}]}, {0x4c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x150ac055}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x4cc71ee9}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x36}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x6f}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x31}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x20000050}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x20984a44}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x4457395}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x39}]}, {0x34, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x48}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x6e8eb067}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xba}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x23571c8a}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xff}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x106b13c3}]}]}, @NLBL_CIPSOV4_A_MLSLVLLST={0x12c, 0x8, 0x0, 0x1, [{0x14, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xe8}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x5ebbeddd}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x69e60389}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x10}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x14}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x80}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x23}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0xe38e5c3}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x18e911fd}]}, {0x14, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xb3}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xef}]}, {0x2c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0xa3bc586}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x7c0641a7}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x46}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x1b}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x79}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xfc}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x17}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xe1}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xb6}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x63a772d6}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x3f52f250}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x12}]}, {0xc, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x6b}]}, {0x14, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x44}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xea}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xa7}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x7d653096}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x1f}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x36d9a8b1}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xbe}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x49}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x2e4ae6b2}]}]}, @NLBL_CIPSOV4_A_MLSCATLST={0x4}]}, 0x204}, 0x1, 0x0, 0x0, 0x40}, 0x800) sendmsg$NL80211_CMD_START_NAN(0xffffffffffffffff, &(0x7f0000000b00)={&(0x7f0000000a40)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000ac0)={&(0x7f0000000a80)={0x2c, 0x0, 0x20, 0x70bd25, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_NAN_MASTER_PREF={0x5, 0xee, 0x2}, @NL80211_ATTR_NAN_MASTER_PREF={0x5, 0xee, 0x25}, @NL80211_ATTR_NAN_MASTER_PREF={0x5, 0xee, 0x80}]}, 0x2c}, 0x1, 0x0, 0x0, 0x20000441}, 0x0) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, &(0x7f0000000880)={'wlan0\x00'}) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_GET_SCAN(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000140)={&(0x7f0000000080)={0x28, r4, 0x400, 0x70bd2b, 0x25dfdbfe, {{}, {@val={0x8, 0x3, r5}, @val={0xc, 0x99, {0x5, 0x40}}}}, ["", "", "", ""]}, 0x28}, 0x1, 0x0, 0x0, 0x20}, 0x880) sendmsg$NL80211_CMD_TESTMODE(0xffffffffffffffff, &(0x7f00000004c0)={&(0x7f0000000300), 0xc, &(0x7f0000000480)={&(0x7f0000000340)=ANY=[@ANYBLOB="40010000", @ANYRES16=0x0, @ANYBLOB="00042cbd7000fbdbdf252d00000008000300", @ANYRES32=r5, @ANYBLOB="8000450038a42736c0e7668b4c43f469dccabab2a7fe6975283d7485d14fc80ac53124126badaaa0f4db685ecc7d7c0bbe0054e9f0a227a5b58ccbe7985f0d2b225f81c85badd98a588036a4da382854ebd719b274822bcdc47daf7f96c85a6abb0d27be6704983149be6d11b2ee9f8819590d52f417a40045002af7882a569e3e0186da6c60bb823770fdafd55d7a9157a378a3f7ea713f96318e5c5bf71db46fb750c127b7cc35f46fc46707f4ac11bbc9b8872fb06fc7882532fbb6288a28261cd63af9a27e95c9a99d7743fdef4a2f551b52c019ed54fd5c88ca83e7af51a2e869d0b873fa633d0d03b051a374af50c2fea56d5045f54cc7103c7f23dee7733676f098b9c7b8a8a54e9b3caffd14de6728ccc2bc351e7033"], 0x140}, 0x1, 0x0, 0x0, 0x20000000}, 0x4080) sendmsg$NL80211_CMD_JOIN_MESH(r1, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)=ANY=[@ANYBLOB='4\x00\x00\b', @ANYRES16=0x0, @ANYBLOB="04002cbd7000fedbdf25440000000c0099000000ffff2b0000000c0024000496180605818b0b08000c0000000080"], 0x34}, 0x1, 0x0, 0x0, 0x40}, 0x4040800) r6 = gettid() tkill(r6, 0x3a) r7 = memfd_create(&(0x7f0000000040)='\b\xacH\xe7\xc9\x1d\xbe\x9a.\x87\xa1\xa6\x12 \x00', 0x0) dup3(r7, r2, 0x0) [ 281.192651] audit: type=1804 audit(1609743160.006:54): pid=14075 uid=0 auid=0 ses=4 op="invalid_pcr" cause="open_writers" comm="syz-executor.4" name="/root/syzkaller-testdir485868498/syzkaller.yVUN2s/54/bus" dev="sda1" ino=16112 res=1 [ 281.220417] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000069 06:52:40 executing program 3: perf_event_open(&(0x7f0000000300)={0x1, 0x70, 0x1, 0x0, 0x0, 0x0, 0x0, 0x50f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$loop(&(0x7f0000000040)='/dev/loop#\x00', 0x0, 0x103382) r1 = memfd_create(&(0x7f0000000240)='.^\xc5', 0x0) sigaltstack(&(0x7f0000ffc000/0x2000)=nil, &(0x7f0000000100)) ioctl$LOOP_CHANGE_FD(r0, 0x4c00, r1) r2 = socket$netlink(0x10, 0x3, 0x0) socket(0x10, 0x3, 0x0) sendmsg$nl_route(r2, 0x0, 0x20040000) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, &(0x7f0000000000)={0x0, 0x0, {0x23, 0x21, 0x11, 0xb, 0x4, 0x6, 0x3, 0x36, 0x1}}) r3 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000001100)={0x0, 0x0, &(0x7f00000010c0)={&(0x7f0000000040)=@ipv6_newnexthop={0x18, 0x68, 0x1}, 0x18}}, 0x0) r4 = dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x80000) mmap$perf(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x0, 0x10, r4, 0x0) r5 = socket$nl_generic(0x10, 0x3, 0x10) r6 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000140)='l2tp\x00') sendmsg$L2TP_CMD_TUNNEL_CREATE(r5, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000001c40)={&(0x7f0000000340)={0x5c, r6, 0x917, 0x0, 0x0, {0x1, 0x0, 0x6000}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_SADDR={0x14, 0x1f, @empty={[0x74]}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_ENCAP_TYPE={0x6, 0x2, 0x1}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[], [], @dev}}]}, 0x5c}}, 0x0) sendmsg$L2TP_CMD_SESSION_DELETE(0xffffffffffffffff, &(0x7f0000000200)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f00000001c0)={&(0x7f00000003c0)=ANY=[@ANYBLOB='(\x00\x00\x00', @ANYRES16=r6, @ANYBLOB="000328bd7000fbdbdf250600000005000700030100000010000000dea35e1a100e01c01f52c2cd1daca90ade23d1a3cd32071c7e46096d7ff29d124e62a90502da69ac099e7653a7dd87a5ff4ac0b01d721ea1ea980a4adebbd15b7acb4a7a5cb2a973734139b398b3694f0000070d26fc00bf486c45beac0fb48ba89911e19d6c3aa70d9f9b4006d6b7168b11b0ae9f49d02e6119c1c43f6b095d9cd0e760e9fbf6ab46ccfeb9ea39d8c2484349337048cafbfa6cb3324629e406054b0fec2e8ef49f7242b17307e328"], 0x28}, 0x1, 0x0, 0x0, 0x8000}, 0x40070) sendfile(r0, r0, 0x0, 0x24002da8) r7 = creat(&(0x7f0000000140)='./file0\x00', 0xe0) fallocate(r7, 0x0, 0x0, 0x8020001) [ 281.241912] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000008d [ 281.254644] audit: type=1804 audit(1609743160.036:55): pid=14075 uid=0 auid=0 ses=4 op="invalid_pcr" cause="ToMToU" comm="syz-executor.4" name="/root/syzkaller-testdir485868498/syzkaller.yVUN2s/54/bus" dev="sda1" ino=16112 res=1 06:52:40 executing program 0: r0 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r0, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) r1 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r1, 0x541a, &(0x7f0000000000)=0x2) setsockopt$IP_VS_SO_SET_EDITDEST(r1, 0x0, 0x489, &(0x7f0000000080)={{0x29, @private=0xa010102, 0x4e21, 0x1, 'sh\x00', 0x4, 0x2, 0x40}, {@loopback, 0x3, 0x2000, 0x4, 0x7, 0xa668}}, 0x44) r2 = socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_CONNECTX_OLD(r2, 0x84, 0x6b, &(0x7f0000000040)=[@in={0x2, 0x0, @loopback}], 0x10) 06:52:40 executing program 1: syz_mount_image$vfat(&(0x7f00000002c0)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="601c6d6b646f736617e43c00088020000200000004f8000020004000000000000000000001", 0x25}, {0x0, 0x0, 0x200000000011000}], 0x0, &(0x7f0000000240)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x6900) ftruncate(r0, 0x800) r1 = socket(0x10, 0x0, 0xc) getsockopt$ARPT_SO_GET_REVISION_TARGET(r1, 0x0, 0x63, &(0x7f0000000180)={'IDLETIMER\x00'}, &(0x7f00000001c0)=0x1e) lseek(r1, 0x1200, 0x0) r2 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x9}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendfile(r0, r2, 0x0, 0x8400fffffffa) socket$inet6(0xa, 0x6, 0xfffffffd) ioctl$CHAR_RAW_RAGET(0xffffffffffffffff, 0x1263, 0x0) close(0xffffffffffffffff) 06:52:40 executing program 4: r0 = syz_open_dev$dri(&(0x7f0000000040)='/dev/dri/card#\x00', 0x0, 0x0) ioctl$DRM_IOCTL_GET_CAP(r0, 0xc010640c, &(0x7f0000000080)={0x13}) prlimit64(0x0, 0xe, &(0x7f00000001c0)={0x9, 0x400000008d}, 0x0) r1 = getpid() sched_setattr(r1, &(0x7f0000000280)={0x38, 0x2, 0x0, 0x0, 0x8}, 0x0) socket$inet6(0xa, 0x0, 0x0) r2 = signalfd4(r0, &(0x7f00000000c0)={[0x7fffffff]}, 0x8, 0x800) write$P9_RSETATTR(r2, &(0x7f0000000100)={0x7, 0x1b, 0x1}, 0x7) recvmmsg(0xffffffffffffffff, &(0x7f0000003200)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) pipe(&(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r4, 0x407, 0x0) write(r4, &(0x7f0000000340), 0x41395527) vmsplice(r3, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f0000000080)={0x38, 0x2, 0x1}, 0x0) ioctl$UFFDIO_REGISTER(0xffffffffffffffff, 0xc020aa00, &(0x7f0000000040)={{&(0x7f0000ff9000/0x4000)=nil, 0x4000}, 0x3}) ioctl$TIOCSBRK(r3, 0x5427) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x5}, 0x800, 0x0, 0x0, 0x0, 0x0, 0x800}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x50000103, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) [ 281.297008] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000039 [ 281.325231] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000004 [ 281.355144] FAT-fs (loop1): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 281.358740] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000032 [ 281.428487] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000005c [ 281.436737] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000002b [ 281.520833] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x40000037 [ 281.548984] Bluetooth: hci5 command 0x040f tx timeout [ 281.581475] FAT-fs (loop1): Invalid FSINFO signature: 0x00000000, 0x00000000 (sector = 1) [ 281.634557] kvm [14058]: vcpu0, guest rIP: 0x145 Hyper-V unhandled rdmsr: 0x4000003b [ 281.659031] kvm [14058]: vcpu0, guest rIP: 0x14c Hyper-V uhandled wrmsr: 0x40000020 data 0x53948d 06:52:40 executing program 1: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000000300)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) close(r0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) dup3(r1, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_GET_SUPPORTED_FEATURES(r1, 0x80489439, &(0x7f0000000140)) syz_open_dev$tty20(0xc, 0x4, 0x1) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) mount$9p_fd(0x0, &(0x7f0000000100)='\xe9\x1fq\x89Y\x1e\x923aK\x00', &(0x7f0000000000)='9p\x00', 0x0, &(0x7f0000000080)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) 06:52:40 executing program 0: truncate(&(0x7f0000000000)='./file0\x00', 0x6ba7) open_by_handle_at(0xffffffffffffff9c, &(0x7f0000000040)={0x9, 0x20000000001, '\v'}, 0x0) r0 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') lseek(r0, 0x10, 0x0) getdents(r0, 0x0, 0x10) 06:52:40 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) syz_mount_image$gfs2(&(0x7f0000000040)='gfs2\x00', &(0x7f0000000000)='./file0\x00', 0x0, 0x0, &(0x7f0000000500), 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="6e6f010000000100000000d5dc7869297eaf79178e25d6a09df8527467ba59d7bf62ccc2d99aa48c43718d43668c99"]) 06:52:40 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x1) r0 = socket$caif_stream(0x25, 0x1, 0x5) ioctl$EXT4_IOC_SWAP_BOOT(r0, 0x6611) setsockopt$packet_tx_ring(0xffffffffffffffff, 0x10f, 0x87, &(0x7f0000000440)=@req={0x3fc, 0x0, 0x2}, 0x10) sendmmsg(0xffffffffffffffff, &(0x7f00000030c0)=[{{0x0, 0x0, &(0x7f0000000400)}}], 0x1, 0x0) r1 = syz_open_dev$usbfs(&(0x7f0000000840)='/dev/bus/usb/00#/00#\x00', 0x908, 0x1) inotify_init1(0x800) ioctl$USBDEVFS_SUBMITURB(r1, 0x5522, &(0x7f0000000240)=@urb_type_control={0x2, {}, 0x0, 0x0, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0xa100}, 0xc2706221583c3268, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) socket$inet6(0xa, 0x3, 0x7fffffff) 06:52:40 executing program 5: setsockopt$inet6_tcp_buf(0xffffffffffffffff, 0x6, 0x1c, &(0x7f0000000040), 0x0) r0 = perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = getpid() dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$sequencer(0xffffffffffffff9c, &(0x7f00000019c0)='/dev/sequencer\x00', 0x1, 0x0) write$sndseq(r2, &(0x7f0000000040)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {}, @quote}], 0xff33) getresuid(&(0x7f0000001680), &(0x7f00000016c0), &(0x7f0000001700)=0x0) sendmsg$unix(0xffffffffffffffff, &(0x7f00000017c0)={&(0x7f0000000400)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000001600)=[{&(0x7f0000000480)="796b082dc6e66aa5761ab8f8e33cc35ebb5d90be0832aa34679e462f25d25ccb8c8d953e37921520fdda10d2b843a8c7ab8270864d87e3d158f8c0f37c10e86ace200350751d9940760e09510eb8caab0e7d3db2876c81bb37d78766b6096795f918861244e2821ddadc2154b4f5c723527670cdfc99bfccbcd1586ee2cdf6620a306803e6d409760c6593babfe3573458b9175f01f1c0a94016c10f8a5a03a285d098e9dbd9952ecf59086cde502734d696763a57669106a82d136daa9942f85f42405c93df2b62d7737ebe0aaf7790ac854569ee3c9c4856e4d1933b5eef88a66de554730c7fba85d32b288731313cd9c09101be04d10c878de236f0e07cf861a02849f2cfba0fb944df84c216838830b07b233e2e714903e9e58e251935d5eab12cdc1c589d68a668eff3f48d7708c85e1b5b45b67c716fc4179cc41bc8a735aaf3556f14ce4e91f79377dc466761099dd95929e248760e5b544a95e7a12c95d24e28b86225ffe6a2e6ff826c927b3e2596fc041eedaa5f34e6cb3463964a6bc53d68b6547f3dffee351009bc6e243a4416e58684ea084e4f19c288186b1dae8d7d4eb6070a9dc5bd805ad1b32ba6b764013d7a1b9f9a21def7165f5a97befccad816e4d5687ac983572db17028682e76bfd838cd93cbb9a67d7b9167dbc3700217f47b1430a7ad98453d5834dadf5d0b7018923374565fad513694bab3047ac1ac5940e697041d713d8b0fd376441a12495ff6c9b0c99cfc13005da2dca30ee6f416cedf18b6f15eeeaa5face07ab97e6b725e012f66b052e2e23c03eb50f561a1fc193dcd2c907d4bbdaa8e66a440e64c262e8aedbab0cdee8d1d0e34e1cd12cb9f409388bf91c653388659455d8a2591575b62978d9d2cd20cd1df371f09d364ce8e193eea8470069f0edd2b41ccdb4b8aef9925d736c0e1b120f1273d453d948c031fc5611758a1287b53c3799beb3f04ba38c241754d243763384924be3d774620fd3979774233ac0c267ee9346c97d5b0a3a2244c22f13afba8d233999779a5ad42449f304d603d5fe99c347c886118e63cbe70be6ea8d0975bd660b0f5f54cf1276143af681a2f86bcef8a9bf0fc04bfd2ec3f3131dee82452cbd6865a6fdc3e222b883d1bba1eafd4328929544fe3536b286e9bc3f22a084e3587e89ed2de7eddbbb53adc7b69146e3fc41187626000eb4a54b972b33c9e2687c844682f3ff5e999a7fe9051b1a3a197649248360acdb1dc8ca876547952bc2e300eb602adaff8ca3df58c20c79a49e7007d252fa9850a8baeaf9b0ccbbbd78461ecc031ba9ebee8b7cfc937bef8885231da1e96be6f4c95d3bc6ba2370f1c80594cea14f867e037a9e45c4ca7a3f6b4884a543a7b640da798ad5e0e670fa371e9af71d54d292fe1a2138132faf769cc0c78b07cff2a974b93ef4a0fe956cb074ac1fad71820f0da842d3fc97984c2028dc4b133706890c28322a67e798a1e7aeb547407e0da284db6c3895f90584dbbfa4c4533a7aad2ede52eba974c858b98a38b4048cbf88312d507e0004a5ee32e939358b76511f2341a628c130f24c773b986bde0a34697ef68c6f7fec30f156ba1da8dc72508a5b235a31290ae538045a64a875f05e9e567ceea9720b4263337e7ae792860aedf5f7b90d86f5dca859add621f2148e752361c2bfb59b65a227cc44738e65f458c789984be5655cd2c692044a6bdd752f70c269910a42990557a0a7ede41705afe6dd5d6b6681e87db15bd5caf23c895a3f72b08b4fd1d443be53dc4fbfcc4e74f071762f43352eb1ea6114a0c3c801feff862eb91728b3c1a45a23601fe9250e2314fd151762cb1cde7c0cb3bf7536da10a39c655528aa00808af57ec49b7847c4c99d8b4c45a382b805491c6ebe0eaef711e328ff8f63621bf142bed592e07b7f4d144afb198a63444de8889a5a88d7236e3827cbc99cb13520eaa82c2a07633d7219aa5df2316dbebf2fc496a0647342def505e30408386096efa9a6bb37012540291ddc129035cbb1f868157a73e69949a580b4283cb0949ab64c57f223432a7f08fdf37f8dde1eac02d7677db48de33772ad66ff9f76491fc697ab08b882e83b59cee8af7e5be8588c0808bf169253c6362f77e02676edc93e28b59a8d32151a6c71580b9f5c99cd1fdf5b69a83d006d7e19ab32bda3e508130e0cbabcdb4c2b5ce8ec882a8bc73918c4bf96672888c15ab1df81a226555321505b75c60143ab897d4bd622d11f1b7212c3a72e7651f601b0aafbbc30537f8040ec616783582616842794ec23d6c810e0205791ee23b21100d29355ba8c10890bbf90d394ff5588900f646b846fea683b1639cc8c3e99aaaf9353870d1d6373830f115d8341a5caae8abb6cb1b2995af4365633783e85be392271f0c31ef4e783de769997284f7276b1a664b3ec3cf694569c6b9239b6de88da3460d4983c44ef49c8080fb14d78abb85c37a3c0bdb83c97f9a70effd6e4cbda3b02a1da63401e9e03ad0c9a1cc3bd1544887014c3eb204d440fb0a3d7ca120ccdadc718de309e355fb27fc6a8b9537ef8058445e9428eeb71da2d9db5cc673b758d722c6f16fcebb5364e05d62cc143c80f53823b1e138cd4dff5840426d94f2029d124eb6b21df122c1ef7d81544e5d9bd96a178105418ee50571976df2dbceb66907e0a3820d94555c50320d73863adb0343698d44880f67af4388bcaedc8b964fc0f55692cc69e718155dc14f6e536e63f12667fe2410db044a534deba3dee1d88b2f558208726d1b2b542d0a952acd54501078d71ee674dccf550673e305e57a9d4d6e522be5dff991443513c8b0b922f83c800eb8fbe4b5aeeb6436bbfb084983aa0676ee7cf0adc4f28e4b0ee6a60de63c2db659901fa46463f9d77e541f52d1adb10432260873a2fbcc5bd918a9bcc632bb5a81be9ed95a7494620531e6e5e940c70ed879404c268e784b506a9d175daa8772fbbf2579a143bf594a16a3eed2cb063d3be1a16e50ff0758ed4ee8cb3ae34cac68b875f2c8c75e1c087a37d929eb4762d0ec5c9ac82665fcba5d7672dc986cef7b7307dee865dd2b6ca05d4158757f92fce46f7ce9fb1f906c3eb9a741771783cd3e514d387578ccff2917739bea2b76c43a891086abbb9064f2a11f450c3e578782914f574d643a34ca85761659a134d12b1fc4d228df07692abd2b7944d020b5c8aea2e32bef2f4800218bf83074b0ffced319d00a954de171c72373195949dc52b4739520d620722ef3d8fd34b56b9dc22991295b8a65f2e4a05e16a017f66df9e02c0e10e359ff2026f33f8b80aff6023f99ed31fe50e7c9ab22f1c5c4908e73ea2f4994db36ee0195babe92ac7053368fee1a6d7f90ae929ea53b117e0a117bdcababcda02824c82a59591ded2f0163df725d545d960c89d27c38be13351aee8f357625edd8b412359839ce083aaacfd8e73c4b31f267ec9695640a57b85f49e4c8bc2c69b4836edcccf5f72a3475ef0041cabacac7299a03818b1df06c05a940faa8f49d965e1a5ba8ffe88e4cecdddee18164c1ea750fcdc9dfa39e294338db624d8ed7bb92ff797d21cfd79c899de0c3ffa57b5e82b76412b2602e99c1dad21e6c1df6382cc34a5253c89c62bc496ddfc7c22b6b4b408244e9760cd351129ff9e72fcf6e6ad75f3dab84f343dc4cf271714423ab0ab8421e2fc09a39abdab8ed845267b94cef122fcdf73bb20d7e20af22d7e0e91d950e7bf7eb48060072dbf4511445fde5cde46f52ed15b0311aef7fa678297a41ce84f18c14786feea03d3ae6f2b663c7f26ebbbd00ccecae5a3ab5c4ee703d43512a9243c14104f9d048792afba57b080adb68606a48929901b735c7c48456036b3a16b042a493edeae1c90829d6d24161742d6dd280c159614408210df057f4d48d38406cd70abff4bcc7465f902d8bd250263e5e359a0eb3b4c45e6c1f43fa4ca7baf53853a4dbdbea193878717b889a2b00fcddd6f3d34aeb58c927ad5a2bcde38f5f912024e54d99c52d2bfd5f36d1b6989e8aaadeff70d67122c63639982803d8827ca4a90b8aefd69d60736cac2b443a4fa47099077ef488f81a9f492b1312864927411704c1f1b5cff9f85317106d0cb0ac56e6c92a040450dc7937e2852cfa106ae482a91146fe8f8ad1289a67c1c47c0cc46e722d392a6ce4429d2c7315608081915b5f998a834a9f245f3fd80ce825ef31943a89be62e7a98c530da6b0177ade75590e75ac620268eda91f2dc594349d71a6f6cd5c3e1d65bfe25c13ddadeb81079bafe896ba2e0ee6a46a296cc70649a682d997dbf8137751f71a2167b431961695e3f27c71f0c721a2b2d7189db2206dc893dc1cb5d3033f9a158c1cb61ded4adb9c1445934d66be0b758675e278eedd0c01c42e1b29ee16726e049a963c3cb4ee17dad223fff982c93912a625a759192e46ec4def7b19bff623103df69b7d3d3174d99c60a5ee53cb0d7566654ee58afd6172a1b978fa65449399555782bc7fa8f96823eb331f4be40f41c3d77f03adc0ce9c82b742b335dce1dc86f18516466f492a1bbe7dd49e8e8d3fa2e357bc349fda8048ad5b2a8841f54e5403d46df53207167d10762da77221f21503048f8fa674fdf453da2be22f78a41e51a8ac0d604634074331d4c886d5cacf9badb86db6f5e99e5aa89f4c29f694bcaf89474da052211106f4b9f35a02f58ac81f7928b0969a274336751e240eededc8df56b35ab375a525dfa9d680fb8ab989889eaea33ce11d66a13dbeb2df03beb64f4ff89d01be8b747ab91ca144bf2bd9f571d6c2a2cb9f31901e3d7d15e0cc9b5dfbfdf40931058667ec9447914e103ad47170117c6032668853497e98f004c6f76e096f4afb38cfe4755a9c154a32f3e12d9b7e18d0d945b16a59e40c1319455423acb84abe732018b61fe1072517d595f5b04eee3db313d91d1dc9a29fc5eb0b98d43961cb3518a6537d9f52635a04af2a54bf5c0b1aceedf06589f84ded266de81139b7bafc84ddac547c973a689b5e6d1a7f8e7f5f73287371f5faeb2b501c3f14cd50806ce9f9cdfe8b02027de19fbadc88291184f9b0800d0101b20d04a794d3372543fd2aab231f3d51d481216651fcaa2710b4c28a9e8c3294d937a50b90395d8cd29b4b7587e229db4ccbc5fff5d2d235ddb69fecccb136c3ac735c6f0c07bab51e3d8ff8b2c1f0542e7d7ebccbc391d126e7d88aa786aad3ad052e271e4c0d25c1f37fcd465ebe050dd37cb4d57b0b33781661bdfbe8c8a0b0e06e30951bb259ebf4d83f343492f6b338c19f6d52f3a498adee39d7ad43f2451cb253d22725288b9e59012de82a3e090513d0959536ab0285ae120c981139a7baddc02ed24d2780f64eed38d474cabb256c291aa9e0d63a723e37138935591d2bedb2a5dd64aaa93edc47c602ff349cce820d51deee4d982dc714820ff4d95605514f95ede39ea721fa2657f32ef317b51194373b47351a96d8568e5397e170262ace73b142de2f53e596532561fd6374e55e79472f462b2d44eac2b1d9bd98fb540c4d9625f346e3aa58e027b32c4e7493d698bc9d55dd62730517d7cfdd42f65cd56f267606764bc682602782348d378dcdd6c288ee422894bd8bf93ec2c3c422ccad737cc9bfed911bd99c2c87cb89d5e00658be7ef81c85f67db14a72c24f96bc9d625b24a91f15dacd1f3e920380f023c4e3a4855af126ac4aac811b43cffd81d905df31e3d16a236da8ad5b6c9b9b0a5cadeb1e00c6a8b9471ce188e4017a90d6d2", 0x1000}, {&(0x7f0000001480)="5a8bf556f4905b71f2c0e362f3cba25ebd18f96590a49ffa88d91ae18a3fba83b0d41b92226257345ab47ba45449eeb9750eea8be0eb7ce13d23faa670f202319e7385aa0bead14a0b", 0x49}, {&(0x7f0000001500)="f33fc23da27b5908491f4c28b49125724797b0b3152712e94db4db3a799b0fe9d5bf367840942b65e1286639531b28a9d0e2e152070e97245429a45f635cadd1194e86bb39d6640e92bc5b6c32421e07334f5b8a8d9d1ca0b4d48a8e89c3189f7fa8597f5eda5ecd1060d9fb28f9e2e8c00eddbb881537b86d0678ef410b61802e33820b82a9bc6177f2eb9732a80e70d2086578dabe6c0b09b18feec083d2fde5385847458f650c35485e3cdbcb31260e07d612d805dcedd91394c1a6a1e7e2c9768c4c379363a29ae7d5772346930b881b5640b7bf45e28fcfada40d596fb01836423f31c3e1b3a3", 0xe9}, {&(0x7f0000000080)="111be34ef27bc9e4086347bf00aba7a24d", 0x11}], 0x4, &(0x7f0000001740)=ANY=[@ANYBLOB="2c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32=r2, @ANYBLOB="0000d900ac050000000000060000000002000000", @ANYRES32=r1, @ANYRES32=r3, @ANYRES32=0xee00, @ANYBLOB='\x00\x00\x00\x00'], 0x50, 0x4000800}, 0x800) sched_setscheduler(r1, 0x5, &(0x7f0000000380)) r4 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) openat$nvram(0xffffffffffffff9c, &(0x7f0000000000)='/dev/nvram\x00', 0x0, 0x0) r5 = ioctl$KVM_CREATE_VM(r4, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000029000/0x18000)=nil, &(0x7f0000000140)=[@text32={0x20, &(0x7f00000000c0)="0f20e035010000000f22e0b9e30b0000b8ab75cc71ba000000000f30b8010000000f01d90f20c035000000400f22c0b9800000c00f3235008000000f302e0f6b8eec8cfce40f22c0ea3b0f00009600660f65470867260f790a", 0x59}], 0x1, 0x0, 0x0, 0x0) r6 = openat$mice(0xffffffffffffff9c, &(0x7f0000000040)='/dev/input/mice\x00', 0x400000) getsockopt$inet_sctp_SCTP_SOCKOPT_CONNECTX3(r6, 0x84, 0x6f, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000080)}, &(0x7f00000003c0)=0x10) r7 = ioctl$KVM_CREATE_VCPU(r5, 0xae41, 0x0) fcntl$getownex(r0, 0x10, &(0x7f0000000280)) ioctl$KVM_SET_USER_MEMORY_REGION(r5, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r7, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc5e], 0x11a005}) ioctl$KVM_RUN(r7, 0xae80, 0x0) [ 281.906158] gfs2: invalid mount option: no [ 281.906165] gfs2: can't parse mount arguments 06:52:40 executing program 0: syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f0000000340)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r0 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000300)=ANY=[], 0x116) sendfile(r0, r0, &(0x7f0000000240), 0x7fff) sendmsg$TIPC_NL_BEARER_DISABLE(0xffffffffffffffff, 0x0, 0x0) unlink(&(0x7f0000000280)='./bus\x00') sendmsg$NL80211_CMD_SET_BEACON(0xffffffffffffffff, 0x0, 0x0) sendmsg$TIPC_CMD_GET_NETID(r0, 0x0, 0x20000000) sendmsg$AUDIT_LIST_RULES(0xffffffffffffffff, 0x0, 0x0) [ 281.925757] EXT4-fs error (device sda1): ext4_readdir:240: inode #11: block 8227: comm syz-executor.0: path /lost+found: bad entry in directory: rec_len % 4 != 0 - offset=16, inode=33689588, rec_len=11822, name_len=0, size=4096 06:52:40 executing program 2: flock(0xffffffffffffffff, 0x2) perf_event_open(&(0x7f0000000640)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) unshare(0x0) syz_open_procfs$namespace(0x0, &(0x7f00000000c0)='ns/mnt\x00') semctl$IPC_INFO(0x0, 0x4, 0x3, &(0x7f0000000300)=""/129) r0 = syz_open_procfs(0x0, 0x0) preadv(r0, &(0x7f0000000280)=[{&(0x7f0000000000)=""/57, 0x39}], 0x1, 0x6c00000000000000, 0x0) sendmsg$IPVS_CMD_GET_SERVICE(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000080)=ANY=[@ANYBLOB="2a744c73a2947eab760168d38bbf", @ANYRES16], 0x3c}, 0x1, 0x0, 0x0, 0x4004001}, 0x24000000) ioctl$FS_IOC_RESVSP(0xffffffffffffffff, 0x40305828, &(0x7f00000002c0)={0x0, 0x3, 0x4, 0xef7}) socket(0x10, 0x803, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDPRL(r0, 0x89f5, &(0x7f0000000540)={'syztnl0\x00', &(0x7f00000004c0)={'ip6_vti0\x00', 0x0, 0x4, 0x40, 0x0, 0xfffff180, 0x0, @remote, @local, 0x8000, 0x7, 0x1, 0x1ff}}) socket$bt_rfcomm(0x1f, 0x32e9174c2ed1b8f3, 0x3) sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000000240), 0x0) clock_gettime(0x0, &(0x7f0000000100)={0x0, 0x0}) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x4, &(0x7f0000000200)=[{&(0x7f00000006c0)="8dfd92ccacafcd20000000400000000300fd2631583cd179c90000000000000200000002000000008000000080000020000000dce2655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b00000000020000280200000284", 0x69, 0x400}, {&(0x7f0000010400)="02000000030000000400000030000f", 0xf, 0xfff}, {&(0x7f0000010500)="ffff000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1002, 0x6}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x0, &(0x7f0000000780)=ANY=[@ANYBLOB="008ae96334d77627af125beae0b5a980715e61b933bfac8063527175e1f861d08166b683cd0d115cbe4bddeca77c73ba85e2145bde879cda947ea4927faf6c6b267a06696a5f3b380365efe2394d26d047b63f157ef345c6e3f72428d5f25b3f469363a0d24888a9d320bf4c62f4933273afae6c16d7988292ab250c803cbb424d9d926dad7f7a6cea946398d6965c6f87c0793210df1c9ba91dd18a173321f46f763186709075d23e54d1efc8a49f7569", @ANYRES16=r1, @ANYRES32, @ANYRESOCT, @ANYRES64=r2]) keyctl$KEYCTL_PKEY_DECRYPT(0x1a, &(0x7f0000000040)={0x0, 0x96, 0x2f}, &(0x7f0000000440)={'enc=', 'oaep', ' hash=', {'mcryptd(sha256_mb)\x00'}}, &(0x7f0000000580)="7e3669aa39a4a3fe27771866b332d71cfa93d8240ac35f36dd1347d7c86ceff8d3ff5038e33d3e25f7b3960b169daaea817dce4828ebc32192816c0d94ccb0f3ea1fbc96691af83e58ed9010b80e32bff0e250b731c48ccb146f29122e88904975d8d7fa47c5e2142470beb6d64e2a2c3ebf47dd6907e9bce935f84be7b1d1e997ca99a5063309967d3fd00604dbecef2d273197389f", &(0x7f0000000140)=""/47) r3 = creat(&(0x7f00000003c0)='./file0\x00', 0x10) ioctl$TIOCEXCL(r3, 0x540c) setxattr$trusted_overlay_upper(&(0x7f0000000080)='./file0\x00', &(0x7f00000000c0)='trusted.overlay.upper\x00', &(0x7f0000000380)=ANY=[], 0xc001, 0x0) lremovexattr(&(0x7f00000011c0)='./file0\x00', 0x0) 06:52:40 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_genetlink_get_family_id$nl80211(0x0) sendmsg$NL80211_CMD_JOIN_OCB(0xffffffffffffffff, 0x0, 0x0) ioctl$DRM_IOCTL_RES_CTX(0xffffffffffffffff, 0xc0106426, 0x0) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) creat(&(0x7f00000001c0)='./cgroup/cgroup.procs\x00', 0x0) keyctl$setperm(0x5, 0x0, 0x12002) fstat(0xffffffffffffffff, 0x0) [ 281.973690] EXT4-fs error (device sda1): ext4_readdir:240: inode #11: block 8227: comm syz-executor.0: path /lost+found: bad entry in directory: rec_len % 4 != 0 - offset=16, inode=33689588, rec_len=11822, name_len=0, size=4096 [ 282.108186] EXT4-fs (loop2): VFS: Can't find ext4 filesystem 06:52:41 executing program 3: chdir(0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x49c}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$sock_ifreq(r1, 0x89b0, &(0x7f00000000c0)={'veth0_vlan\x00', @ifru_map}) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f00000003c0)={0xa, 0x4e22}, 0x1c) listen(r2, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, &(0x7f0000000180)) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) request_key(&(0x7f0000000000)='cifs.idmap\x00', &(0x7f0000000040)={'syz', 0x2}, &(0x7f0000000080)='\x00', 0xfffffffffffffff8) sendto$inet6(r3, 0x0, 0x0, 0x24008004, &(0x7f000031e000)={0xa, 0x4e22}, 0x1c) setsockopt$inet6_tcp_TCP_CONGESTION(0xffffffffffffffff, 0x6, 0xd, &(0x7f0000000140)='vegas\x00', 0x6) shutdown(0xffffffffffffffff, 0x1) syz_init_net_socket$bt_l2cap(0x1f, 0x1, 0x0) accept4(0xffffffffffffffff, 0x0, 0x0, 0x0) 06:52:41 executing program 4: r0 = dup2(0xffffffffffffffff, 0xffffffffffffffff) ioctl$SCSI_IOCTL_BENCHMARK_COMMAND(r0, 0x3) r1 = socket$nl_generic(0x10, 0x3, 0x10) connect$vsock_stream(r0, &(0x7f0000000040)={0x28, 0x0, 0x2711, @host}, 0x10) syz_genetlink_get_family_id$team(&(0x7f0000000000)='team\x00') sendmsg$TEAM_CMD_PORT_LIST_GET(r1, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000240)=ANY=[@ANYBLOB="ff7f0000", @ANYRES16=r1, @ANYBLOB="0100000001000000010000000000a09c7c8f1e47ba29de62dfe1e51cdb7f8c94a66ded6cd7a1e9f9c44ae1f865960e6b06d0621194db3c2fa0fc342f1ba1f0cda6d26391fa4d51cfad29a3d73a9d4ebb97c84795837a13a105daebf692a1e12864844ea3594e970cb7017767a1e82bba842af011f30f96e1d47525d92a3d6bdcf1a3f3fd10d851a1"], 0x14}, 0x1, 0x0, 0x0, 0x4048001}, 0x0) 06:52:41 executing program 1: syz_mount_image$squashfs(0x0, &(0x7f0000000080)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) syz_mount_image$pvfs2(0x0, &(0x7f0000000140)='./file0/file0\x00', 0x800, 0x0, 0x0, 0xd9e06a, 0x0) ioctl$TCSETXW(0xffffffffffffffff, 0x5435, &(0x7f0000000040)={0x6, 0x4, [0x0, 0x1, 0x4, 0x100, 0x8], 0xe1}) mount$9p_fd(0x0, &(0x7f00000000c0)='./file0/file0\x00', &(0x7f0000000100)='9p\x00', 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB="2c706f73695e577a5fa8313b50412b636ce7a9da786163782c7639aa82e96f6e3d"]) [ 282.223317] EXT4-fs (loop2): VFS: Can't find ext4 filesystem 06:52:41 executing program 0: syz_mount_image$nfs4(0x0, &(0x7f0000000080)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) openat$pfkey(0xffffffffffffff9c, 0x0, 0x0, 0x0) mount(0x0, 0x0, &(0x7f0000000180)='tmpfs\x00', 0x0, 0x0) chdir(&(0x7f0000000280)='./file0\x00') perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)-generic\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000080)="8c", 0x1) r1 = accept$alg(r0, 0x0, 0x0) r2 = dup(r1) r3 = open(&(0x7f0000000040)='./file1\x00', 0x143042, 0x0) ftruncate(r3, 0x200004) r4 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x105800, 0x0) r5 = add_key$fscrypt_v1(&(0x7f0000000140)='logon\x00', &(0x7f00000002c0)={'fscrypt:', @desc3='e8dab99234bb312e'}, &(0x7f0000000380)={0x0, "c8551fb5c2522c0a6454bfa9811e2e44ca0ecca21502a4ea355b2d576976320597d34f5e94fc95838af1ffb6eab08ca02fcb7f7719d7c449f8466cf4c9b5de01", 0x1d}, 0x48, 0xfffffffffffffffb) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r4, 0xc0506617, &(0x7f0000000400)={@id={0x2, 0x0, @b}, 0x40, r5, [], @b='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa11111111111111111111111111111111'}) sendfile(r2, r3, 0x0, 0x80001d00c0d1) setsockopt(r2, 0x1, 0x20, &(0x7f0000000340)="b5057018", 0x4) sendmsg$DEVLINK_CMD_TRAP_GET(r3, &(0x7f0000000640)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f0000000300)={&(0x7f00000004c0)={0x170, 0x0, 0x100, 0x70bd28, 0x25dfdbff, {}, [{@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x1c, 0x82, 'source_mac_is_multicast\x00'}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x1c, 0x82, 'source_mac_is_multicast\x00'}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x1c, 0x82, 'source_mac_is_multicast\x00'}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x1c, 0x82, 'source_mac_is_multicast\x00'}}, {@pci={{0x8, 0x1, 'pci\x00'}, {0x11, 0x2, '0000:00:10.0\x00'}}, {0x1c, 0x82, 'source_mac_is_multicast\x00'}}, {@nsim={{0xe, 0x1, 'netdevsim\x00'}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x1c, 0x82, 'source_mac_is_multicast\x00'}}]}, 0x170}, 0x1, 0x0, 0x0, 0x41}, 0x80) [ 282.292299] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. 06:52:41 executing program 2: perf_event_open(&(0x7f0000000040)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50a, 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, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000000100)={0x2, 0x0, @dev={0xac, 0x14, 0x14, 0x33}}, 0x10) setsockopt$sock_int(r0, 0x1, 0x6, &(0x7f0000000140)=0x32, 0x9716c7640597268) connect$inet(r0, &(0x7f0000000280)={0x2, 0x0, @broadcast}, 0x10) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000040)=0xdda, 0x4) sendmmsg(r0, &(0x7f00000038c0), 0x4000000000000a8, 0x0) timer_create(0x0, 0x0, 0x0) 06:52:41 executing program 4: socket$kcm(0x2, 0x5, 0x84) sendmsg(0xffffffffffffffff, 0x0, 0x0) r0 = openat$cgroup_ro(0xffffffffffffffff, 0x0, 0x0, 0x0) sendmsg$kcm(r0, &(0x7f0000000d80)={&(0x7f0000000840)=@generic={0x1f, "efda8bc943adc72b588ef5affa87d31fb4cf1033c8da2dded71d15028eabb2b1bc87e9385e5dc47a14517dbe4761ecab8e4752c72eda20f10c98a49593dcaa8e442e00aec986b9f90a66c913e3df81ea703a0422dc5c5061e6315ee66e18ac4ebeae962d381c3388c0139085ef855433c5f9a2f154d80f4551b64f43060b"}, 0x80, 0x0, 0x0, &(0x7f0000000b40)=[{0x18, 0x108, 0x0, 'z='}], 0x18}, 0x0) r1 = socket$kcm(0xa, 0x2, 0x11) r2 = accept4$alg(r0, 0x0, 0x0, 0x80000) ioctl$sock_SIOCDELDLCI(r2, 0x8981, &(0x7f0000000200)={'vcan0\x00', 0x81}) r3 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r3, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r3, 0x0) r4 = dup3(r3, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r4, 0x541a, &(0x7f0000000000)=0x2) sendmsg$IPSET_CMD_GET_BYINDEX(r4, &(0x7f0000000300)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000280)={0x3c, 0xf, 0x6, 0x101, 0x0, 0x0, {0x0, 0x0, 0xa}, [@IPSET_ATTR_INDEX={0x6, 0xb, 0x1}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_INDEX={0x6, 0xb, 0x1}, @IPSET_ATTR_PROTOCOL={0x5}]}, 0x3c}, 0x1, 0x0, 0x0, 0x14}, 0x80d5) r5 = syz_genetlink_get_family_id$batadv(&(0x7f0000000040)='batadv\x00') sendmsg$BATADV_CMD_GET_GATEWAYS(r0, &(0x7f00000001c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f0000000180)={&(0x7f0000000100)={0x50, r5, 0x10, 0x70bd2d, 0x25dfdbfe, {}, [@BATADV_ATTR_HOP_PENALTY={0x5, 0x35, 0x6}, @BATADV_ATTR_ORIG_ADDRESS={0xa}, @BATADV_ATTR_DISTRIBUTED_ARP_TABLE_ENABLED={0x5, 0x2f, 0x1}, @BATADV_ATTR_AP_ISOLATION_ENABLED={0x5, 0x2a, 0x1}, @BATADV_ATTR_TPMETER_TEST_TIME={0x8, 0xb, 0xe22}, @BATADV_ATTR_HOP_PENALTY={0x5, 0x35, 0xe0}, @BATADV_ATTR_GW_BANDWIDTH_UP={0x8, 0x32, 0x360}]}, 0x50}, 0x1, 0x0, 0x0, 0x5}, 0x0) perf_event_open(&(0x7f0000002500)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x202, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xafffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$kcm(r1, &(0x7f0000000480)={&(0x7f0000000080)=@in6={0xa, 0x2, 0x0, @mcast2={0xff, 0x2, [0xe803, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x3]}, 0x47}, 0xbad3, &(0x7f0000000340), 0x2b, &(0x7f0000000180)}, 0x0) openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) r6 = openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) ioctl$PERF_EVENT_IOC_SET_BPF(r6, 0x40042408, 0xffffffffffffffff) 06:52:41 executing program 3: r0 = syz_mount_image$hpfs(&(0x7f0000000040)='hpfs\x00', &(0x7f0000000080)='./file0\x00', 0x0, 0x0, &(0x7f0000000140), 0x0, &(0x7f0000000180)={[], [{@uid_eq={'uid'}}]}) r1 = openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000100)='/dev/dlm_plock\x00', 0x12200, 0x0) accept$nfc_llcp(r1, &(0x7f00000001c0), &(0x7f0000000140)=0x60) ioctl$VT_WAITACTIVE(0xffffffffffffffff, 0x5607) r2 = signalfd4(r0, &(0x7f0000000000)={[0x1]}, 0x8, 0x80000) ioctl$PERF_EVENT_IOC_QUERY_BPF(r2, 0xc008240a, &(0x7f00000000c0)={0x1, 0x0, [0x0]}) [ 282.359724] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. 06:52:41 executing program 1: mknod$loop(&(0x7f0000000040)='./file0\x00', 0x6000, 0x1) sendmsg$FOU_CMD_GET(0xffffffffffffffff, 0x0, 0x0) sendmsg$FOU_CMD_GET(0xffffffffffffffff, 0x0, 0x0) clone(0x26100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000380)=ANY=[@ANYBLOB='./file0'], &(0x7f0000000180)='./file0\x00', &(0x7f0000000000)='udf\x00', 0x0, 0x0) ioctl$VHOST_VSOCK_SET_GUEST_CID(0xffffffffffffffff, 0x4008af60, &(0x7f00000003c0)) r0 = memfd_create(&(0x7f0000000540)='-vboxn%t0\x00]\xea\xb0\xe2N\xc6c\x05\x8d\xb5\xc0\n\xad\x0f#+\x17\xd6A\xf4\xdf\x86\x97\xaf\xf8\x7f*\xfc\xfd\xe7\xcc\xbc\xddI.\xc3(Z\r\xeb\x9cz\x92\x1dq\x00\xddr>\xd7\x9f\xf8r\xeeE\xa83K\xf60 \x7f\xcd\xac\x86\x9eT*\xf7\a^L,\x98\xa2(2(\x8c*\xff\x8aA\xa1\x15<#\xc2\x97\n\xb3\xeb\x9dg8\xdd\xf0Nz\xe5.c\xdf\x8b\xd2m}\xc7D\x98\xd4p.\xc8j0,c9:\x95z\xe2\xa9\xcf\xd2\x90*\xaa\xc0W.\xcb$nF_\xf8(\xa4\x91\xc8\v\x9b>3\x15\b\xcb\xf7\xef)\xe2\x9a^4\xe7]yS\xa3\x8d\x80\xc4;]\xf2\xf5\x98p\xad\x9a\xfb$`3]\xf1.\xcf\x00-\x91I\xfd\t\xb4!=\xe5\x81\x01{\x96\x12\x9a\xb6\x19hb\xa6s\xfe97!\xae\x06\x00m\xb8#\x02\r\x1c\xc5)\xba5b\x9eM)9w\x9c\xdd_\a\x80\x9ft\xc5\xa1\xd9,+ghTs\xfc \xa8P\xaaL\x04\x9d\xd3\x18\xc3\x84c\'\xdb\xda\xc9\fM\aO\xa9qq\x14y\xf9\xe0c\xa3\xaf\x1f\x11F\x13\xe1@3\xa5\"kR\xd5\x06\xe2\x14JE\xab6\xea\xf5\xbe\x02a\x1d\x14\xdco\xad\x9e\xa8\xdb\xba\x9e\x7f\xde\xde\xd1\xb4\xd8\x16!\x96\x80\xb3\xa9\xc2L\x81<)u\xb3\x00\x87u\x8e\x93\xb7\x17r\xef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4c\n\xa0R\x95\xe9\a\x80\x19\x1c\xc3#^\xc0\xd8\xfc\xb8\xd3\x02\xde\xf2\xc1#iH\xd1\xb6\xe64\x053\x97{\x83\xd2\xb2Gh\x9aq9\xc9\x90\x05\f\xce\xa0\x85T\x12\x86v\x1a;r\xab\xd9\xbc%\xa0(F\xe4blV\xd1\x8e\xce\xd4o\x10\x9dHx\"\x96\xa9\x88\x0f\b-@J\xdav\x98\x06\xe3\x8e\xaa0R\xb6\xd7}Vk\x9f:Td\xf69h\x17pqa\xf7_\x9f\xaa\xe2|*\x0fxE+\xf5}-M,\b\x96\xb1g\x80\r\x0fr\x0e', 0x0) ftruncate(r0, 0x1000000) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) r3 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x101202, 0x0) sendmsg$MPTCP_PM_CMD_GET_LIMITS(r3, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f0000000140)={&(0x7f0000000240)=ANY=[@ANYBLOB="54000000789a319fc6ee0a0250fe52196be83e9fdc1c56327c89f658ad3cbaa491820f3b8bfefc99a333f8b71ccd496d425388ca043056100e02157255a4d2ef39c4dfe0060498ab8546cf4892bd0fda2cccfdda107e561361eafa149cdc445d9481a0e5b50aa82b2342fc6792af652b6ac45c96d4db7c9541a7920c8f5ffd79cd0388c500c511c5056051d0cd1ef5b9a53683c9852622839671780822a32175b4dbf45c3a89d6c5d5b45e77a1a724ff9fcf498d7fe828cd614c7ef41b7df5", @ANYRES16=0x0, @ANYBLOB="10002cbd7000fddbdf25060000000800020007000000080003000800000030000180080006000400000008000300ac1e0001080006000500000014000400fe8000000000000000000000000000aa"], 0x54}, 0x1, 0x0, 0x0, 0x20000004}, 0x0) sendfile(r3, r0, 0x0, 0x4000000006000000) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r3, 0x84, 0x1d, &(0x7f00000000c0)={0x3, [0x0, 0x0, 0x0]}, &(0x7f0000000100)=0x10) [ 282.492996] hpfs: Bad magic ... probably not HPFS [ 282.540311] print_req_error: I/O error, dev loop3, sector 64 [ 283.631680] Bluetooth: hci5 command 0x0419 tx timeout 06:52:47 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000400)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000200)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) accept4$rose(r0, &(0x7f0000000180)=@short={0xb, @remote, @null, 0x1, @bcast}, &(0x7f0000000200)=0x1c, 0x1000) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r1, 0x0) r2 = dup3(r1, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000000)=0x2) ioctl$FS_IOC_RESVSP(r2, 0x40305828, &(0x7f0000000000)={0x0, 0x0, 0x3, 0xcc}) r3 = open(&(0x7f00000001c0)='./file0\x00', 0x0, 0x0) r4 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000080)='/dev/bsg\x00', 0xbc180, 0x0) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r3, 0x84, 0x72, &(0x7f00000000c0)={0x0, 0x3, 0x20}, &(0x7f0000000100)=0xc) setsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER(r4, 0x84, 0x7b, &(0x7f0000000140)={r5, 0x9000}, 0x8) r6 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$binfmt_elf64(r6, &(0x7f0000000180)=ANY=[], 0x82) sendfile(r6, r3, 0x0, 0xa198) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc00007, 0x0, 0x0, 0x0, 0x10000000002) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) 06:52:47 executing program 4: r0 = socket(0x11, 0xa, 0x0) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000180)={'syztnl0\x00', &(0x7f00000000c0)=ANY=[@ANYBLOB="00000100000000", @ANYRES32=0x0]}) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000001c0)='nl80211\x00') sendmsg$NL80211_CMD_CHANNEL_SWITCH(r0, &(0x7f0000000740)={&(0x7f0000000640)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000700)={&(0x7f0000000680)=ANY=[@ANYBLOB='t\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="000126bd7000fddbdf25660000000c00990009000000430000000400b800080026006c0900000802a0c44429ba7c80b70000002000080026006c09000005001901040000000800cede3df37d8c6da10014000000080027000000000000000000ef02000008002600991600000800"], 0x74}, 0x1, 0x0, 0x0, 0x20048850}, 0x0) sendmsg$NL80211_CMD_GET_MPP(r1, &(0x7f00000002c0)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x68, r2, 0x4, 0x70bd29, 0x25dfdbfb, {{}, {@void, @void}}, [@NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @broadcast}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @device_b}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa, 0x1a, @broadcast}, @NL80211_ATTR_MPATH_NEXT_HOP={0xa}]}, 0x68}, 0x1, 0x0, 0x0, 0x4015}, 0x8004840) sendmsg$NLBL_CIPSOV4_C_LISTALL(r0, &(0x7f0000000600)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f00000005c0)={&(0x7f0000000300)={0x2b8, 0x0, 0x0, 0x70bd2c, 0x25dfdbfb, {}, [@NLBL_CIPSOV4_A_MTYPE={0x8, 0x2, 0x2}, @NLBL_CIPSOV4_A_MLSLVLLST={0xa8, 0x8, 0x0, 0x1, [{0x34, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xc6}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x3b}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x79f58b09}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x4d}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x8c}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x3ed1dace}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x150ac055}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x4cc71ee9}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x36}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x6f}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x31}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x50}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x20984a44}]}, {0x34, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x48}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x6e8eb067}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xba}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x23571c8a}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xff}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x106b13c1}]}]}, @NLBL_CIPSOV4_A_MLSLVLLST={0x12c, 0x8, 0x0, 0x1, [{0x14, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xb8}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x5ebbeddd}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x69e60389}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x10}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x14}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x80}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x23}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x21}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x18e911fb}]}, {0x14, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xb3}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xef}]}, {0x2c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0xa3bc586}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x7c0641a7}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x46}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x1b}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x79}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xfc}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x17}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xe1}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xb6}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x748ba3c2}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x3f52f250}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x12}]}, {0xc, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x6b}]}, {0x14, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x44}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xea}]}, {0x3c, 0x7, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xa7}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x7d653096}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x1f}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x36d9a8b1}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0xbe}, @NLBL_CIPSOV4_A_MLSLVLREM={0x8, 0x6, 0x46}, @NLBL_CIPSOV4_A_MLSLVLLOC={0x8, 0x5, 0x2e4ae6b2}]}]}, @NLBL_CIPSOV4_A_MLSCATLST={0xc8, 0xc, 0x0, 0x1, [{0x54, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x287055aa}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x31a1c75e}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x365baf90}, @NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0xd543}, @NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0xa058}, @NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0x2fec}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x114fe842}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0xaf83f2b}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x317eb795}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x6fc09ada}]}, {0xc, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0xacb3}]}, {0x24, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0xd181}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x4a2728a}, @NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0x7131}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x38bb6c34}]}, {0x2c, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x63306196}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x4ba896be}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x11649401}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x616e0980}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x715afdb8}]}, {0x14, 0xb, 0x0, 0x1, [@NLBL_CIPSOV4_A_MLSCATREM={0x8, 0xa, 0x65d9}, @NLBL_CIPSOV4_A_MLSCATLOC={0x8, 0x9, 0x43a767f0}]}]}]}, 0x2b8}, 0x1, 0x0, 0x0, 0x40}, 0x800) sendmsg$NL80211_CMD_START_NAN(r0, &(0x7f0000000b00)={&(0x7f0000000a40)={0x10, 0x0, 0x0, 0x10}, 0xc, &(0x7f0000000ac0)={&(0x7f0000000a80)={0x2c, 0x0, 0x20, 0x70bd25, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_NAN_MASTER_PREF={0x5, 0xee, 0x2}, @NL80211_ATTR_NAN_MASTER_PREF={0x5, 0xee, 0x25}, @NL80211_ATTR_NAN_MASTER_PREF={0x5, 0xee, 0x80}]}, 0x2c}, 0x1, 0x0, 0x0, 0x20000441}, 0x0) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000880)={'wlan0\x00'}) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000040)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_GET_SCAN(r0, &(0x7f00000001c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000000140)={&(0x7f0000000080)={0x28, r2, 0x400, 0x70bd2b, 0x25dfdbfe, {{}, {@val={0x8, 0x3, r3}, @val={0xc, 0x99, {0x5, 0x40}}}}, ["", "", "", ""]}, 0x28}, 0x1, 0x0, 0x0, 0x20}, 0x880) sendmsg$NL80211_CMD_START_SCHED_SCAN(0xffffffffffffffff, &(0x7f0000000640)={&(0x7f0000000440)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000600)={&(0x7f0000000480)={0x14c, r2, 0x20, 0x70bd2a, 0x25dfdbfb, {{}, {@void, @void}}, [@NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY={0x4}, @NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI={0x5, 0xf6, 0x7e}, @NL80211_ATTR_IE={0x12b, 0x2a, [@random={0x5, 0x91, "a34c7c480b792e77c5e05387feecb1552a2e2271cfd94e5fa7012913bef3aec8c55d27f663687bb35823cb8c9c12de1bd0699e3277659758fa85544489f0d9b01b478f2587112a073b1f20e6a281d8baf55b9e56f2b4d15765c7fb3819bf455c7e5e5d7d53832b1ba4952dc186b7f852bb81ad2b291c71b9f88be97a09d31edb347cee58811d614b76659ebbfd47ce103a"}, @preq={0x82, 0x7d, @not_ext={{0x1}, 0x5, 0x2, 0x8, @device_b, 0x8, "", 0x1, 0x3, 0x9, [{{0x1, 0x0, 0x1}, @broadcast, 0xffffff81}, {{}, @device_a, 0x5}, {{}, @device_a, 0x8}, {{0x1, 0x0, 0x1}, @device_b, 0x1}, {{0x1}, @device_a, 0x80000001}, {{0x0, 0x0, 0x1}, @device_a, 0x8}, {{0x0, 0x0, 0x1}, @device_b, 0x6d618876}, {{}, @device_b, 0x9be}, {{}, @broadcast, 0x42}]}}, @cf={0x4, 0x6, {0x3, 0x1, 0x1000, 0x3}}, @dsss={0x3, 0x1, 0xa9}, @erp={0x2a, 0x1, {0x1}}, @challenge={0x10, 0x1, 0x5a}, @ibss={0x6, 0x2, 0xfff}]}]}, 0x14c}, 0x1, 0x0, 0x0, 0x40000}, 0x1) syz_read_part_table(0x0, 0x1, &(0x7f0000001280)=[{&(0x7f0000000100)="202d70a4ae07f3b3efec922fdfb1a8493c10bc2b012d6b01b465aa439485e2a4ea7ecffbb36885499f38310fb03587099a3e8969a950a0666a62661a8bbf7fb46ce91532cd7ac76738cf224a2499c55fd794004646e3290d1092198654e9b6f3ce4231d47909733fe792da6730aac1ef40c9ae76e1521b22626b00df07fe961d8580357a3164fa0e4996d03e7fb855bbefa0e5e05ddc1a70f738ef554b675b8d88a686884b8302763668dfedb79e001234784f5f5968cb20badad3ccaeeb74835c8e20ae3e9aab23097027fbed65a46606f965c98d42746a994489a2383b05c1d1c4e744af0c7166950f49f636b56e22b36f58f832c32f9b387cd4b6e061c677983564bf65236d168eb7e0cae563449b55a455a678699e11d5d1455901b1259362f108b34263c38e1a5972e379d9e1fee41e304186254a62e4a81e0851e414f0eea965c1789c20c917f8fe4b6da53452b4bb08bff0731fe5aad6ca7638a5dbe07da027fe33e7d48afbd118b0e5f168721847fafbb586b56252f3e5253fd70aad9f6309f4046e143e972db6ca3c129e2954b701ce75b270579b45fda8ccfc6b5c8fa0cfbff6d90a8a3e6b34936d10a9711499481d07c83b6427409b4c1029004e17f535aef40fb0ec9577aac65954b22afca9e09bdd59df6a7050202e379d2d19a15f7f7e5a0c6edd2fdd0610b7e0211c348206ff9390498dbebdcacd9d49d2a9", 0x200}]) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f00000003c0)={0xffffffffffffffff, 0x0, 0x3a, 0x1d, &(0x7f0000000000)="34b5b189e9d7f36077099d70b5be396d222c19967519b9fce5539bd942a509e630eb235d2ff01ce666b750ca85c95ca29c0bcad261f0c07228b3", &(0x7f0000000040)=""/29, 0x0, 0x0, 0x6f, 0xa7, &(0x7f0000000080)="6b4fb3417d281c2c48991fbf666feb40d27c56d634eb67fc3f79d9923bd39c7bb8a5a8cf4b70285db8c6652bbb2f6101d0162786000c2f8e78a00e412b58680b191b8099d95b8a3d6c10fa5c535c528e7beee4ab4b8fdaa7c04f4d761a42d9d7122a540963c294e98bbf60e0e920e0", &(0x7f0000000300)="64e2308189bbd3aeb0ff1c38c45560f60d5e177400320f98b612751c5c03769b4b890f306c204aedccb4bc6e1b01e3f4ad0734b740503c242dc99cd5921872bab8b461fe681c02f183c2e66ce1ff98bdecc808bb7912268619e0675546ffe51b10a000df35d8b1feaeeced392c7268e15d9cbb5f0addeaa8fd9aa06ba9175c1236bc3c00d35b37e13e3512a7f009b1113a9202f1ca91d63be58fdc52ff34f12ea3c3da1c5c6cbd", 0x1, 0x6}, 0x48) ioctl$LOOP_CTL_ADD(0xffffffffffffffff, 0x4c80, 0x0) 06:52:47 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x3}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getpid() r0 = socket$inet6_tcp(0xa, 0x1, 0x0) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) gettid() bind$inet6(r0, &(0x7f0000d84000)={0xa, 0x2}, 0x1c) setsockopt$inet6_tcp_int(r0, 0x6, 0xa, &(0x7f0000000080)=0x4, 0x4) openat$sndtimer(0xffffffffffffff9c, 0x0, 0x80040) setsockopt$inet6_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000180)='lp\x00', 0x3) sendto$inet6(r0, &(0x7f0000f6f000), 0xfffffffffffffea7, 0x20000004, &(0x7f0000b63fe4)={0xa, 0x2, 0x983a, @rand_addr, 0x900}, 0x1c) r2 = socket(0x10, 0x803, 0x0) r3 = socket(0x1d, 0x2, 0x0) sendmsg$NL80211_CMD_DEL_KEY(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)={0x2c, 0x0, 0x1, 0x0, 0x0, {{}, {@val={0x8}, @void}}, [@NL80211_ATTR_KEY_IDX={0x5}, @NL80211_ATTR_KEY_CIPHER={0x8}]}, 0x2c}}, 0x0) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(r2, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000140)={&(0x7f0000000100)={0x28, 0x0, 0x100, 0x70bd2d, 0x25dfdbfc, {{}, {@void, @void, @val={0xc, 0x99, {0x6, 0x5e}}}}, [@NL80211_ATTR_IFINDEX={0x8}]}, 0x28}}, 0x8000) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r4, &(0x7f0000008600)=[{}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x80, &(0x7f0000007380), 0x0, &(0x7f0000000cc0)=[{0xf8, 0x84, 0x7ff, "57dec58e84a213e559de70337333a45700c4b3c4a26a33125f8b66fa100c27d2fbd57e9b23d10b18017dadd5909a54f6db45123eea949ee96288e1e4d49e8d19cec6a9b35f9deba92b369a70a9c7b6d004cfcfe58b6c0c138a36eea6f203a9a96925df84297016c755c3a79b337c38ee0ac2198367c9888e8e83e9e597b8619487a9af02b0f599b47cea14c8f895b119e9f0a8b3fdc963e9117a528805704e1a9625b993b56a7b3bc136df11f07e636ce642ffc5c500212c605af0eae2e8594dde68ee5c6cac88f434014690580c0fe5499fc30825ebc72bc91e4349f428ab4662e7e27f36"}, {0xe0, 0x7c, 0x8, "6e6aefd0ec18062fead45dabdcb11b3f64b5cdee60371faac088af3d5b45e3ba4bc49904e1845defd5f83e927a22f1b6eb3730fa8f60daf81cbc3f3d790f8ceb7c34234c631baf0d4a4f39d5d0c1558026da7d467f5c4b8077aca8c43ba33610696701a3fa314819911ff6e0d275a6d15ca8630d5ed20c6f9ebbc2bdb636609f02458096d2efb39dc9fa08b78913b081e67915b546ff31acf14d98d3b04b746208a7a866cd71ee1cd3e4163728347e074d34808ac1ddad5d4331f3faba674f17e4cadc79119a4698c601"}, {0x50, 0x104, 0x2, "9180dacb4cae6d1f8038ccd5ec124dfd7c6480aafa665c63731f588a1c9282e27ca937b71d43607b7cb9bd3152289a2fee0ac15062d06a7891005a32528b83"}, {0x60, 0x29, 0x80000001, "63b5577a1f6b46d57235f284ebcefbec27b307d08ea5c8b79873ef61034d82c5b7721db0b30d0ad5f85627f30be2f9dfcbc3d476ac4e20040ff8a0c2540963483ed8059f0bcb226f31da561cdb37"}, {0x90, 0x0, 0x7, "4758be80678e9d0052dced8b27a0c94fac22c915e4eadad827e8087c77024466d7768ef13a7e02a609d2bd292cde2870721304b432f374b307d88e2e37a03e21a7e460e0db22d5274aea23c4f368538cdb793bef87198e4836c3351716eae5bfddbb00fb46c86abc75b8e469e46d7221414c1597e72572785423"}, {0x40, 0x112, 0xffff, "edb1bdc1555a795aa811ba79df0411903c14d4a855df25354ead541b8345570e003c5435cedff7a6328a9ae9"}, {0x28, 0x103, 0x80000000, "11cb17513c8d97d66cd8a4b6e128e1c34d"}, {0xb0, 0x100, 0x3c, "0625a3acf3a5f30043eacc2fba899378211a299352aa31fc4aa4543953b7b00112e19588b1fe2cb6600b29fae1b15ae2a7da3b088a9e94bbda2f74d8ed3927adaee1a7c7a4cdf2a1266165618680ec23abb2876bab677b71c03a5310219ceaa532d0fd3ad0d47f72d7c0a1923075c58ec58ed6a284a13db74f9478eccf2f01743674754ecca291bf3a21330bdbe00973818b78f28c68438972e9639b4ed2ac"}, {0x80, 0x104, 0xfffffc01, "a46b4eddd9ba1201f4f30f38fa3b87f2eeeeeafc5c197e8c714af90a5fdedcdcea82f4298eabfb2161fa5298e8c601096698b7a9ed3882c3c50c7d66f8fc1119290098c77bb9b4633966463f464ee8393c431c47e2831415d8b94a0a6b0c342451a8dd64c56e895804"}], 0x4b0, 0x803e}}], 0x2, 0x0) write$binfmt_elf32(r4, &(0x7f0000000880)=ANY=[@ANYBLOB="7f454c46053f3af7ffffffff0000000002000600090000001900000038000000ba0100000100ffff0700200001000100ff01080000000000020000600000000006000000010001000600000003000000c087d97d0100010025bef0526ffa04bcd5e965084af8f3c7f632c3da565f98815ef63612d58097a4d4ddd24a1cdc1dd87b5ad6a2246d1ec4b97f0000007362714c1ffa9a2a0102e91458d12059c4fcc4dc868bbb7ee7c796398a2a02123d34881c18a7931b2fd9a300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000001f000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000f3c5527de59d538b32fc3b91a0a644f8bb0bf4a0e6323a831a69c5bb08a3c6bc327883137b751d5e0afd76a8bf99ca5c1eb97bf5440978a8ec197e1366b3fd401c159534bc1afa003d74105ca519f73596c0211d5968526642a3690500000041a9578d50ca3e1e41f5e4c8ce6c6020fb9f591c391c15c1e667d60646e87538a41ba96ddf774c09f649bc8eadb260dc704847cf27efcd3813a90000000000000000000000000000002345348aa072e473b0977e87540e4db6a7db7de7a55535a074c6499513177d86277833c2c2686cd849453f"], 0x1cd) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb), &(0x7f0000cab000)=0xc) 06:52:47 executing program 2: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c1, 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, 0x4, 0x1, @perf_bp={0x0, 0x1}, 0x2dc4d, 0x0, 0x0, 0x0, 0x4, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000980)=ANY=[@ANYBLOB="5001000010000307ebff0006f2c6000040040000", @ANYRES32=0x0, @ANYBLOB="000000000000000008000a00100020002500120008000100766574680000000018000200000033d2b2bde9d40319696b905711068b27da6fff0744d4d2176644649a1f5319f68d2b13651a643ba1d864dc423db53c56eb2b04361992d76d9b8d0d77e9080000000000e871dbb96012857d445602af835297c84c211911e5fadece87db5a8809000000f7ba231dacc6", @ANYBLOB="3f6626a5dd6498299fe608026cf8bd1b58e02c1e230ebc2000ecfddcb843781bafc0733c058cecc23285e50bc4d4bf87309701e35a2fb57ce0226d781eabb2b75027c444475648951ef24a9b768e603882f303a4b82c6a402fd842e533fe69181092c4554b8113663621cbf6e0a6a000f1e58b1529690d60bcf44796c87aee910b6c3286688b2081658c569ff549805d200953d54b45b189d90b646e3161e5150b73d3e82316a8550734d2a2525b4d812288c15a6969b99835bc82d733cf5053d9713bf9ae4b69d7210694b41a2b0adacb45bef40c8e30044afeae922fd570f27bb0fe8ed2f87d2f374ca4d129cc3a8ed943e02e4cf0ec347d44bde69b0297d1b14ad9a4f2ede7ed3c05f8de385b91a06b746fdf52065d9969a34e5bfc2ec01d231635504a78a85840a4d013a3a0d82019c8bd5ce479f90b09bab72f28e51f2c9b69515b8f28a22e45878db648529f6ded17ac35b2ef985d52e11ad752b3550b15b2e504681384eccd4d7c2164cc9e473ef60d19ece1d5861e201c0a8e97c2e3fc108f0e43bf8dc2d0bdf6642ba71af20aac5b992c239e930a5865dda0625d626dfa7212f27029912ca5f841d9cb1febd493fbbc4b537d52ebfbdc2d7f2a6d45ea1cb4aed73f3d87037be015aca2115728c9977f06642d2f84837fb2b07a5061210bedd19c7b8e7256c763a61eddbad029673e015dc57b2481d4abc19edd48fd4b628c8f467e61dca5f6b750987f0fa112c56f2358211073a2243ebdf372d3e790981a56996497e86c86a441859c0ff2df1b227c2dd404bd0fd35e65f8f8765b8a1f8874d61b9d52a56ca167dcce0f06dbcebba6607e64918a21c367dcb08fded313bc8a9a4a1837445ae386d010ceadec41d10913243385d8cb293465dce74d07b13312a5d8a4080c032ce1df4e1ff37afdf3ea3ef83c6ee53e351410de5f6a19cff1a2f074b9bc8555f4dc6c019adf56709f2b3e5cb0586a6e8b2c3f43e42f7e98e9473d5fb9b473b6f2bcd4202b5e2b7531dd18e4a0fa7b4b12a9909a341dc35a50ff0b27e692bbdb2374fc31d7716b74e038164d05687ebb35940704f3c543fc506117051a82595476fd1ceb5e6a860cbdf6f80016969828cdeb1fe9d3e9134ebe1e6ec2f8317937d958e9fe4c9f2d4e8d26e4ca69e1e61b18d416f58f8ba2deaaf474aa033b0ab3a588323387509f6a4ed564c3501b9763523c6973a0c0a09782fffcc36e51fb5243f20f90f7e382db92b5e0b5912df2c422921b81bb7d7429a8dfcdd53dfc0116c50e178b9fe4aec3c43254c6ff7bba5ccc588312e02782f572f57e67af4c4d82c604a39288d20b9da02c468fc20daf923b74083ec3487ea5e690eff8de8b22268bb1d62912e6d7d490c180539604286ebb84749ca5a771b772b03e51ab8d3eca1ef47c23a9baf0eb21b9c4d65a93446cdd86d2a93fdf310e77fc0f5f27efc7593fb89bb49557057e3582f6288a3148863abb943635871a12793e798d3140fcb3aacec5839cf17db5f9ea8ad239606eaa1a2029a2733dbfa849c137b2d0c5b8f2e0e007baf0cf8510b57443657a31d2b22cf99553c59ff6114eb3ebbc7915b285c0d8cbd0a4ba0ec4d53ef36e9756e1946c998c7427e0500880d33b7dc5830d0de69ebff086788c47880ed8c54b9987209f39e53229f1891b642b0f23d60556891873b8027672b2a3b9dad22ef68e20603f509eeeaac016668127fd575d6ff9f16444882d72492149cf1bf5ccdf2c93d4599e57afcd1af3db0171a0cf72897f2562a5c36dd8148cb0ed86c01db015a70dbbc1e4f1dd664046dffd25c67039eab50c09c52f5a9849a09aa33c5344576e5f4286f5fb6e49cabb70f1561653e85dbeb817d379d72f03652523ce14c24f045603aad9ec6a2ead58d86de6bbaaabcbe28b533677a7dcbb7bdedec93ba59509b44242f70cd47228da86b2912fc4e4b8df7023f2956a5c381edf39d2d48f62280044df468dc8d634469e2d29f1bb36833021937e57dd08c66b2154ea310c5025ebb8db136af4c1833fed10400b4c9b39f16f749da8834488ed6da19482c396550bfcc707006e170a34a3b69e407ff2e064534ee096d22d9ba81c61dc8f8450331c837fc643aae772ca289cf032c9e04258e37129f6937bddb70d56389f4a2de64b7ee5b8a4955a0affa56bee7069fd986d125f536dc3e903e072268de8d320cc252a15478977d83d3031899b1ade667df91019af07e2461e5a7cf145ed1a7b5718432db4792049e77516637479a20019224b80cd83a65b19cf129c43404fee17a9695dfc7656d9ea3277ee3ef02b6cef486ddef68d63daf15e5c7cda1b610c6bf29a045a271d846eb15d59c703158c15d2ce0962e27f468b2d302800625129e19e504b35f2949db1102d5906bbf7c44206cbc09503397ad238b43076bb3d1f4e65eb04c862477956d7a0595d0e97761c15e3c797abbb7ddcdf749624359761864dfde0c3087623361b7c58dfa112915d1abb436f4cbc362efbd900613bcc5001e191c8a452e81d9741e21c790ea5a1b6ffbe37e82f1647fec3da789ae4fe8a5ed7beb14dfe2dd94f8507707deb57cd11306ab242bad298220d4b26567b46713bd79768c87d22d52120cc1dc1b87699a1b9bd069a8d8dacf9d4fcd780258f490ed5e43072abe9e6a1f9cd3863b47a39a324b22f8c560ea07a84d5b341824899cb32cf62da65d72e956250b2932e04beca240a6e7d315720ea94d42b6e895319e2197ca8f5cd112d9f649b17e3aa0e1c0c6cf186c2ddce4f188feff795ac5100798548c3cc6a76625458eb465f3aa0f5febe89dd9933bf80983510722eed71bf7760f42a555f81f0c37a0d9d88e06b1a91a8e07c37a0103d8e57706689ebf2387d16f5cead630e3f761c0c190caed7054270562f702797700a05e2779f3da4faadb2c6c5385646217ca17978b81ad7dfeeb2269e47202bc8826ce7e4ff023b8be994b031f5eca145624aaa3b59205c88ca1e48c15f5bf9ff8d2e7604bc0ce55de5209e75aa30e797ab9f40ea47ea2328b72134389d3594edc7141f5a2036d4475fcd39fab9042e4cd1ab0e71ce20e9c593dc4b7f6abdabf589125495a0aeaa5bd60e51bfe89e7b3e9500f749a5108a6c3c2e9a4a2b9c282bfcb101de57339926c676c9edfd19b6b882907d2de8c1194049e6633f50304468c0b0d5c662c1470be899c3e305b6b72d31f58ed87643798792466a570dd4a50d1df4a20e00da094db9e1f3166ecb3ec24dbcb1772181af343e48d68bd2e7dee0782b4c82d54acd266b2e741f92b8a0ed47aa5e408537b4c11091795d70f3d42200f1389ead507b5e2ceb92e9a7bd4361e4fec4c686129498a5a4d8207db223d0403b4b0c7725705d6a5be6ec14477990416f4bf01361ae9b5ca35787a4c178e65b8617dbcf457481ff75d28237ca0fe373ce849c457803e578c9807bb48b9c50591dd165ec1491249d2b4513fc8d92cc16552f154e16484c149414eb4c754a741391d8786e35599942ae3f433262034376c9e96492d26c3d4a78a556440bba303d5844bfaf305be47218493da4275fd9ca106369f4667f1230f30841155dd7a2c10621fc61c95d5ca00eee60241f024471b80b86b80ef716b9aa68b6f33c1b56513db34623728129b9860ca2f5484a32396471acbd7540cce4f40c0e5251383922581d8c2df7f62b2105bccfbdf2e3989d0e8ec07e196a0c060d68c989b8fad2b954654eb278", @ANYRES32=r0], 0x200}}, 0x0) r1 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r1, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) r2 = openat$mice(0xffffffffffffff9c, &(0x7f0000000000)='/dev/input/mice\x00', 0x10000) r3 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000080)='/dev/vcsa\x00', 0x250001, 0x0) r4 = accept4$inet(r2, &(0x7f00000000c0)={0x2, 0x0, @broadcast}, &(0x7f0000000180)=0x10, 0x40800) ioctl$LOOP_SET_FD(r3, 0x4c00, r4) write$input_event(0xffffffffffffffff, &(0x7f0000000040)={{}, 0x1f}, 0x18) [ 288.556301] nla_parse: 2 callbacks suppressed [ 288.556321] netlink: 256 bytes leftover after parsing attributes in process `syz-executor.2'. [ 288.616860] netlink: 25 bytes leftover after parsing attributes in process `syz-executor.2'. 06:52:47 executing program 5: sendmmsg$inet6(0xffffffffffffffff, &(0x7f00000001c0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x1138}}], 0x1, 0x0) r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = openat$sequencer(0xffffffffffffff9c, &(0x7f00000019c0)='/dev/sequencer\x00', 0x1, 0x0) r3 = signalfd(r0, &(0x7f0000000100)={[0x2]}, 0x8) write$sndseq(r3, &(0x7f0000000040)=[{0x0, 0x0, 0x0, 0x0, @tick, {0x0, 0x3f}, {}, @quote}], 0x1c) copy_file_range(r2, &(0x7f0000000040)=0x20, r1, &(0x7f0000000080)=0x8000, 0xffffffff, 0x0) r4 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r4, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r4, 0x0) r5 = dup3(r4, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r5, 0x541a, &(0x7f0000000000)=0x2) ioctl$SIOCGIFMTU(r5, 0x8921, &(0x7f00000000c0)={'macvlan1\x00'}) write$sysctl(r0, 0x0, 0x0) [ 288.768794] netlink: 256 bytes leftover after parsing attributes in process `syz-executor.2'. [ 288.787748] Dev loop4: unable to read RDB block 1 [ 288.792771] loop4: unable to read partition table 06:52:47 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) prctl$PR_GET_SPECULATION_CTRL(0x34, 0x0, 0x8) r2 = openat$null(0xffffffffffffff9c, &(0x7f0000000040)='/dev/null\x00', 0x280802, 0x0) openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x0, 0x0) perf_event_open(0x0, 0x0, 0x5, 0xffffffffffffffff, 0xa878435334ccd8ae) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000, 0x0, @perf_bp={0x0}, 0x40}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r3 = socket$inet_udp(0x2, 0x2, 0x0) socket$inet_icmp(0x2, 0x2, 0x1) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x40, &(0x7f0000004f00)) r4 = dup(r3) setsockopt$ARPT_SO_SET_REPLACE(r4, 0xa02000000000000, 0x60, &(0x7f0000000840)={'filter\x00', 0x1002, 0x4, 0x3d0, 0x5202, 0x0, 0x3d0, 0x2e8, 0x2e8, 0x2e8, 0x4, 0x0, {[{{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0x0, 0x0, 0x0, {@empty=[0x0, 0x2, 0x0, 0x0, 0xa]}, {}, 0x0, 0xb003, 0x0, 0x0, 0x0, 0x0, 'veth1_vlan\x00', 'tunl0\x00'}, 0xc0, 0xe8}, @unspec=@STANDARD={0x28, '\x00', 0x0, 0x1d8}}, {{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'netdevsim0\x00', 'ip6tnl0\x00'}, 0xc0, 0xf0}, @unspec=@CONNMARK={0x30, 'CONNMARK\x00'}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@mac=@dev, @empty, @local, @loopback}}}], {{[], 0xc0, 0xe8}, {0x28}}}}, 0x420) getsockopt$inet_mreqn(0xffffffffffffffff, 0x0, 0x0, &(0x7f00000002c0)={@private, @loopback}, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000340)=0x7) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(0xffffffffffffffff, 0x84, 0x73, &(0x7f0000000280)={0x0, 0x2, 0x10, 0x1000}, &(0x7f0000000300)=0x18) mount$overlay(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000180)='overlay\x00', 0x1081e, &(0x7f00000004c0)=ANY=[@ANYBLOB="6e66735f6578706f72743d6f66662c6d657461636f70793d6f66662c696e6465783d6f6e2c696e6465783d6f66662c736d61636b6c737472616e736d5574653d74756e6c30002c6f090000006f6c653d7234dbe8c2c8790c3405e6db4326b82d2521282b2c636f6e746578743d73797374654e5f752c6673757569643d646500310000000010f70000352d3765add52d623268612d361a397e3163c2622c7375626a5f726f6c653d5c3931fb833e708d516eb0744711a06f2ca933beadb96413b9ef9d5697a4d2b149b7ceb229dd370e66f18f4636c5b29fe6582e48e6bbcaaf6071e70ff296a9a2fa57a83017b62b048bb37c643dea8455b3fe8f38eabbfe7fba1e8ce17c5261f28f1442fb1c9a3d2cf4b3beecf5a5ec97da8e647703f3048431ca1fc928a1f89f9a626009c7d1ef3d85112aa9ce45f4e05b37"]) [ 288.816991] netlink: 25 bytes leftover after parsing attributes in process `syz-executor.2'. [ 288.819449] syz-executor.5 (14258): drop_caches: 0 [ 288.827767] loop4: partition table beyond EOD, truncated [ 288.836265] loop_reread_partitions: partition scan of loop4 () failed (rc=-5) [ 288.902735] cannot load conntrack support for proto=3 [ 288.988698] cannot load conntrack support for proto=3 06:52:47 executing program 2: mkdir(&(0x7f0000000000)='./file0\x00', 0x0) mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) pivot_root(&(0x7f0000000180)='./file0\x00', &(0x7f00000004c0)='./file0\x00') r0 = add_key$keyring(&(0x7f0000000280)='keyring\x00', &(0x7f00000002c0)={'syz', 0x3}, 0x0, 0x0, 0xffffffffffffffff) keyctl$get_persistent(0x16, 0x0, r0) open(&(0x7f0000000040)='./file0\x00', 0x1, 0x10) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 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, @perf_bp={&(0x7f0000000480)}, 0x10000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000700)=ANY=[@ANYBLOB="6c0000001100010800"/20, @ANYRES32=0x0, @ANYBLOB="5d080300000000001c001a8018000a801400070000000000000000000000000000000001140003006970766c616e310000000000000000001c0012800b0001"], 0x6c}, 0x1, 0x0, 0x0, 0x10}, 0x0) r2 = getuid() mount$9p_virtio(&(0x7f0000000100)='syz\x00', &(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)='9p\x00', 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB='trans=virtio,nodevmap,fscache,afid=0x0000000000000001,privport,privport,version=9p2000,mmap,debug=0x0000000000000009,cache=fscache,cache=mmap,pcr=00000000000000000048,eui', @ANYRESDEC=r2, @ANYBLOB=',subj_role=vfat\x00', @ANYRESDEC=0xee00, @ANYBLOB="2c7375626a5f747970653d76666174002c726f6f74636f6e746578743d73746166665f752c736d61636b6673726f6f743d162c6673636f6e746578743d757365725f552c6673757569643d62616262633665332d383664352d316339362d366166652d65366530"]) keyctl$get_persistent(0x16, r2, r0) openat$autofs(0xffffffffffffff9c, &(0x7f0000000100)='/dev/autofs\x00', 0x8c2, 0x0) r3 = socket$inet6(0xa, 0x2, 0x0) r4 = openat$sequencer(0xffffffffffffff9c, &(0x7f00000019c0)='/dev/sequencer\x00', 0x1, 0x0) write$sndseq(r4, &(0x7f0000000040)=[{0x0, 0x0, 0x0, 0x0, @tick, {}, {}, @quote}], 0xff33) ioctl$FS_IOC_GETFSMAP(r4, 0xc0c0583b, &(0x7f0000000780)={0x0, 0x0, 0x9, 0x0, [], [{0xfffffffc, 0x10001, 0x5, 0x8, 0x63, 0x3}, {0x5, 0x5, 0xff, 0xd839, 0x5, 0x5}], [[], [], [], [], [], [], [], [], []]}) connect$inet6(r3, &(0x7f0000000040)={0xa, 0x0, 0x0, @local, 0x8}, 0x1c) 06:52:47 executing program 5: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) prctl$PR_GET_SPECULATION_CTRL(0x34, 0x0, 0x8) r2 = openat$null(0xffffffffffffff9c, &(0x7f0000000040)='/dev/null\x00', 0x280802, 0x0) openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x0, 0x0) perf_event_open(0x0, 0x0, 0x5, 0xffffffffffffffff, 0xa878435334ccd8ae) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000, 0x0, @perf_bp={0x0}, 0x40}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clone(0x2000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r3 = socket$inet_udp(0x2, 0x2, 0x0) socket$inet_icmp(0x2, 0x2, 0x1) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x40, &(0x7f0000004f00)) r4 = dup(r3) setsockopt$ARPT_SO_SET_REPLACE(r4, 0xa02000000000000, 0x60, &(0x7f0000000840)={'filter\x00', 0x1002, 0x4, 0x3d0, 0x5202, 0x0, 0x3d0, 0x2e8, 0x2e8, 0x2e8, 0x4, 0x0, {[{{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0x0, 0x0, 0x0, {@empty=[0x0, 0x2, 0x0, 0x0, 0xa]}, {}, 0x0, 0xb003, 0x0, 0x0, 0x0, 0x0, 'veth1_vlan\x00', 'tunl0\x00'}, 0xc0, 0xe8}, @unspec=@STANDARD={0x28, '\x00', 0x0, 0x1d8}}, {{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'netdevsim0\x00', 'ip6tnl0\x00'}, 0xc0, 0xf0}, @unspec=@CONNMARK={0x30, 'CONNMARK\x00'}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@mac=@dev, @empty, @local, @loopback}}}], {{[], 0xc0, 0xe8}, {0x28}}}}, 0x420) getsockopt$inet_mreqn(0xffffffffffffffff, 0x0, 0x0, &(0x7f00000002c0)={@private, @loopback}, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) ioctl$TIOCSSOFTCAR(r2, 0x541a, &(0x7f0000000340)=0x7) getsockopt$inet_sctp6_SCTP_PR_ASSOC_STATUS(0xffffffffffffffff, 0x84, 0x73, &(0x7f0000000280)={0x0, 0x2, 0x10, 0x1000}, &(0x7f0000000300)=0x18) mount$overlay(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000180)='overlay\x00', 0x1081e, &(0x7f00000004c0)=ANY=[@ANYBLOB="6e66735f6578706f72743d6f66662c6d657461636f70793d6f66662c696e6465783d6f6e2c696e6465783d6f66662c736d61636b6c737472616e736d5574653d74756e6c30002c6f090000006f6c653d7234dbe8c2c8790c3405e6db4326b82d2521282b2c636f6e746578743d73797374654e5f752c6673757569643d646500310000000010f70000352d3765add52d623268612d361a397e3163c2622c7375626a5f726f6c653d5c3931fb833e708d516eb0744711a06f2ca933beadb96413b9ef9d5697a4d2b149b7ceb229dd370e66f18f4636c5b29fe6582e48e6bbcaaf6071e70ff296a9a2fa57a83017b62b048bb37c643dea8455b3fe8f38eabbfe7fba1e8ce17c5261f28f1442fb1c9a3d2cf4b3beecf5a5ec97da8e647703f3048431ca1fc928a1f89f9a626009c7d1ef3d85112aa9ce45f4e05b37"]) [ 289.083636] Dev loop4: unable to read RDB block 1 [ 289.088674] loop4: unable to read partition table [ 289.106781] loop4: partition table beyond EOD, truncated [ 289.112243] loop_reread_partitions: partition scan of loop4 () failed (rc=-5) 06:52:48 executing program 4: r0 = perf_event_open(&(0x7f000025c000)={0x2, 0x70, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x2000000, 0x8490, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x5, 0xa14}, 0x0, 0x0, 0x0, 0x4}, 0x0, 0x0, 0xffffffffffffffff, 0x3) r1 = accept4$phonet_pipe(0xffffffffffffffff, &(0x7f0000000040), &(0x7f0000000080)=0x10, 0x0) syz_open_dev$rtc(&(0x7f0000000200)='/dev/rtc#\x00', 0x58b02f2c, 0x243) close(r1) r2 = openat$ppp(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/ppp\x00', 0x0, 0x0) perf_event_open(0x0, 0x0, 0xd, 0xffffffffffffffff, 0x1) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100)}, 0x0, 0x7fc, 0x0, 0x2}, 0x0, 0xfeffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0xc004743e, &(0x7f0000000680)='&@[\xfe') write$cgroup_int(0xffffffffffffffff, 0x0, 0x0) close(r2) socket$kcm(0x2, 0x1000000000000002, 0x0) ioctl$BLKFRASET(0xffffffffffffffff, 0x1264, &(0x7f0000000000)=0x1f0) ioctl$TUNSETOFFLOAD(0xffffffffffffffff, 0x400454d0, 0x12) write$cgroup_subtree(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 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, 0xfffffffc, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) socketpair(0x1e, 0x1, 0x0, &(0x7f0000000140)={0x0, 0x0}) recvmsg$kcm(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, 0x0, 0x0, &(0x7f00000002c0)=""/77, 0x4d}, 0x0) sendmsg(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100), 0x47, &(0x7f0000000000)}, 0x0) r4 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) write$cgroup_devices(r4, &(0x7f0000000300)=ANY=[], 0x8) [ 289.156680] 9pnet_virtio: no channels available for device syz 06:52:48 executing program 5: ioctl$IMDELTIMER(0xffffffffffffffff, 0x80044941, 0x0) sendmsg$NFT_MSG_GETOBJ(0xffffffffffffffff, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f00000000c0)={&(0x7f0000000040)={0x50, 0x13, 0xa, 0x0, 0x0, 0x0, {0xa, 0x0, 0x5}, [@NFTA_OBJ_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_OBJ_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x7}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x5}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x5}, @NFTA_OBJ_NAME={0x9, 0x2, 'syz0\x00'}]}, 0x50}}, 0xc0) unshare(0x48000000) r0 = socket$unix(0x1, 0x200000000001, 0x0) ioctl$UFFDIO_REGISTER(0xffffffffffffffff, 0xc020aa00, &(0x7f0000000180)={{&(0x7f0000ffc000/0x1000)=nil, 0x1000}, 0x1}) bind$unix(r0, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r0, 0x0) ioctl$sock_inet_SIOCRTMSG(0xffffffffffffffff, 0x890d, &(0x7f00000001c0)={0x0, {0x2, 0x4e20, @rand_addr=0x64010102}, {0x2, 0x4e23, @empty}, {0x2, 0x4e21, @loopback}, 0x40, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8a, 0xea8b, 0x3}) r1 = dup3(r0, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r1, 0x541a, &(0x7f0000000000)=0x2) ioctl$sock_inet6_tcp_SIOCATMARK(r1, 0x8905, &(0x7f0000000140)) [ 289.212056] cannot load conntrack support for proto=3 [ 289.221662] Dev loop4: unable to read RDB block 1 [ 289.235548] loop4: unable to read partition table [ 289.256182] loop4: partition table beyond EOD, truncated 06:52:48 executing program 2: r0 = syz_init_net_socket$llc(0x1a, 0x1, 0x0) r1 = dup(r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) getsockopt$llc_int(0xffffffffffffffff, 0x10c, 0x0, 0x0, 0x0) syz_mount_image$affs(&(0x7f0000000100)='affs\x00', &(0x7f0000000140)='./file0\x00', 0x4, 0x1, &(0x7f0000001380)=[{0x0, 0x0, 0xfffffffffffffff9}], 0x0, &(0x7f0000001400)={[{'\\$\\@.(,'}, {'$:-'}], [{@measure='measure'}]}) r2 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r2, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0xc) listen(r2, 0x0) r3 = dup3(r2, 0xffffffffffffffff, 0x0) ioctl$TIOCSSOFTCAR(r3, 0x541a, &(0x7f0000000000)=0x2) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(r1, 0x84, 0x6c, &(0x7f0000000000)={0x0, 0x16, "ba7a9ab36b29059fc56de99a9c2f96d243e0ee9e1c1e"}, &(0x7f0000000040)=0x1e) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(r3, 0x84, 0x1a, &(0x7f0000000080)={r4, 0x8, "cd02e0aa3cc77a89"}, &(0x7f00000000c0)=0x10) ioctl$VIDIOC_S_EXT_CTRLS(0xffffffffffffffff, 0xc0205648, 0x0) [ 289.261067] IPVS: ftp: loaded support on port[0] = 21 [ 289.273385] 9pnet_virtio: no channels available for device syz [ 290.019933] batman_adv: batadv0: Removing interface: batadv_slave_0 [ 290.035866] batman_adv: batadv0: Removing interface: batadv_slave_1 [ 290.061555] device bridge_slave_1 left promiscuous mode [ 290.079325] bridge0: port 2(bridge_slave_1) entered disabled state [ 290.111766] device bridge_slave_0 left promiscuous mode [ 290.117322] bridge0: port 1(bridge_slave_0) entered disabled state [ 290.211687] device hsr_slave_1 left promiscuous mode [ 290.229545] device hsr_slave_0 left promiscuous mode [ 290.235525] can: request_module (can-proto-0) failed. [ 290.262615] team0 (unregistering): Port device team_slave_1 removed [ 290.275090] team0 (unregistering): Port device team_slave_0 removed [ 290.290325] bond0 (unregistering): Releasing backup interface bond_slave_1 [ 290.307190] bond0 (unregistering): Releasing backup interface bond_slave_0 [ 290.352243] bond0 (unregistering): Released all slaves [ 291.128492] can: request_module (can-proto-0) failed. [ 342.982923] Bluetooth: hci3 command 0x0406 tx timeout [ 358.341916] Bluetooth: hci4 command 0x0406 tx timeout [ 373.701073] Bluetooth: hci2 command 0x0406 tx timeout [ 378.820749] Bluetooth: hci1 command 0x0406 tx timeout [ 399.299838] Bluetooth: hci5 command 0x0406 tx timeout [ 427.938416] INFO: task syz-executor.1:14210 blocked for more than 140 seconds. [ 427.945814] Not tainted 4.14.213-syzkaller #0 [ 427.956095] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 427.964348] syz-executor.1 D29672 14210 11524 0x00000004 [ 427.973728] Call Trace: [ 427.976327] __schedule+0x88b/0x1de0 [ 427.981133] ? io_schedule_timeout+0x140/0x140 [ 427.985816] ? mark_held_locks+0xa6/0xf0 [ 427.994251] ? _raw_spin_unlock_irq+0x24/0x80 [ 427.999453] ? rwsem_down_write_failed+0x33e/0x6d0 [ 428.004388] schedule+0x8d/0x1b0 [ 428.007747] rwsem_down_write_failed+0x343/0x6d0 [ 428.017140] ? rwsem_down_read_failed_killable+0x520/0x520 [ 428.024663] ? lock_acquire+0x170/0x3f0 [ 428.032725] call_rwsem_down_write_failed+0x13/0x20 [ 428.037743] down_write+0x4f/0x90 [ 428.042167] ? grab_super+0x55/0x140 [ 428.045884] grab_super+0x55/0x140 [ 428.053786] ? set_bdev_super+0x110/0x110 [ 428.057937] sget_userns+0x2b1/0xc10 [ 428.062763] ? set_bdev_super+0x110/0x110 [ 428.066914] ? ns_test_super+0x50/0x50 [ 428.075121] ? set_bdev_super+0x110/0x110 [ 428.079854] ? ns_test_super+0x50/0x50 [ 428.083741] sget+0xd1/0x110 [ 428.086764] mount_bdev+0xcd/0x360 [ 428.094874] ? udf_load_vrs+0xa90/0xa90 [ 428.100847] mount_fs+0x92/0x2a0 [ 428.104223] vfs_kern_mount.part.0+0x5b/0x470 [ 428.113099] do_mount+0xe53/0x2a00 [ 428.116744] ? lock_acquire+0x170/0x3f0 [ 428.121631] ? lock_downgrade+0x740/0x740 [ 428.125783] ? copy_mount_string+0x40/0x40 [ 428.134287] ? __might_fault+0x177/0x1b0 [ 428.139640] ? _copy_from_user+0x96/0x100 [ 428.143795] ? copy_mount_options+0x1fa/0x2f0 [ 428.152480] ? copy_mnt_ns+0xa30/0xa30 [ 428.156377] SyS_mount+0xa8/0x120 [ 428.160764] ? copy_mnt_ns+0xa30/0xa30 [ 428.164658] do_syscall_64+0x1d5/0x640 [ 428.172921] entry_SYSCALL_64_after_hwframe+0x46/0xbb [ 428.178112] RIP: 0033:0x45e219 [ 428.182849] RSP: 002b:00007f30c1e38c68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 [ 428.194556] RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 000000000045e219 [ 428.202542] RDX: 0000000020000000 RSI: 0000000020000180 RDI: 0000000020000380 [ 428.213765] RBP: 000000000119c078 R08: 0000000000000000 R09: 0000000000000000 [ 428.221688] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000119c034 [ 428.233096] R13: 00007ffc1a18ae5f R14: 00007f30c1e399c0 R15: 000000000119c034 [ 428.241192] [ 428.241192] Showing all locks held in the system: [ 428.247520] 1 lock held by khungtaskd/1529: [ 428.252130] #0: (tasklist_lock){.+.+}, at: [] debug_show_all_locks+0x7c/0x21a [ 428.261247] 2 locks held by agetty/7912: [ 428.265299] #0: (&tty->ldisc_sem){++++}, at: [] tty_ldisc_ref_wait+0x22/0x80 [ 428.274314] #1: (&ldata->atomic_read_lock){+.+.}, at: [] n_tty_read+0x1e3/0x1680 [ 428.283673] 2 locks held by syz-executor.1/14210: [ 428.288601] #0: (&bdev->bd_fsfreeze_mutex){+.+.}, at: [] mount_bdev+0x71/0x360 [ 428.297736] #1: (&type->s_umount_key#94){+.+.}, at: [] grab_super+0x55/0x140 [ 428.306807] [ 428.308461] ============================================= [ 428.308461] [ 428.317550] NMI backtrace for cpu 1 [ 428.321254] CPU: 1 PID: 1529 Comm: khungtaskd Not tainted 4.14.213-syzkaller #0 [ 428.328708] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 428.338068] Call Trace: [ 428.340654] dump_stack+0x1b2/0x283 [ 428.344281] nmi_cpu_backtrace.cold+0x57/0x93 [ 428.348768] ? irq_force_complete_move.cold+0x89/0x89 [ 428.353951] nmi_trigger_cpumask_backtrace+0x13a/0x17f [ 428.359226] watchdog+0x5b9/0xb40 [ 428.362678] ? hungtask_pm_notify+0x50/0x50 [ 428.366990] kthread+0x30d/0x420 [ 428.370694] ? kthread_create_on_node+0xd0/0xd0 [ 428.375379] ret_from_fork+0x24/0x30 [ 428.379212] Sending NMI from CPU 1 to CPUs 0: [ 428.383943] NMI backtrace for cpu 0 [ 428.383947] CPU: 0 PID: 709 Comm: kworker/u4:3 Not tainted 4.14.213-syzkaller #0 [ 428.383951] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 428.383953] Workqueue: bat_events batadv_purge_orig [ 428.383958] task: ffff8880b403a280 task.stack: ffff8880b4048000 [ 428.383960] RIP: 0010:trace_softirqs_off+0x101/0x320 [ 428.383962] RSP: 0018:ffff8880b404fc68 EFLAGS: 00000086 [ 428.383967] RAX: 0000000000000086 RBX: ffff8880b403a280 RCX: 1ffffffff17d69a8 [ 428.383970] RDX: dffffc0000000000 RSI: 0000000000000201 RDI: 0000000000000000 [ 428.383973] RBP: ffffffff870923d7 R08: 0000000000000000 R09: 0000000000000001 [ 428.383977] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880b403a280 [ 428.383980] R13: ffff8880b55ca600 R14: ffff88813fe1a8c0 R15: ffff8880a488d400 [ 428.383983] FS: 0000000000000000(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000 [ 428.383986] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 428.383989] CR2: 00007f9d17512020 CR3: 00000000a19d2000 CR4: 00000000001426f0 [ 428.383992] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 428.383995] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 428.383997] Call Trace: [ 428.383999] ? _batadv_purge_orig+0x117/0xef0 [ 428.384001] __local_bh_disable_ip+0xf0/0x190 [ 428.384003] _raw_spin_lock_bh+0x13/0x40 [ 428.384006] _batadv_purge_orig+0x117/0xef0 [ 428.384007] ? lock_acquire+0x170/0x3f0 [ 428.384010] batadv_purge_orig+0x17/0x60 [ 428.384012] process_one_work+0x793/0x14a0 [ 428.384014] ? work_busy+0x320/0x320 [ 428.384016] ? worker_thread+0x158/0xff0 [ 428.384018] ? _raw_spin_unlock_irq+0x24/0x80 [ 428.384020] worker_thread+0x5cc/0xff0 [ 428.384022] ? rescuer_thread+0xc80/0xc80 [ 428.384024] kthread+0x30d/0x420 [ 428.384026] ? kthread_create_on_node+0xd0/0xd0 [ 428.384028] ret_from_fork+0x24/0x30 [ 428.384029] Code: 92 f0 88 48 ba 00 00 00 00 00 fc ff df 48 c1 e8 03 80 3c 10 00 0f 85 e3 01 00 00 48 83 3d c7 a0 ad 07 00 0f 84 d3 01 00 00 9c 58 <0f> 1f 44 00 00 f6 c4 02 0f 85 e9 00 00 00 48 8d bb 70 08 00 00 [ 428.388982] Kernel panic - not syncing: hung_task: blocked tasks [ 428.588325] CPU: 1 PID: 1529 Comm: khungtaskd Not tainted 4.14.213-syzkaller #0 [ 428.595758] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 428.605103] Call Trace: [ 428.607687] dump_stack+0x1b2/0x283 [ 428.611312] panic+0x1f9/0x42d [ 428.614494] ? add_taint.cold+0x16/0x16 [ 428.618487] watchdog+0x5ca/0xb40 [ 428.622194] ? hungtask_pm_notify+0x50/0x50 [ 428.626506] kthread+0x30d/0x420 [ 428.629866] ? kthread_create_on_node+0xd0/0xd0 [ 428.634526] ret_from_fork+0x24/0x30 [ 428.639173] Kernel Offset: disabled [ 428.642884] Rebooting in 86400 seconds..