cf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x89000}, {&(0x7f0000039b40)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100e000000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00000000", 0x1a0, 0xff000}, {&(0x7f0000039ce0)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0xff1e0}, {&(0x7f0000039d00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0xff3e0}, {&(0x7f0000039d20)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0xff5e0}, {&(0x7f0000039d40)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000020000000000000002000000000000000200000000000002102ff0000000000ffffffff00000000", 0x1c0, 0xff7a0}, {&(0x7f0000039f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xff9e0}, {&(0x7f0000039f20)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xffbe0}, {&(0x7f0000039f40)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xffde0}, {&(0x7f0000039f60)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140010100000000ffffffff00000000", 0x180, 0xfffe0}, {&(0x7f000003a0e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f000003a100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f000003a120)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f000003a140)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000400", 0x220, 0x1007e0}, {&(0x7f000003a360)="0000000000000000000000000000000000000000000000000000000000000400", 0x20, 0x100be0}, {&(0x7f000003a380)="0000000000000000000000000000000000000000000000000000000000000400", 0x20, 0x100de0}, {&(0x7f000003a3a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x100fe0}, {&(0x7f000007a3c0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x180000}, {&(0x7f000007a7e0)='syzkallers\x00'/32, 0x20, 0x181000}, {&(0x7f000007a800)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x185000}, {&(0x7f000007a880)="eb52904e5446532020202000080200000000000000f8000000000000000000000000000080008000ff030000000000000400000000000000ff00000000000000f500000001000000015f1c32890d2820000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f000007a960)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f000007a980)) 21:35:55 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:35:55 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:35:55 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) socket(0x10, 0x80002, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:35:55 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000100)=@newqdisc={0x30, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_ingress={0xc}]}, 0x30}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000032c0)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xe}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) r3 = openat$incfs(0xffffffffffffffff, &(0x7f0000000140)='.log\x00', 0x214000, 0x101) sendmsg$nl_route_sched(r3, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0xc85b10a5142cdcec}, 0xc, &(0x7f0000000240)={&(0x7f0000000a40)=@deltfilter={0x24e4, 0x2d, 0x4, 0x70bd29, 0x25dfdbfb, {0x0, 0x0, 0x0, r2, {0x2, 0xffff}, {0xffff}, {0x2, 0xb}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_TO={0x8, 0x2, 0x8d}]}}, @filter_kind_options=@f_cgroup={{0xb}, {0x8a8, 0x2, [@TCA_CGROUP_POLICE={0x898, 0x2, [@TCA_POLICE_RATE={0x404, 0x2, [0x8000, 0x8, 0x5, 0x1f, 0xfffffffd, 0x7fffffff, 0x68, 0x80, 0x3, 0xffffff7a, 0x1f, 0xf91, 0x1a7, 0x80, 0x20, 0x751, 0x1, 0x6, 0xffffffff, 0x5, 0x200, 0x4, 0x6, 0xea, 0x9, 0x100, 0x4, 0xfffffffd, 0x6, 0x8001, 0x7f, 0x3, 0x9, 0xffff3a10, 0x5, 0x436b, 0x1, 0x0, 0x6, 0x163, 0x10000, 0x6, 0x5, 0xfa, 0xb9, 0x10, 0x80, 0x200, 0x10000, 0x1ff, 0x4, 0x8, 0xf48, 0x8, 0x6c34, 0x1, 0x80, 0x81, 0x5, 0x1, 0x7f, 0x9, 0x3, 0x1, 0x6, 0xd637, 0x1f, 0x4, 0x2, 0x81, 0x5, 0x7c3076d9, 0x7, 0x7, 0x43, 0x2, 0x800, 0x60, 0x4, 0x8, 0x3, 0x3, 0x8, 0xce, 0x800, 0x1, 0x20000000, 0x400, 0x4, 0x8, 0x4da7, 0x101, 0x200, 0x100, 0x6, 0xffffffff, 0x10001, 0x7, 0x6277, 0x0, 0x0, 0x3ff, 0xfffffffb, 0x8, 0x40, 0x79e, 0x7fffffff, 0x3f, 0xffff, 0x9, 0xfffff001, 0xfffffffd, 0x8, 0x4f, 0x100, 0x101, 0xff4, 0x80000000, 0xfffffff9, 0x2e, 0x1, 0x101, 0x2, 0x2, 0xfffffffd, 0x800, 0x8, 0xffffffff, 0x7fff, 0x7, 0x0, 0x4, 0xf9, 0xffff0001, 0x1, 0x0, 0xbcce, 0x401, 0x5, 0x7, 0xfffffffb, 0x746, 0xe3, 0x1ff, 0x7, 0x3, 0x5, 0x3aef, 0x10000, 0x1, 0x8000, 0x419, 0x3, 0x9, 0x7, 0x4, 0xcc80, 0x5, 0x9, 0x7ff, 0x0, 0xffff, 0x9, 0x80000000, 0xe34, 0x5, 0x5, 0x1, 0xfffffff9, 0x7, 0x2, 0x0, 0x4, 0xeb0, 0x1, 0x100, 0xe1, 0x2, 0x30, 0x1, 0x1, 0x557a, 0x1f, 0x5, 0x2, 0x4, 0x0, 0x10000, 0xc06, 0x3, 0x8, 0x9, 0x8, 0x4, 0x7fffffff, 0x80000001, 0x1000, 0x7, 0x6, 0x40, 0x0, 0x3ff, 0x1000, 0x80000001, 0x400, 0x0, 0xff, 0x5, 0x3, 0x1, 0x8, 0x2, 0x5, 0xfffffffa, 0x2, 0x731, 0x2, 0x80000001, 0x3, 0x0, 0x3, 0x81, 0x90dd, 0x1, 0x1, 0x5, 0x9, 0x1, 0x0, 0x401, 0xffff, 0x7fff, 0x1, 0x1, 0xff, 0x16, 0x6, 0x8, 0x4, 0x7e4d2267, 0x8001, 0x3, 0x7, 0x4, 0x3a, 0x4, 0xffff, 0x6, 0xfffff801, 0x10000, 0x8, 0x1, 0x10001, 0x0, 0x6, 0x401]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x2, 0x3, 0x2400000, 0xff, 0x9f8, {0x6, 0x1, 0x2, 0x83c, 0x7, 0x7}, {0xff, 0x3, 0x20, 0x8, 0x960b, 0x6}, 0xfffffffd, 0x0, 0x81}}, @TCA_POLICE_RESULT={0x8, 0x5, 0xace8}, @TCA_POLICE_RATE={0x404, 0x2, [0x100, 0x0, 0x100, 0x48, 0x7ff, 0x0, 0x8, 0x7ff, 0x3, 0x0, 0x22, 0x3, 0x5f18000, 0x5f, 0x4, 0x1, 0x401, 0xbf6, 0x2, 0x0, 0x0, 0x0, 0x4, 0x8, 0x5, 0x2e, 0xffff, 0x100, 0x4, 0x7, 0x5a89, 0x2, 0x2, 0xe0, 0x10001, 0x5, 0x61, 0x2, 0x4, 0x6, 0xadfa, 0x8, 0x6, 0x5023, 0x3, 0x1, 0x92e, 0x3, 0x4, 0x8, 0x0, 0xb2, 0x5, 0x800, 0x8, 0x3, 0x4f, 0xbe, 0x21, 0x4, 0x2, 0x9, 0x1ff, 0x1ff, 0x1, 0x4, 0x0, 0x10000, 0xffffffff, 0x20, 0x379e7cbc, 0x4, 0x0, 0x200, 0xfffffff7, 0x7, 0x1, 0xffff0001, 0x800, 0x20400, 0x8, 0x6, 0x7ff, 0x5, 0x101, 0x10000, 0x7ff, 0x5, 0x50, 0x0, 0x4, 0x9, 0x101, 0xa6f, 0x8, 0x8, 0xffffffff, 0x3ff, 0x4, 0x6, 0xf5, 0x1ff, 0x7, 0x1, 0x67a1, 0x4, 0x1, 0x3, 0x100, 0x0, 0x81c, 0x0, 0x7, 0xfffffffe, 0x800, 0x9, 0x1, 0x0, 0x3f, 0x7, 0x9, 0xf15, 0xe34, 0x8f, 0x4, 0x2, 0x3, 0x7, 0x401, 0x0, 0x100, 0x3, 0x6, 0x0, 0x7, 0x0, 0x7, 0x6, 0xfff, 0x8001, 0xfc7e, 0x3, 0x7fffffff, 0x9, 0x20, 0x1f, 0x4cdb, 0x5, 0x3, 0x2, 0x40e3, 0x8, 0x72e, 0x13ac00, 0x2, 0x2, 0x659, 0x1, 0x400, 0x6b, 0x3, 0x30, 0x5, 0x800, 0x0, 0x10000, 0x0, 0x1, 0x1, 0x8000, 0xc07, 0x9, 0x4, 0x2, 0xffff, 0x6, 0x6, 0x3, 0x4, 0x3, 0x71e, 0x80000000, 0x3, 0x1000, 0x3, 0xe1b, 0x20, 0x6, 0x8, 0x1d3, 0x5, 0x5, 0x2, 0x9, 0x200, 0x10001, 0x2, 0x2, 0x800, 0x1f, 0xffffff21, 0x2, 0xffff, 0xbab, 0x6, 0x99, 0x0, 0xffff, 0x1b54, 0x5, 0x0, 0x2, 0x8000, 0xffff794c, 0xff, 0x1, 0x101, 0x3ff, 0x3, 0x5, 0x1f, 0x5, 0x10, 0x1ff, 0x101, 0xf, 0x5, 0x5, 0x10001, 0x6, 0x13e, 0x1, 0x1fb, 0xfffffff8, 0x584, 0x40, 0xccdc, 0xd2f, 0xfeb, 0x2, 0x1, 0x2, 0x9, 0x0, 0x6, 0x3f, 0x6, 0x0, 0xc72, 0x1, 0x1, 0x1, 0x5, 0xffff, 0x2, 0x80]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x3bb, 0x5, 0xb5f, 0x3, 0x100, {0x8, 0x0, 0x8, 0x8e4, 0x81}, {0x7f, 0x2, 0x3, 0x7fff, 0x101}, 0xabdf28c2, 0x5, 0x3}}, @TCA_POLICE_PEAKRATE64={0xc, 0x9, 0x8}]}, @TCA_CGROUP_EMATCHES={0xc, 0x3, 0x0, 0x1, [@TCA_EMATCH_TREE_HDR={0x8, 0x1, {0x81}}]}]}}, @TCA_RATE={0x6, 0x5, {0x1, 0x1f}}, @TCA_RATE={0x6, 0x5, {0x8, 0x60}}, @filter_kind_options=@f_rsvp6={{0xa}, {0x1bd0, 0x2, [@TCA_RSVP_PINFO={0x20, 0x4, {{0x334b, 0x2, 0x1000}, {0x60fe, 0xbd7, 0x7f}, 0x67, 0x4}}, @TCA_RSVP_ACT={0x1b6c, 0x6, [@m_nat={0x1ac, 0x3ffd, 0x0, 0x0, {{0x8}, {0xcc, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x10001, 0xd5b8, 0x8, 0x5, 0x400}, @rand_addr=0x64010100, @rand_addr=0x64010101, 0xff}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xff, 0x2, 0x2, 0x401, 0x5e6}, @initdev={0xac, 0x1e, 0x0, 0x0}, @loopback, 0xff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x9, 0x1, 0x1, 0x1000, 0x8001}, @local, @multicast1, 0x0, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xd, 0x1, 0x8, 0x1e5, 0x6}, @dev={0xac, 0x14, 0x14, 0x1d}, @local, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xfffffffa, 0x0, 0x2, 0x4, 0x5}, @multicast2, @multicast1, 0x0, 0x1}}]}, {0xbc, 0x6, "7f1ddfe318b3d4316565898610842a731038c7479a8bddc08057d4e20e2f904d23fd2fd9f48536934baa0363dc292bfafd4edcfbb5645ed176c4b0d6355d8c82c886f4e078e18716afa18c0063cca036f17ed9fd54bf06dee03316a09d6b8552bfe3bd699a200796079fffed827fbc3d553166d0550e595dafa7b864bcc0bd14ac8d6db93e2d0915a6c54aa0bf1c69d9f9d2a1bdad6fe1d4148c5e06691bafa10713b2191707c61718afea0eaaf6c3252e20e5817c53cdef"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x2, 0x1}}}}, @m_vlan={0x78, 0xa, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x43, 0x6, "ad1221ddd640b9b75b263bd48af56e7d1920ec46245cec166b8425581b3e2e6b6c799d28e7c4e6744e525ea2a6cbccbc53e4adcc2cf6e4f44d1e72d56421ed"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_xt={0x1128, 0x14, 0x0, 0x0, {{0x7}, {0x100, 0x2, 0x0, 0x1, [@TCA_IPT_TABLE={0x24, 0x1, 'raw\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x2}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}, @TCA_IPT_TABLE={0x24, 0x1, 'mangle\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x81}, @TCA_IPT_TARG={0x4b, 0x6, {0xd5, 'security\x00', 0x20, 0x8, "262202c5d6dbcc50682369498f88ded40c8cc131eee6644e6bb2f27d0dc5055561"}}, @TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}]}, {0x1004, 0x6, "2fe2ebd210e0c2a731db0012c72c036411389cfedee3efa4d7d2307675ba52883613b8bea912f4aaa9b3a799a527b304644e0bb3c9f66b7830c7e04e6a8852915b865a4e835729d260c90a71c984f2a4d9dd39337cae446bea24dafd2c51fbd9b091d962754639ff239360b2a39b12ee288ad596cc33ebd6a838cfa2d3eda14fcf340878f805fef91911437c7b1cc814a1ff18115d213c18363f210d4817b5ebf91301d9556e7e8495df34e99cead1cad82e3aa2a1054d473de06d14c260341aeb35c9bd41531da28d086869ee0413de7fbbe39efc8bc0420a5cdd7acb3deba22587e5ba44a5629b1a8e9d8d1cb22873af92b952730e9f9638b96b87bb27f412a909c25e55ae02b46dff05b8d0b520183ed1e9ff8529f8ca6e49f3b0fcd6d6f9273766bde460604272c6eff73553c68e70591146f49d7d5cd424dfc19b38448ff80d208e7e7aa744c325749a33dd82708a4f31d6edb725e09b0cc3db278befc6e488f7dc5bd3301a322817cdddcb7efba693fc75ba1f7c74571149317e6e78519b3bacb36d0deca331ce73a32cc95b1e69ef214e9d55f115649d369c98ba4b34801b9c41f82107b067899dc3b313e4723edec1ce054c5373d2b351094ebed7a321511b8a75c4da55b17a2ad4a58d04f5132b668721ae8f6f66b3b0a223d214c5d393e92be68f8a6c186ca191538d0c03a6b001588364dc70583f7bb12989fed4e5cb40df28d8c46a54abefca580973f2e9e870172738352c3ba3d6692e43af8a3cf9100b26a72cbea04a1543181f3f2089b0153bca71219130582a3d63e845449b365f66a75ecb2121979666f59178735885c010e2c205d235ef972351306cb152762241b6af5e57bb9c1f8b072bf000fe8187d6c04a7807ec629e8c873053b40e5e51a687aec92528feabef583272dda0a6ef76a9d9851d6a121dde2c7e5ab7a4c33da5a6c62852de6f0e00218a5e2412ba4e19ef3c8df1d54186ca15afed9403184036143e4c76073266f4a561ac002df6e8e8be609b828d801cfdc146ddd32a1ba45f8d20a8a880aa2f2bbfece6b6c5eca4474c22a7c0ac397ae9a909780617a78956c601e9714f8c29179bfb54d702206ee2e47520024ac2c0b22a8d235f28b3a6b16b45dbc335a40cc56d41222e4620970d96e7ea361a7ec4e18104c265a86f6a59e02c0c3b20cee647ef8c5bf4d75588d27547f404da8c1e518eeaa3217d1ae315bfe57672d13ba867d97248ab833c75a76baf79cda0ae4c1c62de251837653f6c36208ceacedb5ad4df4ebfc40e20a54643040a9d4a08c047279cc16beac1346df0511e4942dfad50bcaeefe406d69a2b5ccca6c35fa24b368c105043ac0996aaed2057bf1aed0e649693aa9327008dfa5690b3a3875063e4621eb3483cdaaa55f6aa03cc51012448c61d6546c34b6a41b57f350d46b746c8e60a2167d1622d9c6854d30e494afc2efd8d7bb7e4d8768ea31975bb25a09678d6739e75291eabe3a7becbd17c759665402f83368b8e3bc860fab44176e6462f978207f5c1304b7d9d215303a2bc10186e8e086815a9c7edbebd9c657b9b7f10d1ee6041c01734b1ab39b149b0ca57775b01dc8d09ed320b4ef412b215a8a4d6aa88fc84a494479c4f976d1917b6f2653ca2ffafc84da009dd58b2bd43f919bdbd25935afa6d874da40f252b35e06eb6d8a01019f0abd2172ff5235338d903ff802860415a291851dabb2362607e2e53627c114ec533e057f466284322b87a9694e948b9f278a614a91fb6dba23340bc16d5fb54ee2b50542f7cc76ede6fe050c720d40a0a01f11108ddd1137c54b76752452e3321207b1dd9f546a850cf1412ddea217ecf250e8acdef907cee8b953bd98274cc6c1107694442415952997257ac1e03ad522feec9e808a335eca611061c7e38cce16677989f44e1ff3c1da6b921e7941f109e008eefa72fecf1a5b31a0b25c562622efa1827cb3cfc0b707d81047e600540b09f9d5129b84857226e1218ccb643a43ba1de833acd8898dc987469fe07a81e33a68136ea94d28c2a41084919196ab0823ffc94991300b85332fca07bc18d33d4c191fda668f58ee040dc71c9d4e37dcfd083005488c410ac9b9031879448b3049f16778151f71f7c8d59e554ae56d997beea19b3bd00e3627a6758d741e615239840a54dc50a4e8cbf9cffb704dbe1a42c4ddeafa030b6c78b4378a389db3cb8ca693d30b560965f34aaa5887d497f5c20641b809318cd5270f8598dcab0a61767fd14470e935b77e238751264c6f9bd71a3481d16e9ec326ef8103de6092f0f03e0ec72532b49394ba3479d9e78f7862da4a86563548c871d898ea99bef800d12a1d7f29db871a1d6bdb187b5eb947c780098056b2f2e9d51069520c27873f0b83effd63d7044a8f5070271671c52e620643fd34f0f6e0c3a12f7aa5ada82e434eb3646e2c4cb0fcb8dfe7d09cb7b65e00f860f597e9e33b7eb646e4e7877c56b201b6e6d9f7b0311d73231375c96540d7d6e293f94f1383a4a7f78aea8c460e462f93fdff2e15219520769f13191e73bc836c9a1fee3518b40c55ff85e04f9f50608021100afe41aedbf89f24e0e1c0fbecf6674d71810f5c894ee4170c12671c984d15b354b0d0e86cd55e1b9dbf76b9679dbb6ed023bc8a958491c6fc7eace79811a31923ea39ac13e3f700729aa2cdcd5321ba3fb5e4b298d691c6d9e0510fa9438e151df21c3f70c02760800887756e3194bf051e4f983dbb435081b824560093b3a57d640a46e84ceeda4deea885883e1d6798dea6217ee969177bb5274100c6ebf41b421274638bd0cbd097cfd5bb77243ee344891d00c5f824a7b1a0331393e57b0a00c46d0b81bb1f2b419a3ee5ae9f6067b13777bd639d9568f3cd6446802fccbbe3241836398e35f2b035d79fb0d409746144fb9cec9f624055278386f9fbf30df242efc0a9a42762ed57df65a90c722ad4a754c7554d2a653ae338740215d9453a66ada1c42441b077f108b7d42d23e98c675675e0e3bf6dd743711e33fe60479c1d8c7605c25fd14f337ad29214ae75ac9e71264c81aadbff4146a0d8b93b1022f08f1b10bb29bcabe6a2c7a2750aea34f191c84d7b21c1f67858b9ef2aca668331c6f95407b2ec58c268e7d1f24278a4539b4ab6ad81cb3e2ca75cbd70c20b2d98ea9b48c0f88fee9f61c756fc24cc9d2abb5f0d4ac8dcb1b1ed54d542ab4900b064258c24a16c6f31b9b36a56e864ef212dbf07a9425e36d57a3c597593bae701b7aed3e562b3cb0a11517b8126ad7f945392ebe7366435fef93bfded20ba612a24d36d894718ae562fe48c81d5d639610936b5812b93c9af59964c8304225be22a77eacb068fa612ca2b17fb54fcd8df0e953cbea087cece20acb5c35b390b1187dd05040cdde193d6eda853dca5605029e2759bb29f70afa3faf3a22facc75b7a79c561729cacfb2e4d08162abc1f8f89ddff27b73c13c88eefdd65d9bbbb1d6e77266918e138bfeff6754e0aee230dd75b8b2af42199406a7a8afb163cb250777f31c7201c7e0bea0a8e77a087efe021c12d0faae8e0fe38b5457c0a26d8cc9b8b766dcac15427201ee99457c988a8fe1f78dca66990c5424d671fc44c6f26097a9dd1e72106cc6db849c10e726118809117eb6127eb0c1ad84d7f9c68cfe3f7df63a7b7ce340baa60502cd075437e2aeacb9220f8c8d179c3da078be6aa966c8ae1d4bc7d3e0894f825bceac569d3af9e1580240a4d1a594a4ad4a74810f115481362a160cd965de180bf37bc8df6be746c774461f5652ac0e99b51cef84020d386ad0e9ff750054d0765dd04541c12cfb6efd6ad7fd56f3052e16b6522bd315df240e83f3d2c80531d014f561301935f6ae5d6e024b9ce23e4e585a70baf83ed1ddb0c43651412fc9f3970c2cb2386b400dc932f6db4acc2c3b997d3887efb327c56bc56cf93b5eb2a50564f187a94e8f6982fc149bce10f49a3fadb0b5f9242172bc8ff2c09ad143fb98878affa60c0281f9d255dae191b291bdc3c1b4ba3c962006b4fb75cd371c4623c29937b43052a2c84697011508fb30b75d125a7a3a70f7d0e903a8294d41ab26c6b17d85564242422e342a834fe7db977d1d7118273738843ff146e7bd4cb718226ec6483f13f49c6e75fb6c24bdea179a8e6a2da1c0da39ff2b82559b742bf718b3ff176d654b240c84f40e651d00b9828f67e940d9acd6f7cb039f0872bb7de344431527e1ca2d8a6fd6dc93626684a5a77aaee985367b3b883fba76677c18af5f735920988d07a7ce3090f16aeced6381e35ad4c257369301a8bf1b4e8ee75a763025cfa6a3382d01f5e739340f41c116c86f1bb420f79687139b3664d44921de8d2ab2d7d1b5d523f8684281f55e63ac91779a287583c0b2147b8a782d993cc1c3d0cd0c91ce95c4df00228edde8914f62f06b962f4fde89090304a140ac50e8a13c72c83b5d69f557cc00bf3ef0edb811152e3461b5539afa0607ebf7c3be8ea57b29a5ee4b03efb2f36b94457ea421ae443e7a8e7180af30a272278af16bd27118da5be2eac58d421e923bedea62c21ac7c68bb012f7ec0d4490c1ebac0f20c961ca98dcec7bc9709744b5bd30fff25697965d0ce03a64d4b4f49e55e24c851262f4b0fa7c9b92daecc8101c9907336180918a6877061dcf856167c7bc32a543105542bfc10e91589cc54a64453986494604f3b5262cffc9fb19094905a3f22ffd65c9118ffae223f5da84bd2eb9dcd7ccfc908796ec266528313618018b16e4fdb7a8f2a7799cfde0a8c511aad1c3b177f89378563b8eff3eb3c79442da19f8b07fd5192b647a5719f79fe0ee5c05e1c65ee584ca502a902910fb58c57bed5f1e18b02e340a2e7c8cb899a8bb847249e11249aca24678bce910b1b70817dcd5de96e143d50881c5389da2dee803c64dab89d12bcced6db690603e62b49bdf47710a08cedf4722705c2b6c5969c98138f099021d1bdec1b02de4fbcedf9ec63a95aa8bfa7a5636d0f972deb5f070b6b2b423cfe9f9a81de77561f407354c064bcee5ddae75fbfb2b34a262214a4b9a8e83ea0118b78c1230600e80c848897c9b7027cf213f9602db5c5d7f8eeead1ea018839b454d173a9c9a5d569c6c8d2c36f76489982f641db756921e237b826f70b8c00edf85a9225c192e36ac6c2002e8801e9bcba55731763972c3085558a38814659fccafb377158d7ecce802ccea30939d309b5aee4892d2aa065abc720d64fa468d34eee71ea90605e632e47d484317eda31841672679de78ee9a495779cc4074c531225e1284c9d9dd4e2fd0a502bf74c42f95c2443ab6509e2f4f6cadf576a56cbe217a41287748232f17f76ffc6296874d200b90b41bc22a7a72014c0b791039fd7a2a86d84320fccf21c2e1cf8c0f05b9af87eb3c7ab14fde69f766ce115a96f0a562083fbbf68e0f306a15fc581cc7ee9381fdaa7516ccb0c73adf1432ce34b05ba36bb7d0fbb361da73bf8194c97d18e0e0f12664aa7af0a4a0efacc881cd009f4c33a219be59da5620c680c6fa80cfed1601be2163937ce6f36a48ed74d4c2f8a5212c8f43bbc9ab4887a1edde772ec792d76df0113bfba1dfa3b62c2425c687815471c409c207e6d3560a1ca23935ad8be4ff51cc179004a82ec03baa66fa54d066642ca60c307562502a4c168df1959cb62c7c68bacbab35b26b60a4f88f7fbf526e4ab2a864ab3dcccb0d27d3a0c94ff6cee110f0deb48941500fac422a9499c87ac5cd7932914fd62aa15b540e05fc"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_ipt={0xd0, 0xb, 0x0, 0x0, {{0x8}, {0x14, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}]}, {0x96, 0x6, "a53043fc9a7768457bdfa326f1af496ac813385c004762cda12bdb06638fdb70bd951358fb817d8a0ed1aa76cae8a0248923c446012e71cb46aea889cd159b1ab6bc542aa538aa03e22d3e8a55430fcb2a81beded0e7fe2e887984b10791afdfd7760c518546a0d7f0ae618918ea648febe23da50db244aa4850bc9895654509903f537dc8512518510d65d6b8a1c6129b5b"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x22d68454d6acb4}}}}, @m_csum={0x178, 0x15, 0x0, 0x0, {{0x9}, {0x74, 0x2, 0x0, 0x1, [@TCA_CSUM_PARMS={0x1c, 0x1, {{0x7, 0x9, 0x4, 0xffffffff, 0x4}, 0x55}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0x2, 0x0, 0xeb, 0x7}, 0x12}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x1, 0x80, 0xffffffffffffffff, 0x5, 0x7ff}, 0x32}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0xfffffffd, 0x0, 0x80000000}, 0x25}}]}, {0xd9, 0x6, "e08f0861c1055f771c507f23b39a6eb272b2d6e393b95aaa10b9d742061aaacf7c7ba256e643f19c3b4b91692e56c7d4d139152edb59f3382cc2be684bd0094d6de74bc9ea58487e8abe0902a5ac1854f8203f4dfee4dd25da35682d2c5922132344fc20521edf6467e44a73faac0d8fe659a3a7759e94a03cf34bdd51e6a299e747d15b9e6c0cf03098bdb2de463ef3b6d8cf1966eb7da683c53a4ada07c140c84cdf9d850b51ba7640b810be7cc4803c28d6fc2bdab164e77b5217419ecd9c786a455baecb63c1b2418263a01484fcea84382e5c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x1}}}}, @m_police={0x4e8, 0x1d, 0x0, 0x0, {{0xb}, {0x4a0, 0x2, 0x0, 0x1, [[@TCA_POLICE_TBF={0x3c, 0x1, {0x1, 0x1, 0x61, 0x6, 0x5ce, {0x1f, 0x1, 0xfff, 0xc9, 0x5, 0x100}, {0x5, 0x1, 0x1000, 0x3800, 0x7, 0x5}, 0x80, 0x1, 0x8}}, @TCA_POLICE_RESULT={0x8, 0x5, 0x8}, @TCA_POLICE_RATE64={0xc, 0x8, 0x100}, @TCA_POLICE_RATE64={0xc, 0x8, 0x7}, @TCA_POLICE_TBF={0x3c, 0x1, {0x38, 0x7, 0x3, 0x3, 0x3, {0x7, 0x2, 0x20, 0x9cb, 0x4, 0x4b}, {0x1, 0x1, 0x9, 0xfff7, 0x8, 0x2}, 0x5, 0x2, 0x2}}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x6f5c5490, 0x1, 0xffff, 0xffff, 0x3, 0x110371ea, 0x0, 0x0, 0x6, 0x8000, 0x1f, 0x9, 0x2f01, 0x7fffffff, 0x3f, 0x7fffffff, 0x871, 0x1f, 0x0, 0x0, 0xf6, 0xfffffffc, 0x4, 0x7ff, 0xffff, 0x2, 0xbb9, 0x1000, 0x1, 0x2, 0x5, 0x7, 0x8, 0x401, 0xff, 0x7, 0xfffffff8, 0x4, 0x9, 0x5, 0x7, 0x1000, 0x8, 0x1df, 0x7f, 0x326, 0x6, 0x6, 0x6, 0x8, 0x509e, 0x639afd44, 0xff, 0x0, 0x3, 0xa4a1, 0x4, 0x5, 0xcf, 0xff, 0xb70, 0x47a5, 0x5, 0x8, 0x0, 0xfffffff7, 0x6, 0x9, 0x7, 0xffffffc1, 0x13c6, 0x6, 0x800, 0x8000, 0x9, 0xfffffff7, 0x8, 0x0, 0x4, 0x82, 0xa84a, 0x1, 0x569, 0xdc0, 0x44, 0x7, 0x0, 0xa8, 0x7, 0x9, 0x0, 0xffff, 0x1f, 0x7ff, 0x3, 0x9, 0x0, 0x7fffffff, 0x8, 0xfff, 0x3f, 0xa02, 0x8001, 0x0, 0x4, 0x3, 0x80, 0x80000000, 0x10000, 0x4, 0xdc8, 0x401, 0xffff, 0x400, 0xd48, 0x7fffffff, 0x1, 0x401, 0x5, 0x4, 0x4, 0x80000000, 0x2, 0xffff, 0x2e, 0xc7, 0x7f, 0x5, 0x7fffffff, 0x4, 0xfffffffe, 0x2, 0xe6, 0xbb0b, 0x4, 0x5, 0x4, 0x46c92560, 0x2, 0x3ff, 0x101, 0x2, 0xfbf, 0x1000, 0x1, 0x0, 0x7, 0x9, 0x0, 0x6, 0x8, 0x9, 0x2, 0x3ff, 0x2, 0x4, 0x2, 0x1, 0x8, 0x20, 0x4, 0x7f, 0x9dc5, 0x2, 0x95d, 0xfffffe0e, 0x6c, 0x8, 0x5, 0x5, 0x8000, 0x6, 0x2, 0x3, 0xffffffff, 0x3, 0xffffffdf, 0x80, 0x4, 0xffff, 0x1ff, 0xb1, 0x9, 0x0, 0x100, 0x80000001, 0x5, 0x1f, 0x8, 0x3, 0x0, 0x200, 0x5492e77e, 0xff, 0x3, 0x1, 0x1000, 0xff, 0x5, 0x378, 0x5, 0x101, 0x81, 0x9, 0x2, 0x7, 0x4, 0x8, 0x2, 0xfffffffe, 0x1ff, 0xfffffeff, 0x8, 0x1, 0x0, 0x400, 0x4, 0x1, 0x747, 0x8, 0x1e, 0x1, 0x7ff, 0x7, 0x3, 0x8a, 0xd2, 0x40, 0x80000000, 0xb3, 0x7, 0x0, 0x0, 0x4, 0x7, 0x9, 0x100, 0x3, 0x1000, 0x20, 0x6, 0xa95, 0x6, 0x7f, 0x9, 0x0, 0x7, 0xb518, 0x101, 0x3f, 0x3c, 0xe1, 0x6, 0x1, 0x7, 0x8000]}]]}, {0x1f, 0x6, "ecd80c0b66b1e988f544adb3492b64952c03e605a3a256151fb99a"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_connmark={0xec, 0xa, 0x0, 0x0, {{0xd}, {0x74, 0x2, 0x0, 0x1, [@TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x81, 0x9, 0x7, 0x1e6, 0xffffff7f}, 0x19b}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x0, 0x7fff, 0x1, 0x401, 0x3}}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0xcc6, 0x6, 0x2, 0x7fff, 0x7}, 0x1c}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x7, 0x81, 0x10000000, 0x3ff, 0x8}, 0x1}}]}, {0x4b, 0x6, "81b22251458b0bcfc8f37ea1425c07cc939d3f8077d51f1a8146261048c30e7c89a5714fc3337cf5b9dee096474185c947ea0bd787e8337e502407eb6f80e0856c18833f917143"}, {0xc}, {0xc, 0x8, {0x3, 0x1}}}}]}, @TCA_RSVP_POLICE={0x40, 0x5, [@TCA_POLICE_TBF={0x3c, 0x1, {0x0, 0x4, 0xff, 0x7, 0x9, {0x0, 0x1, 0x4, 0x9b, 0x1, 0x8d65}, {0xa6, 0x0, 0x8, 0x1, 0x8000, 0x1}, 0xfffffffa, 0x445d, 0x4}}]}]}}, @TCA_RATE={0x6, 0x5, {0xfc}}]}, 0x24e4}, 0x1, 0x0, 0x0, 0x40000}, 0x20000041) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 296.353635][ T4488] loop1: detected capacity change from 0 to 8185 [ 296.395473][ T4488] loop1: [ 296.465564][ T4501] syz-executor.0 uses obsolete (PF_INET,SOCK_PACKET) [ 296.486334][ T4500] IPVS: length: 148 != 24 [ 296.537187][ T4488] ntfs3: loop1: Different NTFS' sector size (2048) and media sector size (512) [ 296.644620][ T4506] IPVS: length: 148 != 24 [ 296.784418][ T4504] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 21:35:55 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x27) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file1/file0\x00'}, 0x6e) getpid() sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) syz_clone3(&(0x7f0000000a00)={0x54986000, 0x0, 0x0, 0x0, {0x18}, 0x0, 0x0, 0x0, 0x0}, 0x58) sched_setattr(0x0, &(0x7f0000000280)={0x38, 0x6, 0x9, 0x400, 0x2, 0x3ff, 0x40, 0x400}, 0x0) creat(&(0x7f0000000100)='./file1\x00', 0x0) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) r3 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) r4 = openat$cgroup_procs(r3, &(0x7f0000000000)='cgroup.procs\x00', 0x2, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f0000000880)=[{{&(0x7f0000000300)=@ethernet, 0x80, &(0x7f0000000800)=[{&(0x7f0000000380)=""/151, 0x97}, {&(0x7f0000000480)=""/174, 0xae}, {&(0x7f0000000540)=""/213, 0xd5}, {&(0x7f0000000640)=""/142, 0x8e}, {&(0x7f0000000700)=""/210, 0xd2}], 0x5, &(0x7f0000001740)=""/4096, 0x1000}, 0x7f}], 0x1, 0x2000, &(0x7f00000008c0)={0x77359400}) writev(r4, &(0x7f0000000440)=[{&(0x7f0000000180)='0', 0x1}], 0x1) sched_setattr(0x0, &(0x7f00000002c0)={0x38, 0x0, 0x4a, 0x9, 0x16, 0x0, 0xe4, 0x0, 0xa32, 0x6}, 0x0) 21:35:56 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async, rerun: 64) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async, rerun: 64) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async, rerun: 32) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) (async, rerun: 32) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) (async, rerun: 64) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) (async, rerun: 64) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:35:56 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:35:56 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) (async) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000100)=@newqdisc={0x30, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_ingress={0xc}]}, 0x30}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000032c0)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xe}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) (async) r3 = openat$incfs(0xffffffffffffffff, &(0x7f0000000140)='.log\x00', 0x214000, 0x101) sendmsg$nl_route_sched(r3, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0xc85b10a5142cdcec}, 0xc, &(0x7f0000000240)={&(0x7f0000000a40)=@deltfilter={0x24e4, 0x2d, 0x4, 0x70bd29, 0x25dfdbfb, {0x0, 0x0, 0x0, r2, {0x2, 0xffff}, {0xffff}, {0x2, 0xb}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_TO={0x8, 0x2, 0x8d}]}}, @filter_kind_options=@f_cgroup={{0xb}, {0x8a8, 0x2, [@TCA_CGROUP_POLICE={0x898, 0x2, [@TCA_POLICE_RATE={0x404, 0x2, [0x8000, 0x8, 0x5, 0x1f, 0xfffffffd, 0x7fffffff, 0x68, 0x80, 0x3, 0xffffff7a, 0x1f, 0xf91, 0x1a7, 0x80, 0x20, 0x751, 0x1, 0x6, 0xffffffff, 0x5, 0x200, 0x4, 0x6, 0xea, 0x9, 0x100, 0x4, 0xfffffffd, 0x6, 0x8001, 0x7f, 0x3, 0x9, 0xffff3a10, 0x5, 0x436b, 0x1, 0x0, 0x6, 0x163, 0x10000, 0x6, 0x5, 0xfa, 0xb9, 0x10, 0x80, 0x200, 0x10000, 0x1ff, 0x4, 0x8, 0xf48, 0x8, 0x6c34, 0x1, 0x80, 0x81, 0x5, 0x1, 0x7f, 0x9, 0x3, 0x1, 0x6, 0xd637, 0x1f, 0x4, 0x2, 0x81, 0x5, 0x7c3076d9, 0x7, 0x7, 0x43, 0x2, 0x800, 0x60, 0x4, 0x8, 0x3, 0x3, 0x8, 0xce, 0x800, 0x1, 0x20000000, 0x400, 0x4, 0x8, 0x4da7, 0x101, 0x200, 0x100, 0x6, 0xffffffff, 0x10001, 0x7, 0x6277, 0x0, 0x0, 0x3ff, 0xfffffffb, 0x8, 0x40, 0x79e, 0x7fffffff, 0x3f, 0xffff, 0x9, 0xfffff001, 0xfffffffd, 0x8, 0x4f, 0x100, 0x101, 0xff4, 0x80000000, 0xfffffff9, 0x2e, 0x1, 0x101, 0x2, 0x2, 0xfffffffd, 0x800, 0x8, 0xffffffff, 0x7fff, 0x7, 0x0, 0x4, 0xf9, 0xffff0001, 0x1, 0x0, 0xbcce, 0x401, 0x5, 0x7, 0xfffffffb, 0x746, 0xe3, 0x1ff, 0x7, 0x3, 0x5, 0x3aef, 0x10000, 0x1, 0x8000, 0x419, 0x3, 0x9, 0x7, 0x4, 0xcc80, 0x5, 0x9, 0x7ff, 0x0, 0xffff, 0x9, 0x80000000, 0xe34, 0x5, 0x5, 0x1, 0xfffffff9, 0x7, 0x2, 0x0, 0x4, 0xeb0, 0x1, 0x100, 0xe1, 0x2, 0x30, 0x1, 0x1, 0x557a, 0x1f, 0x5, 0x2, 0x4, 0x0, 0x10000, 0xc06, 0x3, 0x8, 0x9, 0x8, 0x4, 0x7fffffff, 0x80000001, 0x1000, 0x7, 0x6, 0x40, 0x0, 0x3ff, 0x1000, 0x80000001, 0x400, 0x0, 0xff, 0x5, 0x3, 0x1, 0x8, 0x2, 0x5, 0xfffffffa, 0x2, 0x731, 0x2, 0x80000001, 0x3, 0x0, 0x3, 0x81, 0x90dd, 0x1, 0x1, 0x5, 0x9, 0x1, 0x0, 0x401, 0xffff, 0x7fff, 0x1, 0x1, 0xff, 0x16, 0x6, 0x8, 0x4, 0x7e4d2267, 0x8001, 0x3, 0x7, 0x4, 0x3a, 0x4, 0xffff, 0x6, 0xfffff801, 0x10000, 0x8, 0x1, 0x10001, 0x0, 0x6, 0x401]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x2, 0x3, 0x2400000, 0xff, 0x9f8, {0x6, 0x1, 0x2, 0x83c, 0x7, 0x7}, {0xff, 0x3, 0x20, 0x8, 0x960b, 0x6}, 0xfffffffd, 0x0, 0x81}}, @TCA_POLICE_RESULT={0x8, 0x5, 0xace8}, @TCA_POLICE_RATE={0x404, 0x2, [0x100, 0x0, 0x100, 0x48, 0x7ff, 0x0, 0x8, 0x7ff, 0x3, 0x0, 0x22, 0x3, 0x5f18000, 0x5f, 0x4, 0x1, 0x401, 0xbf6, 0x2, 0x0, 0x0, 0x0, 0x4, 0x8, 0x5, 0x2e, 0xffff, 0x100, 0x4, 0x7, 0x5a89, 0x2, 0x2, 0xe0, 0x10001, 0x5, 0x61, 0x2, 0x4, 0x6, 0xadfa, 0x8, 0x6, 0x5023, 0x3, 0x1, 0x92e, 0x3, 0x4, 0x8, 0x0, 0xb2, 0x5, 0x800, 0x8, 0x3, 0x4f, 0xbe, 0x21, 0x4, 0x2, 0x9, 0x1ff, 0x1ff, 0x1, 0x4, 0x0, 0x10000, 0xffffffff, 0x20, 0x379e7cbc, 0x4, 0x0, 0x200, 0xfffffff7, 0x7, 0x1, 0xffff0001, 0x800, 0x20400, 0x8, 0x6, 0x7ff, 0x5, 0x101, 0x10000, 0x7ff, 0x5, 0x50, 0x0, 0x4, 0x9, 0x101, 0xa6f, 0x8, 0x8, 0xffffffff, 0x3ff, 0x4, 0x6, 0xf5, 0x1ff, 0x7, 0x1, 0x67a1, 0x4, 0x1, 0x3, 0x100, 0x0, 0x81c, 0x0, 0x7, 0xfffffffe, 0x800, 0x9, 0x1, 0x0, 0x3f, 0x7, 0x9, 0xf15, 0xe34, 0x8f, 0x4, 0x2, 0x3, 0x7, 0x401, 0x0, 0x100, 0x3, 0x6, 0x0, 0x7, 0x0, 0x7, 0x6, 0xfff, 0x8001, 0xfc7e, 0x3, 0x7fffffff, 0x9, 0x20, 0x1f, 0x4cdb, 0x5, 0x3, 0x2, 0x40e3, 0x8, 0x72e, 0x13ac00, 0x2, 0x2, 0x659, 0x1, 0x400, 0x6b, 0x3, 0x30, 0x5, 0x800, 0x0, 0x10000, 0x0, 0x1, 0x1, 0x8000, 0xc07, 0x9, 0x4, 0x2, 0xffff, 0x6, 0x6, 0x3, 0x4, 0x3, 0x71e, 0x80000000, 0x3, 0x1000, 0x3, 0xe1b, 0x20, 0x6, 0x8, 0x1d3, 0x5, 0x5, 0x2, 0x9, 0x200, 0x10001, 0x2, 0x2, 0x800, 0x1f, 0xffffff21, 0x2, 0xffff, 0xbab, 0x6, 0x99, 0x0, 0xffff, 0x1b54, 0x5, 0x0, 0x2, 0x8000, 0xffff794c, 0xff, 0x1, 0x101, 0x3ff, 0x3, 0x5, 0x1f, 0x5, 0x10, 0x1ff, 0x101, 0xf, 0x5, 0x5, 0x10001, 0x6, 0x13e, 0x1, 0x1fb, 0xfffffff8, 0x584, 0x40, 0xccdc, 0xd2f, 0xfeb, 0x2, 0x1, 0x2, 0x9, 0x0, 0x6, 0x3f, 0x6, 0x0, 0xc72, 0x1, 0x1, 0x1, 0x5, 0xffff, 0x2, 0x80]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x3bb, 0x5, 0xb5f, 0x3, 0x100, {0x8, 0x0, 0x8, 0x8e4, 0x81}, {0x7f, 0x2, 0x3, 0x7fff, 0x101}, 0xabdf28c2, 0x5, 0x3}}, @TCA_POLICE_PEAKRATE64={0xc, 0x9, 0x8}]}, @TCA_CGROUP_EMATCHES={0xc, 0x3, 0x0, 0x1, [@TCA_EMATCH_TREE_HDR={0x8, 0x1, {0x81}}]}]}}, @TCA_RATE={0x6, 0x5, {0x1, 0x1f}}, @TCA_RATE={0x6, 0x5, {0x8, 0x60}}, @filter_kind_options=@f_rsvp6={{0xa}, {0x1bd0, 0x2, [@TCA_RSVP_PINFO={0x20, 0x4, {{0x334b, 0x2, 0x1000}, {0x60fe, 0xbd7, 0x7f}, 0x67, 0x4}}, @TCA_RSVP_ACT={0x1b6c, 0x6, [@m_nat={0x1ac, 0x3ffd, 0x0, 0x0, {{0x8}, {0xcc, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x10001, 0xd5b8, 0x8, 0x5, 0x400}, @rand_addr=0x64010100, @rand_addr=0x64010101, 0xff}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xff, 0x2, 0x2, 0x401, 0x5e6}, @initdev={0xac, 0x1e, 0x0, 0x0}, @loopback, 0xff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x9, 0x1, 0x1, 0x1000, 0x8001}, @local, @multicast1, 0x0, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xd, 0x1, 0x8, 0x1e5, 0x6}, @dev={0xac, 0x14, 0x14, 0x1d}, @local, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xfffffffa, 0x0, 0x2, 0x4, 0x5}, @multicast2, @multicast1, 0x0, 0x1}}]}, {0xbc, 0x6, "7f1ddfe318b3d4316565898610842a731038c7479a8bddc08057d4e20e2f904d23fd2fd9f48536934baa0363dc292bfafd4edcfbb5645ed176c4b0d6355d8c82c886f4e078e18716afa18c0063cca036f17ed9fd54bf06dee03316a09d6b8552bfe3bd699a200796079fffed827fbc3d553166d0550e595dafa7b864bcc0bd14ac8d6db93e2d0915a6c54aa0bf1c69d9f9d2a1bdad6fe1d4148c5e06691bafa10713b2191707c61718afea0eaaf6c3252e20e5817c53cdef"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x2, 0x1}}}}, @m_vlan={0x78, 0xa, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x43, 0x6, "ad1221ddd640b9b75b263bd48af56e7d1920ec46245cec166b8425581b3e2e6b6c799d28e7c4e6744e525ea2a6cbccbc53e4adcc2cf6e4f44d1e72d56421ed"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_xt={0x1128, 0x14, 0x0, 0x0, {{0x7}, {0x100, 0x2, 0x0, 0x1, [@TCA_IPT_TABLE={0x24, 0x1, 'raw\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x2}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}, @TCA_IPT_TABLE={0x24, 0x1, 'mangle\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x81}, @TCA_IPT_TARG={0x4b, 0x6, {0xd5, 'security\x00', 0x20, 0x8, "262202c5d6dbcc50682369498f88ded40c8cc131eee6644e6bb2f27d0dc5055561"}}, @TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}]}, {0x1004, 0x6, "2fe2ebd210e0c2a731db0012c72c036411389cfedee3efa4d7d2307675ba52883613b8bea912f4aaa9b3a799a527b304644e0bb3c9f66b7830c7e04e6a8852915b865a4e835729d260c90a71c984f2a4d9dd39337cae446bea24dafd2c51fbd9b091d962754639ff239360b2a39b12ee288ad596cc33ebd6a838cfa2d3eda14fcf340878f805fef91911437c7b1cc814a1ff18115d213c18363f210d4817b5ebf91301d9556e7e8495df34e99cead1cad82e3aa2a1054d473de06d14c260341aeb35c9bd41531da28d086869ee0413de7fbbe39efc8bc0420a5cdd7acb3deba22587e5ba44a5629b1a8e9d8d1cb22873af92b952730e9f9638b96b87bb27f412a909c25e55ae02b46dff05b8d0b520183ed1e9ff8529f8ca6e49f3b0fcd6d6f9273766bde460604272c6eff73553c68e70591146f49d7d5cd424dfc19b38448ff80d208e7e7aa744c325749a33dd82708a4f31d6edb725e09b0cc3db278befc6e488f7dc5bd3301a322817cdddcb7efba693fc75ba1f7c74571149317e6e78519b3bacb36d0deca331ce73a32cc95b1e69ef214e9d55f115649d369c98ba4b34801b9c41f82107b067899dc3b313e4723edec1ce054c5373d2b351094ebed7a321511b8a75c4da55b17a2ad4a58d04f5132b668721ae8f6f66b3b0a223d214c5d393e92be68f8a6c186ca191538d0c03a6b001588364dc70583f7bb12989fed4e5cb40df28d8c46a54abefca580973f2e9e870172738352c3ba3d6692e43af8a3cf9100b26a72cbea04a1543181f3f2089b0153bca71219130582a3d63e845449b365f66a75ecb2121979666f59178735885c010e2c205d235ef972351306cb152762241b6af5e57bb9c1f8b072bf000fe8187d6c04a7807ec629e8c873053b40e5e51a687aec92528feabef583272dda0a6ef76a9d9851d6a121dde2c7e5ab7a4c33da5a6c62852de6f0e00218a5e2412ba4e19ef3c8df1d54186ca15afed9403184036143e4c76073266f4a561ac002df6e8e8be609b828d801cfdc146ddd32a1ba45f8d20a8a880aa2f2bbfece6b6c5eca4474c22a7c0ac397ae9a909780617a78956c601e9714f8c29179bfb54d702206ee2e47520024ac2c0b22a8d235f28b3a6b16b45dbc335a40cc56d41222e4620970d96e7ea361a7ec4e18104c265a86f6a59e02c0c3b20cee647ef8c5bf4d75588d27547f404da8c1e518eeaa3217d1ae315bfe57672d13ba867d97248ab833c75a76baf79cda0ae4c1c62de251837653f6c36208ceacedb5ad4df4ebfc40e20a54643040a9d4a08c047279cc16beac1346df0511e4942dfad50bcaeefe406d69a2b5ccca6c35fa24b368c105043ac0996aaed2057bf1aed0e649693aa9327008dfa5690b3a3875063e4621eb3483cdaaa55f6aa03cc51012448c61d6546c34b6a41b57f350d46b746c8e60a2167d1622d9c6854d30e494afc2efd8d7bb7e4d8768ea31975bb25a09678d6739e75291eabe3a7becbd17c759665402f83368b8e3bc860fab44176e6462f978207f5c1304b7d9d215303a2bc10186e8e086815a9c7edbebd9c657b9b7f10d1ee6041c01734b1ab39b149b0ca57775b01dc8d09ed320b4ef412b215a8a4d6aa88fc84a494479c4f976d1917b6f2653ca2ffafc84da009dd58b2bd43f919bdbd25935afa6d874da40f252b35e06eb6d8a01019f0abd2172ff5235338d903ff802860415a291851dabb2362607e2e53627c114ec533e057f466284322b87a9694e948b9f278a614a91fb6dba23340bc16d5fb54ee2b50542f7cc76ede6fe050c720d40a0a01f11108ddd1137c54b76752452e3321207b1dd9f546a850cf1412ddea217ecf250e8acdef907cee8b953bd98274cc6c1107694442415952997257ac1e03ad522feec9e808a335eca611061c7e38cce16677989f44e1ff3c1da6b921e7941f109e008eefa72fecf1a5b31a0b25c562622efa1827cb3cfc0b707d81047e600540b09f9d5129b84857226e1218ccb643a43ba1de833acd8898dc987469fe07a81e33a68136ea94d28c2a41084919196ab0823ffc94991300b85332fca07bc18d33d4c191fda668f58ee040dc71c9d4e37dcfd083005488c410ac9b9031879448b3049f16778151f71f7c8d59e554ae56d997beea19b3bd00e3627a6758d741e615239840a54dc50a4e8cbf9cffb704dbe1a42c4ddeafa030b6c78b4378a389db3cb8ca693d30b560965f34aaa5887d497f5c20641b809318cd5270f8598dcab0a61767fd14470e935b77e238751264c6f9bd71a3481d16e9ec326ef8103de6092f0f03e0ec72532b49394ba3479d9e78f7862da4a86563548c871d898ea99bef800d12a1d7f29db871a1d6bdb187b5eb947c780098056b2f2e9d51069520c27873f0b83effd63d7044a8f5070271671c52e620643fd34f0f6e0c3a12f7aa5ada82e434eb3646e2c4cb0fcb8dfe7d09cb7b65e00f860f597e9e33b7eb646e4e7877c56b201b6e6d9f7b0311d73231375c96540d7d6e293f94f1383a4a7f78aea8c460e462f93fdff2e15219520769f13191e73bc836c9a1fee3518b40c55ff85e04f9f50608021100afe41aedbf89f24e0e1c0fbecf6674d71810f5c894ee4170c12671c984d15b354b0d0e86cd55e1b9dbf76b9679dbb6ed023bc8a958491c6fc7eace79811a31923ea39ac13e3f700729aa2cdcd5321ba3fb5e4b298d691c6d9e0510fa9438e151df21c3f70c02760800887756e3194bf051e4f983dbb435081b824560093b3a57d640a46e84ceeda4deea885883e1d6798dea6217ee969177bb5274100c6ebf41b421274638bd0cbd097cfd5bb77243ee344891d00c5f824a7b1a0331393e57b0a00c46d0b81bb1f2b419a3ee5ae9f6067b13777bd639d9568f3cd6446802fccbbe3241836398e35f2b035d79fb0d409746144fb9cec9f624055278386f9fbf30df242efc0a9a42762ed57df65a90c722ad4a754c7554d2a653ae338740215d9453a66ada1c42441b077f108b7d42d23e98c675675e0e3bf6dd743711e33fe60479c1d8c7605c25fd14f337ad29214ae75ac9e71264c81aadbff4146a0d8b93b1022f08f1b10bb29bcabe6a2c7a2750aea34f191c84d7b21c1f67858b9ef2aca668331c6f95407b2ec58c268e7d1f24278a4539b4ab6ad81cb3e2ca75cbd70c20b2d98ea9b48c0f88fee9f61c756fc24cc9d2abb5f0d4ac8dcb1b1ed54d542ab4900b064258c24a16c6f31b9b36a56e864ef212dbf07a9425e36d57a3c597593bae701b7aed3e562b3cb0a11517b8126ad7f945392ebe7366435fef93bfded20ba612a24d36d894718ae562fe48c81d5d639610936b5812b93c9af59964c8304225be22a77eacb068fa612ca2b17fb54fcd8df0e953cbea087cece20acb5c35b390b1187dd05040cdde193d6eda853dca5605029e2759bb29f70afa3faf3a22facc75b7a79c561729cacfb2e4d08162abc1f8f89ddff27b73c13c88eefdd65d9bbbb1d6e77266918e138bfeff6754e0aee230dd75b8b2af42199406a7a8afb163cb250777f31c7201c7e0bea0a8e77a087efe021c12d0faae8e0fe38b5457c0a26d8cc9b8b766dcac15427201ee99457c988a8fe1f78dca66990c5424d671fc44c6f26097a9dd1e72106cc6db849c10e726118809117eb6127eb0c1ad84d7f9c68cfe3f7df63a7b7ce340baa60502cd075437e2aeacb9220f8c8d179c3da078be6aa966c8ae1d4bc7d3e0894f825bceac569d3af9e1580240a4d1a594a4ad4a74810f115481362a160cd965de180bf37bc8df6be746c774461f5652ac0e99b51cef84020d386ad0e9ff750054d0765dd04541c12cfb6efd6ad7fd56f3052e16b6522bd315df240e83f3d2c80531d014f561301935f6ae5d6e024b9ce23e4e585a70baf83ed1ddb0c43651412fc9f3970c2cb2386b400dc932f6db4acc2c3b997d3887efb327c56bc56cf93b5eb2a50564f187a94e8f6982fc149bce10f49a3fadb0b5f9242172bc8ff2c09ad143fb98878affa60c0281f9d255dae191b291bdc3c1b4ba3c962006b4fb75cd371c4623c29937b43052a2c84697011508fb30b75d125a7a3a70f7d0e903a8294d41ab26c6b17d85564242422e342a834fe7db977d1d7118273738843ff146e7bd4cb718226ec6483f13f49c6e75fb6c24bdea179a8e6a2da1c0da39ff2b82559b742bf718b3ff176d654b240c84f40e651d00b9828f67e940d9acd6f7cb039f0872bb7de344431527e1ca2d8a6fd6dc93626684a5a77aaee985367b3b883fba76677c18af5f735920988d07a7ce3090f16aeced6381e35ad4c257369301a8bf1b4e8ee75a763025cfa6a3382d01f5e739340f41c116c86f1bb420f79687139b3664d44921de8d2ab2d7d1b5d523f8684281f55e63ac91779a287583c0b2147b8a782d993cc1c3d0cd0c91ce95c4df00228edde8914f62f06b962f4fde89090304a140ac50e8a13c72c83b5d69f557cc00bf3ef0edb811152e3461b5539afa0607ebf7c3be8ea57b29a5ee4b03efb2f36b94457ea421ae443e7a8e7180af30a272278af16bd27118da5be2eac58d421e923bedea62c21ac7c68bb012f7ec0d4490c1ebac0f20c961ca98dcec7bc9709744b5bd30fff25697965d0ce03a64d4b4f49e55e24c851262f4b0fa7c9b92daecc8101c9907336180918a6877061dcf856167c7bc32a543105542bfc10e91589cc54a64453986494604f3b5262cffc9fb19094905a3f22ffd65c9118ffae223f5da84bd2eb9dcd7ccfc908796ec266528313618018b16e4fdb7a8f2a7799cfde0a8c511aad1c3b177f89378563b8eff3eb3c79442da19f8b07fd5192b647a5719f79fe0ee5c05e1c65ee584ca502a902910fb58c57bed5f1e18b02e340a2e7c8cb899a8bb847249e11249aca24678bce910b1b70817dcd5de96e143d50881c5389da2dee803c64dab89d12bcced6db690603e62b49bdf47710a08cedf4722705c2b6c5969c98138f099021d1bdec1b02de4fbcedf9ec63a95aa8bfa7a5636d0f972deb5f070b6b2b423cfe9f9a81de77561f407354c064bcee5ddae75fbfb2b34a262214a4b9a8e83ea0118b78c1230600e80c848897c9b7027cf213f9602db5c5d7f8eeead1ea018839b454d173a9c9a5d569c6c8d2c36f76489982f641db756921e237b826f70b8c00edf85a9225c192e36ac6c2002e8801e9bcba55731763972c3085558a38814659fccafb377158d7ecce802ccea30939d309b5aee4892d2aa065abc720d64fa468d34eee71ea90605e632e47d484317eda31841672679de78ee9a495779cc4074c531225e1284c9d9dd4e2fd0a502bf74c42f95c2443ab6509e2f4f6cadf576a56cbe217a41287748232f17f76ffc6296874d200b90b41bc22a7a72014c0b791039fd7a2a86d84320fccf21c2e1cf8c0f05b9af87eb3c7ab14fde69f766ce115a96f0a562083fbbf68e0f306a15fc581cc7ee9381fdaa7516ccb0c73adf1432ce34b05ba36bb7d0fbb361da73bf8194c97d18e0e0f12664aa7af0a4a0efacc881cd009f4c33a219be59da5620c680c6fa80cfed1601be2163937ce6f36a48ed74d4c2f8a5212c8f43bbc9ab4887a1edde772ec792d76df0113bfba1dfa3b62c2425c687815471c409c207e6d3560a1ca23935ad8be4ff51cc179004a82ec03baa66fa54d066642ca60c307562502a4c168df1959cb62c7c68bacbab35b26b60a4f88f7fbf526e4ab2a864ab3dcccb0d27d3a0c94ff6cee110f0deb48941500fac422a9499c87ac5cd7932914fd62aa15b540e05fc"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_ipt={0xd0, 0xb, 0x0, 0x0, {{0x8}, {0x14, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}]}, {0x96, 0x6, "a53043fc9a7768457bdfa326f1af496ac813385c004762cda12bdb06638fdb70bd951358fb817d8a0ed1aa76cae8a0248923c446012e71cb46aea889cd159b1ab6bc542aa538aa03e22d3e8a55430fcb2a81beded0e7fe2e887984b10791afdfd7760c518546a0d7f0ae618918ea648febe23da50db244aa4850bc9895654509903f537dc8512518510d65d6b8a1c6129b5b"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x22d68454d6acb4}}}}, @m_csum={0x178, 0x15, 0x0, 0x0, {{0x9}, {0x74, 0x2, 0x0, 0x1, [@TCA_CSUM_PARMS={0x1c, 0x1, {{0x7, 0x9, 0x4, 0xffffffff, 0x4}, 0x55}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0x2, 0x0, 0xeb, 0x7}, 0x12}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x1, 0x80, 0xffffffffffffffff, 0x5, 0x7ff}, 0x32}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0xfffffffd, 0x0, 0x80000000}, 0x25}}]}, {0xd9, 0x6, "e08f0861c1055f771c507f23b39a6eb272b2d6e393b95aaa10b9d742061aaacf7c7ba256e643f19c3b4b91692e56c7d4d139152edb59f3382cc2be684bd0094d6de74bc9ea58487e8abe0902a5ac1854f8203f4dfee4dd25da35682d2c5922132344fc20521edf6467e44a73faac0d8fe659a3a7759e94a03cf34bdd51e6a299e747d15b9e6c0cf03098bdb2de463ef3b6d8cf1966eb7da683c53a4ada07c140c84cdf9d850b51ba7640b810be7cc4803c28d6fc2bdab164e77b5217419ecd9c786a455baecb63c1b2418263a01484fcea84382e5c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x1}}}}, @m_police={0x4e8, 0x1d, 0x0, 0x0, {{0xb}, {0x4a0, 0x2, 0x0, 0x1, [[@TCA_POLICE_TBF={0x3c, 0x1, {0x1, 0x1, 0x61, 0x6, 0x5ce, {0x1f, 0x1, 0xfff, 0xc9, 0x5, 0x100}, {0x5, 0x1, 0x1000, 0x3800, 0x7, 0x5}, 0x80, 0x1, 0x8}}, @TCA_POLICE_RESULT={0x8, 0x5, 0x8}, @TCA_POLICE_RATE64={0xc, 0x8, 0x100}, @TCA_POLICE_RATE64={0xc, 0x8, 0x7}, @TCA_POLICE_TBF={0x3c, 0x1, {0x38, 0x7, 0x3, 0x3, 0x3, {0x7, 0x2, 0x20, 0x9cb, 0x4, 0x4b}, {0x1, 0x1, 0x9, 0xfff7, 0x8, 0x2}, 0x5, 0x2, 0x2}}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x6f5c5490, 0x1, 0xffff, 0xffff, 0x3, 0x110371ea, 0x0, 0x0, 0x6, 0x8000, 0x1f, 0x9, 0x2f01, 0x7fffffff, 0x3f, 0x7fffffff, 0x871, 0x1f, 0x0, 0x0, 0xf6, 0xfffffffc, 0x4, 0x7ff, 0xffff, 0x2, 0xbb9, 0x1000, 0x1, 0x2, 0x5, 0x7, 0x8, 0x401, 0xff, 0x7, 0xfffffff8, 0x4, 0x9, 0x5, 0x7, 0x1000, 0x8, 0x1df, 0x7f, 0x326, 0x6, 0x6, 0x6, 0x8, 0x509e, 0x639afd44, 0xff, 0x0, 0x3, 0xa4a1, 0x4, 0x5, 0xcf, 0xff, 0xb70, 0x47a5, 0x5, 0x8, 0x0, 0xfffffff7, 0x6, 0x9, 0x7, 0xffffffc1, 0x13c6, 0x6, 0x800, 0x8000, 0x9, 0xfffffff7, 0x8, 0x0, 0x4, 0x82, 0xa84a, 0x1, 0x569, 0xdc0, 0x44, 0x7, 0x0, 0xa8, 0x7, 0x9, 0x0, 0xffff, 0x1f, 0x7ff, 0x3, 0x9, 0x0, 0x7fffffff, 0x8, 0xfff, 0x3f, 0xa02, 0x8001, 0x0, 0x4, 0x3, 0x80, 0x80000000, 0x10000, 0x4, 0xdc8, 0x401, 0xffff, 0x400, 0xd48, 0x7fffffff, 0x1, 0x401, 0x5, 0x4, 0x4, 0x80000000, 0x2, 0xffff, 0x2e, 0xc7, 0x7f, 0x5, 0x7fffffff, 0x4, 0xfffffffe, 0x2, 0xe6, 0xbb0b, 0x4, 0x5, 0x4, 0x46c92560, 0x2, 0x3ff, 0x101, 0x2, 0xfbf, 0x1000, 0x1, 0x0, 0x7, 0x9, 0x0, 0x6, 0x8, 0x9, 0x2, 0x3ff, 0x2, 0x4, 0x2, 0x1, 0x8, 0x20, 0x4, 0x7f, 0x9dc5, 0x2, 0x95d, 0xfffffe0e, 0x6c, 0x8, 0x5, 0x5, 0x8000, 0x6, 0x2, 0x3, 0xffffffff, 0x3, 0xffffffdf, 0x80, 0x4, 0xffff, 0x1ff, 0xb1, 0x9, 0x0, 0x100, 0x80000001, 0x5, 0x1f, 0x8, 0x3, 0x0, 0x200, 0x5492e77e, 0xff, 0x3, 0x1, 0x1000, 0xff, 0x5, 0x378, 0x5, 0x101, 0x81, 0x9, 0x2, 0x7, 0x4, 0x8, 0x2, 0xfffffffe, 0x1ff, 0xfffffeff, 0x8, 0x1, 0x0, 0x400, 0x4, 0x1, 0x747, 0x8, 0x1e, 0x1, 0x7ff, 0x7, 0x3, 0x8a, 0xd2, 0x40, 0x80000000, 0xb3, 0x7, 0x0, 0x0, 0x4, 0x7, 0x9, 0x100, 0x3, 0x1000, 0x20, 0x6, 0xa95, 0x6, 0x7f, 0x9, 0x0, 0x7, 0xb518, 0x101, 0x3f, 0x3c, 0xe1, 0x6, 0x1, 0x7, 0x8000]}]]}, {0x1f, 0x6, "ecd80c0b66b1e988f544adb3492b64952c03e605a3a256151fb99a"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_connmark={0xec, 0xa, 0x0, 0x0, {{0xd}, {0x74, 0x2, 0x0, 0x1, [@TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x81, 0x9, 0x7, 0x1e6, 0xffffff7f}, 0x19b}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x0, 0x7fff, 0x1, 0x401, 0x3}}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0xcc6, 0x6, 0x2, 0x7fff, 0x7}, 0x1c}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x7, 0x81, 0x10000000, 0x3ff, 0x8}, 0x1}}]}, {0x4b, 0x6, "81b22251458b0bcfc8f37ea1425c07cc939d3f8077d51f1a8146261048c30e7c89a5714fc3337cf5b9dee096474185c947ea0bd787e8337e502407eb6f80e0856c18833f917143"}, {0xc}, {0xc, 0x8, {0x3, 0x1}}}}]}, @TCA_RSVP_POLICE={0x40, 0x5, [@TCA_POLICE_TBF={0x3c, 0x1, {0x0, 0x4, 0xff, 0x7, 0x9, {0x0, 0x1, 0x4, 0x9b, 0x1, 0x8d65}, {0xa6, 0x0, 0x8, 0x1, 0x8000, 0x1}, 0xfffffffa, 0x445d, 0x4}}]}]}}, @TCA_RATE={0x6, 0x5, {0xfc}}]}, 0x24e4}, 0x1, 0x0, 0x0, 0x40000}, 0x20000041) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) 21:35:56 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async, rerun: 32) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async, rerun: 32) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) (async) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) socket$inet(0x2, 0xa, 0x6) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) (async) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) (async, rerun: 64) r4 = socket$inet6(0xa, 0x2, 0x0) (rerun: 64) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) (async) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) (async) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) [ 297.609541][ T4522] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 21:35:56 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000100)=@newqdisc={0x30, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_ingress={0xc}]}, 0x30}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000032c0)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xe}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) r3 = openat$incfs(0xffffffffffffffff, &(0x7f0000000140)='.log\x00', 0x214000, 0x101) sendmsg$nl_route_sched(r3, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0xc85b10a5142cdcec}, 0xc, &(0x7f0000000240)={&(0x7f0000000a40)=@deltfilter={0x24e4, 0x2d, 0x4, 0x70bd29, 0x25dfdbfb, {0x0, 0x0, 0x0, r2, {0x2, 0xffff}, {0xffff}, {0x2, 0xb}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_TO={0x8, 0x2, 0x8d}]}}, @filter_kind_options=@f_cgroup={{0xb}, {0x8a8, 0x2, [@TCA_CGROUP_POLICE={0x898, 0x2, [@TCA_POLICE_RATE={0x404, 0x2, [0x8000, 0x8, 0x5, 0x1f, 0xfffffffd, 0x7fffffff, 0x68, 0x80, 0x3, 0xffffff7a, 0x1f, 0xf91, 0x1a7, 0x80, 0x20, 0x751, 0x1, 0x6, 0xffffffff, 0x5, 0x200, 0x4, 0x6, 0xea, 0x9, 0x100, 0x4, 0xfffffffd, 0x6, 0x8001, 0x7f, 0x3, 0x9, 0xffff3a10, 0x5, 0x436b, 0x1, 0x0, 0x6, 0x163, 0x10000, 0x6, 0x5, 0xfa, 0xb9, 0x10, 0x80, 0x200, 0x10000, 0x1ff, 0x4, 0x8, 0xf48, 0x8, 0x6c34, 0x1, 0x80, 0x81, 0x5, 0x1, 0x7f, 0x9, 0x3, 0x1, 0x6, 0xd637, 0x1f, 0x4, 0x2, 0x81, 0x5, 0x7c3076d9, 0x7, 0x7, 0x43, 0x2, 0x800, 0x60, 0x4, 0x8, 0x3, 0x3, 0x8, 0xce, 0x800, 0x1, 0x20000000, 0x400, 0x4, 0x8, 0x4da7, 0x101, 0x200, 0x100, 0x6, 0xffffffff, 0x10001, 0x7, 0x6277, 0x0, 0x0, 0x3ff, 0xfffffffb, 0x8, 0x40, 0x79e, 0x7fffffff, 0x3f, 0xffff, 0x9, 0xfffff001, 0xfffffffd, 0x8, 0x4f, 0x100, 0x101, 0xff4, 0x80000000, 0xfffffff9, 0x2e, 0x1, 0x101, 0x2, 0x2, 0xfffffffd, 0x800, 0x8, 0xffffffff, 0x7fff, 0x7, 0x0, 0x4, 0xf9, 0xffff0001, 0x1, 0x0, 0xbcce, 0x401, 0x5, 0x7, 0xfffffffb, 0x746, 0xe3, 0x1ff, 0x7, 0x3, 0x5, 0x3aef, 0x10000, 0x1, 0x8000, 0x419, 0x3, 0x9, 0x7, 0x4, 0xcc80, 0x5, 0x9, 0x7ff, 0x0, 0xffff, 0x9, 0x80000000, 0xe34, 0x5, 0x5, 0x1, 0xfffffff9, 0x7, 0x2, 0x0, 0x4, 0xeb0, 0x1, 0x100, 0xe1, 0x2, 0x30, 0x1, 0x1, 0x557a, 0x1f, 0x5, 0x2, 0x4, 0x0, 0x10000, 0xc06, 0x3, 0x8, 0x9, 0x8, 0x4, 0x7fffffff, 0x80000001, 0x1000, 0x7, 0x6, 0x40, 0x0, 0x3ff, 0x1000, 0x80000001, 0x400, 0x0, 0xff, 0x5, 0x3, 0x1, 0x8, 0x2, 0x5, 0xfffffffa, 0x2, 0x731, 0x2, 0x80000001, 0x3, 0x0, 0x3, 0x81, 0x90dd, 0x1, 0x1, 0x5, 0x9, 0x1, 0x0, 0x401, 0xffff, 0x7fff, 0x1, 0x1, 0xff, 0x16, 0x6, 0x8, 0x4, 0x7e4d2267, 0x8001, 0x3, 0x7, 0x4, 0x3a, 0x4, 0xffff, 0x6, 0xfffff801, 0x10000, 0x8, 0x1, 0x10001, 0x0, 0x6, 0x401]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x2, 0x3, 0x2400000, 0xff, 0x9f8, {0x6, 0x1, 0x2, 0x83c, 0x7, 0x7}, {0xff, 0x3, 0x20, 0x8, 0x960b, 0x6}, 0xfffffffd, 0x0, 0x81}}, @TCA_POLICE_RESULT={0x8, 0x5, 0xace8}, @TCA_POLICE_RATE={0x404, 0x2, [0x100, 0x0, 0x100, 0x48, 0x7ff, 0x0, 0x8, 0x7ff, 0x3, 0x0, 0x22, 0x3, 0x5f18000, 0x5f, 0x4, 0x1, 0x401, 0xbf6, 0x2, 0x0, 0x0, 0x0, 0x4, 0x8, 0x5, 0x2e, 0xffff, 0x100, 0x4, 0x7, 0x5a89, 0x2, 0x2, 0xe0, 0x10001, 0x5, 0x61, 0x2, 0x4, 0x6, 0xadfa, 0x8, 0x6, 0x5023, 0x3, 0x1, 0x92e, 0x3, 0x4, 0x8, 0x0, 0xb2, 0x5, 0x800, 0x8, 0x3, 0x4f, 0xbe, 0x21, 0x4, 0x2, 0x9, 0x1ff, 0x1ff, 0x1, 0x4, 0x0, 0x10000, 0xffffffff, 0x20, 0x379e7cbc, 0x4, 0x0, 0x200, 0xfffffff7, 0x7, 0x1, 0xffff0001, 0x800, 0x20400, 0x8, 0x6, 0x7ff, 0x5, 0x101, 0x10000, 0x7ff, 0x5, 0x50, 0x0, 0x4, 0x9, 0x101, 0xa6f, 0x8, 0x8, 0xffffffff, 0x3ff, 0x4, 0x6, 0xf5, 0x1ff, 0x7, 0x1, 0x67a1, 0x4, 0x1, 0x3, 0x100, 0x0, 0x81c, 0x0, 0x7, 0xfffffffe, 0x800, 0x9, 0x1, 0x0, 0x3f, 0x7, 0x9, 0xf15, 0xe34, 0x8f, 0x4, 0x2, 0x3, 0x7, 0x401, 0x0, 0x100, 0x3, 0x6, 0x0, 0x7, 0x0, 0x7, 0x6, 0xfff, 0x8001, 0xfc7e, 0x3, 0x7fffffff, 0x9, 0x20, 0x1f, 0x4cdb, 0x5, 0x3, 0x2, 0x40e3, 0x8, 0x72e, 0x13ac00, 0x2, 0x2, 0x659, 0x1, 0x400, 0x6b, 0x3, 0x30, 0x5, 0x800, 0x0, 0x10000, 0x0, 0x1, 0x1, 0x8000, 0xc07, 0x9, 0x4, 0x2, 0xffff, 0x6, 0x6, 0x3, 0x4, 0x3, 0x71e, 0x80000000, 0x3, 0x1000, 0x3, 0xe1b, 0x20, 0x6, 0x8, 0x1d3, 0x5, 0x5, 0x2, 0x9, 0x200, 0x10001, 0x2, 0x2, 0x800, 0x1f, 0xffffff21, 0x2, 0xffff, 0xbab, 0x6, 0x99, 0x0, 0xffff, 0x1b54, 0x5, 0x0, 0x2, 0x8000, 0xffff794c, 0xff, 0x1, 0x101, 0x3ff, 0x3, 0x5, 0x1f, 0x5, 0x10, 0x1ff, 0x101, 0xf, 0x5, 0x5, 0x10001, 0x6, 0x13e, 0x1, 0x1fb, 0xfffffff8, 0x584, 0x40, 0xccdc, 0xd2f, 0xfeb, 0x2, 0x1, 0x2, 0x9, 0x0, 0x6, 0x3f, 0x6, 0x0, 0xc72, 0x1, 0x1, 0x1, 0x5, 0xffff, 0x2, 0x80]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x3bb, 0x5, 0xb5f, 0x3, 0x100, {0x8, 0x0, 0x8, 0x8e4, 0x81}, {0x7f, 0x2, 0x3, 0x7fff, 0x101}, 0xabdf28c2, 0x5, 0x3}}, @TCA_POLICE_PEAKRATE64={0xc, 0x9, 0x8}]}, @TCA_CGROUP_EMATCHES={0xc, 0x3, 0x0, 0x1, [@TCA_EMATCH_TREE_HDR={0x8, 0x1, {0x81}}]}]}}, @TCA_RATE={0x6, 0x5, {0x1, 0x1f}}, @TCA_RATE={0x6, 0x5, {0x8, 0x60}}, @filter_kind_options=@f_rsvp6={{0xa}, {0x1bd0, 0x2, [@TCA_RSVP_PINFO={0x20, 0x4, {{0x334b, 0x2, 0x1000}, {0x60fe, 0xbd7, 0x7f}, 0x67, 0x4}}, @TCA_RSVP_ACT={0x1b6c, 0x6, [@m_nat={0x1ac, 0x3ffd, 0x0, 0x0, {{0x8}, {0xcc, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x10001, 0xd5b8, 0x8, 0x5, 0x400}, @rand_addr=0x64010100, @rand_addr=0x64010101, 0xff}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xff, 0x2, 0x2, 0x401, 0x5e6}, @initdev={0xac, 0x1e, 0x0, 0x0}, @loopback, 0xff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x9, 0x1, 0x1, 0x1000, 0x8001}, @local, @multicast1, 0x0, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xd, 0x1, 0x8, 0x1e5, 0x6}, @dev={0xac, 0x14, 0x14, 0x1d}, @local, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xfffffffa, 0x0, 0x2, 0x4, 0x5}, @multicast2, @multicast1, 0x0, 0x1}}]}, {0xbc, 0x6, "7f1ddfe318b3d4316565898610842a731038c7479a8bddc08057d4e20e2f904d23fd2fd9f48536934baa0363dc292bfafd4edcfbb5645ed176c4b0d6355d8c82c886f4e078e18716afa18c0063cca036f17ed9fd54bf06dee03316a09d6b8552bfe3bd699a200796079fffed827fbc3d553166d0550e595dafa7b864bcc0bd14ac8d6db93e2d0915a6c54aa0bf1c69d9f9d2a1bdad6fe1d4148c5e06691bafa10713b2191707c61718afea0eaaf6c3252e20e5817c53cdef"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x2, 0x1}}}}, @m_vlan={0x78, 0xa, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x43, 0x6, "ad1221ddd640b9b75b263bd48af56e7d1920ec46245cec166b8425581b3e2e6b6c799d28e7c4e6744e525ea2a6cbccbc53e4adcc2cf6e4f44d1e72d56421ed"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_xt={0x1128, 0x14, 0x0, 0x0, {{0x7}, {0x100, 0x2, 0x0, 0x1, [@TCA_IPT_TABLE={0x24, 0x1, 'raw\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x2}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}, @TCA_IPT_TABLE={0x24, 0x1, 'mangle\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x81}, @TCA_IPT_TARG={0x4b, 0x6, {0xd5, 'security\x00', 0x20, 0x8, "262202c5d6dbcc50682369498f88ded40c8cc131eee6644e6bb2f27d0dc5055561"}}, @TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}]}, {0x1004, 0x6, "2fe2ebd210e0c2a731db0012c72c036411389cfedee3efa4d7d2307675ba52883613b8bea912f4aaa9b3a799a527b304644e0bb3c9f66b7830c7e04e6a8852915b865a4e835729d260c90a71c984f2a4d9dd39337cae446bea24dafd2c51fbd9b091d962754639ff239360b2a39b12ee288ad596cc33ebd6a838cfa2d3eda14fcf340878f805fef91911437c7b1cc814a1ff18115d213c18363f210d4817b5ebf91301d9556e7e8495df34e99cead1cad82e3aa2a1054d473de06d14c260341aeb35c9bd41531da28d086869ee0413de7fbbe39efc8bc0420a5cdd7acb3deba22587e5ba44a5629b1a8e9d8d1cb22873af92b952730e9f9638b96b87bb27f412a909c25e55ae02b46dff05b8d0b520183ed1e9ff8529f8ca6e49f3b0fcd6d6f9273766bde460604272c6eff73553c68e70591146f49d7d5cd424dfc19b38448ff80d208e7e7aa744c325749a33dd82708a4f31d6edb725e09b0cc3db278befc6e488f7dc5bd3301a322817cdddcb7efba693fc75ba1f7c74571149317e6e78519b3bacb36d0deca331ce73a32cc95b1e69ef214e9d55f115649d369c98ba4b34801b9c41f82107b067899dc3b313e4723edec1ce054c5373d2b351094ebed7a321511b8a75c4da55b17a2ad4a58d04f5132b668721ae8f6f66b3b0a223d214c5d393e92be68f8a6c186ca191538d0c03a6b001588364dc70583f7bb12989fed4e5cb40df28d8c46a54abefca580973f2e9e870172738352c3ba3d6692e43af8a3cf9100b26a72cbea04a1543181f3f2089b0153bca71219130582a3d63e845449b365f66a75ecb2121979666f59178735885c010e2c205d235ef972351306cb152762241b6af5e57bb9c1f8b072bf000fe8187d6c04a7807ec629e8c873053b40e5e51a687aec92528feabef583272dda0a6ef76a9d9851d6a121dde2c7e5ab7a4c33da5a6c62852de6f0e00218a5e2412ba4e19ef3c8df1d54186ca15afed9403184036143e4c76073266f4a561ac002df6e8e8be609b828d801cfdc146ddd32a1ba45f8d20a8a880aa2f2bbfece6b6c5eca4474c22a7c0ac397ae9a909780617a78956c601e9714f8c29179bfb54d702206ee2e47520024ac2c0b22a8d235f28b3a6b16b45dbc335a40cc56d41222e4620970d96e7ea361a7ec4e18104c265a86f6a59e02c0c3b20cee647ef8c5bf4d75588d27547f404da8c1e518eeaa3217d1ae315bfe57672d13ba867d97248ab833c75a76baf79cda0ae4c1c62de251837653f6c36208ceacedb5ad4df4ebfc40e20a54643040a9d4a08c047279cc16beac1346df0511e4942dfad50bcaeefe406d69a2b5ccca6c35fa24b368c105043ac0996aaed2057bf1aed0e649693aa9327008dfa5690b3a3875063e4621eb3483cdaaa55f6aa03cc51012448c61d6546c34b6a41b57f350d46b746c8e60a2167d1622d9c6854d30e494afc2efd8d7bb7e4d8768ea31975bb25a09678d6739e75291eabe3a7becbd17c759665402f83368b8e3bc860fab44176e6462f978207f5c1304b7d9d215303a2bc10186e8e086815a9c7edbebd9c657b9b7f10d1ee6041c01734b1ab39b149b0ca57775b01dc8d09ed320b4ef412b215a8a4d6aa88fc84a494479c4f976d1917b6f2653ca2ffafc84da009dd58b2bd43f919bdbd25935afa6d874da40f252b35e06eb6d8a01019f0abd2172ff5235338d903ff802860415a291851dabb2362607e2e53627c114ec533e057f466284322b87a9694e948b9f278a614a91fb6dba23340bc16d5fb54ee2b50542f7cc76ede6fe050c720d40a0a01f11108ddd1137c54b76752452e3321207b1dd9f546a850cf1412ddea217ecf250e8acdef907cee8b953bd98274cc6c1107694442415952997257ac1e03ad522feec9e808a335eca611061c7e38cce16677989f44e1ff3c1da6b921e7941f109e008eefa72fecf1a5b31a0b25c562622efa1827cb3cfc0b707d81047e600540b09f9d5129b84857226e1218ccb643a43ba1de833acd8898dc987469fe07a81e33a68136ea94d28c2a41084919196ab0823ffc94991300b85332fca07bc18d33d4c191fda668f58ee040dc71c9d4e37dcfd083005488c410ac9b9031879448b3049f16778151f71f7c8d59e554ae56d997beea19b3bd00e3627a6758d741e615239840a54dc50a4e8cbf9cffb704dbe1a42c4ddeafa030b6c78b4378a389db3cb8ca693d30b560965f34aaa5887d497f5c20641b809318cd5270f8598dcab0a61767fd14470e935b77e238751264c6f9bd71a3481d16e9ec326ef8103de6092f0f03e0ec72532b49394ba3479d9e78f7862da4a86563548c871d898ea99bef800d12a1d7f29db871a1d6bdb187b5eb947c780098056b2f2e9d51069520c27873f0b83effd63d7044a8f5070271671c52e620643fd34f0f6e0c3a12f7aa5ada82e434eb3646e2c4cb0fcb8dfe7d09cb7b65e00f860f597e9e33b7eb646e4e7877c56b201b6e6d9f7b0311d73231375c96540d7d6e293f94f1383a4a7f78aea8c460e462f93fdff2e15219520769f13191e73bc836c9a1fee3518b40c55ff85e04f9f50608021100afe41aedbf89f24e0e1c0fbecf6674d71810f5c894ee4170c12671c984d15b354b0d0e86cd55e1b9dbf76b9679dbb6ed023bc8a958491c6fc7eace79811a31923ea39ac13e3f700729aa2cdcd5321ba3fb5e4b298d691c6d9e0510fa9438e151df21c3f70c02760800887756e3194bf051e4f983dbb435081b824560093b3a57d640a46e84ceeda4deea885883e1d6798dea6217ee969177bb5274100c6ebf41b421274638bd0cbd097cfd5bb77243ee344891d00c5f824a7b1a0331393e57b0a00c46d0b81bb1f2b419a3ee5ae9f6067b13777bd639d9568f3cd6446802fccbbe3241836398e35f2b035d79fb0d409746144fb9cec9f624055278386f9fbf30df242efc0a9a42762ed57df65a90c722ad4a754c7554d2a653ae338740215d9453a66ada1c42441b077f108b7d42d23e98c675675e0e3bf6dd743711e33fe60479c1d8c7605c25fd14f337ad29214ae75ac9e71264c81aadbff4146a0d8b93b1022f08f1b10bb29bcabe6a2c7a2750aea34f191c84d7b21c1f67858b9ef2aca668331c6f95407b2ec58c268e7d1f24278a4539b4ab6ad81cb3e2ca75cbd70c20b2d98ea9b48c0f88fee9f61c756fc24cc9d2abb5f0d4ac8dcb1b1ed54d542ab4900b064258c24a16c6f31b9b36a56e864ef212dbf07a9425e36d57a3c597593bae701b7aed3e562b3cb0a11517b8126ad7f945392ebe7366435fef93bfded20ba612a24d36d894718ae562fe48c81d5d639610936b5812b93c9af59964c8304225be22a77eacb068fa612ca2b17fb54fcd8df0e953cbea087cece20acb5c35b390b1187dd05040cdde193d6eda853dca5605029e2759bb29f70afa3faf3a22facc75b7a79c561729cacfb2e4d08162abc1f8f89ddff27b73c13c88eefdd65d9bbbb1d6e77266918e138bfeff6754e0aee230dd75b8b2af42199406a7a8afb163cb250777f31c7201c7e0bea0a8e77a087efe021c12d0faae8e0fe38b5457c0a26d8cc9b8b766dcac15427201ee99457c988a8fe1f78dca66990c5424d671fc44c6f26097a9dd1e72106cc6db849c10e726118809117eb6127eb0c1ad84d7f9c68cfe3f7df63a7b7ce340baa60502cd075437e2aeacb9220f8c8d179c3da078be6aa966c8ae1d4bc7d3e0894f825bceac569d3af9e1580240a4d1a594a4ad4a74810f115481362a160cd965de180bf37bc8df6be746c774461f5652ac0e99b51cef84020d386ad0e9ff750054d0765dd04541c12cfb6efd6ad7fd56f3052e16b6522bd315df240e83f3d2c80531d014f561301935f6ae5d6e024b9ce23e4e585a70baf83ed1ddb0c43651412fc9f3970c2cb2386b400dc932f6db4acc2c3b997d3887efb327c56bc56cf93b5eb2a50564f187a94e8f6982fc149bce10f49a3fadb0b5f9242172bc8ff2c09ad143fb98878affa60c0281f9d255dae191b291bdc3c1b4ba3c962006b4fb75cd371c4623c29937b43052a2c84697011508fb30b75d125a7a3a70f7d0e903a8294d41ab26c6b17d85564242422e342a834fe7db977d1d7118273738843ff146e7bd4cb718226ec6483f13f49c6e75fb6c24bdea179a8e6a2da1c0da39ff2b82559b742bf718b3ff176d654b240c84f40e651d00b9828f67e940d9acd6f7cb039f0872bb7de344431527e1ca2d8a6fd6dc93626684a5a77aaee985367b3b883fba76677c18af5f735920988d07a7ce3090f16aeced6381e35ad4c257369301a8bf1b4e8ee75a763025cfa6a3382d01f5e739340f41c116c86f1bb420f79687139b3664d44921de8d2ab2d7d1b5d523f8684281f55e63ac91779a287583c0b2147b8a782d993cc1c3d0cd0c91ce95c4df00228edde8914f62f06b962f4fde89090304a140ac50e8a13c72c83b5d69f557cc00bf3ef0edb811152e3461b5539afa0607ebf7c3be8ea57b29a5ee4b03efb2f36b94457ea421ae443e7a8e7180af30a272278af16bd27118da5be2eac58d421e923bedea62c21ac7c68bb012f7ec0d4490c1ebac0f20c961ca98dcec7bc9709744b5bd30fff25697965d0ce03a64d4b4f49e55e24c851262f4b0fa7c9b92daecc8101c9907336180918a6877061dcf856167c7bc32a543105542bfc10e91589cc54a64453986494604f3b5262cffc9fb19094905a3f22ffd65c9118ffae223f5da84bd2eb9dcd7ccfc908796ec266528313618018b16e4fdb7a8f2a7799cfde0a8c511aad1c3b177f89378563b8eff3eb3c79442da19f8b07fd5192b647a5719f79fe0ee5c05e1c65ee584ca502a902910fb58c57bed5f1e18b02e340a2e7c8cb899a8bb847249e11249aca24678bce910b1b70817dcd5de96e143d50881c5389da2dee803c64dab89d12bcced6db690603e62b49bdf47710a08cedf4722705c2b6c5969c98138f099021d1bdec1b02de4fbcedf9ec63a95aa8bfa7a5636d0f972deb5f070b6b2b423cfe9f9a81de77561f407354c064bcee5ddae75fbfb2b34a262214a4b9a8e83ea0118b78c1230600e80c848897c9b7027cf213f9602db5c5d7f8eeead1ea018839b454d173a9c9a5d569c6c8d2c36f76489982f641db756921e237b826f70b8c00edf85a9225c192e36ac6c2002e8801e9bcba55731763972c3085558a38814659fccafb377158d7ecce802ccea30939d309b5aee4892d2aa065abc720d64fa468d34eee71ea90605e632e47d484317eda31841672679de78ee9a495779cc4074c531225e1284c9d9dd4e2fd0a502bf74c42f95c2443ab6509e2f4f6cadf576a56cbe217a41287748232f17f76ffc6296874d200b90b41bc22a7a72014c0b791039fd7a2a86d84320fccf21c2e1cf8c0f05b9af87eb3c7ab14fde69f766ce115a96f0a562083fbbf68e0f306a15fc581cc7ee9381fdaa7516ccb0c73adf1432ce34b05ba36bb7d0fbb361da73bf8194c97d18e0e0f12664aa7af0a4a0efacc881cd009f4c33a219be59da5620c680c6fa80cfed1601be2163937ce6f36a48ed74d4c2f8a5212c8f43bbc9ab4887a1edde772ec792d76df0113bfba1dfa3b62c2425c687815471c409c207e6d3560a1ca23935ad8be4ff51cc179004a82ec03baa66fa54d066642ca60c307562502a4c168df1959cb62c7c68bacbab35b26b60a4f88f7fbf526e4ab2a864ab3dcccb0d27d3a0c94ff6cee110f0deb48941500fac422a9499c87ac5cd7932914fd62aa15b540e05fc"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_ipt={0xd0, 0xb, 0x0, 0x0, {{0x8}, {0x14, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}]}, {0x96, 0x6, "a53043fc9a7768457bdfa326f1af496ac813385c004762cda12bdb06638fdb70bd951358fb817d8a0ed1aa76cae8a0248923c446012e71cb46aea889cd159b1ab6bc542aa538aa03e22d3e8a55430fcb2a81beded0e7fe2e887984b10791afdfd7760c518546a0d7f0ae618918ea648febe23da50db244aa4850bc9895654509903f537dc8512518510d65d6b8a1c6129b5b"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x22d68454d6acb4}}}}, @m_csum={0x178, 0x15, 0x0, 0x0, {{0x9}, {0x74, 0x2, 0x0, 0x1, [@TCA_CSUM_PARMS={0x1c, 0x1, {{0x7, 0x9, 0x4, 0xffffffff, 0x4}, 0x55}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0x2, 0x0, 0xeb, 0x7}, 0x12}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x1, 0x80, 0xffffffffffffffff, 0x5, 0x7ff}, 0x32}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0xfffffffd, 0x0, 0x80000000}, 0x25}}]}, {0xd9, 0x6, "e08f0861c1055f771c507f23b39a6eb272b2d6e393b95aaa10b9d742061aaacf7c7ba256e643f19c3b4b91692e56c7d4d139152edb59f3382cc2be684bd0094d6de74bc9ea58487e8abe0902a5ac1854f8203f4dfee4dd25da35682d2c5922132344fc20521edf6467e44a73faac0d8fe659a3a7759e94a03cf34bdd51e6a299e747d15b9e6c0cf03098bdb2de463ef3b6d8cf1966eb7da683c53a4ada07c140c84cdf9d850b51ba7640b810be7cc4803c28d6fc2bdab164e77b5217419ecd9c786a455baecb63c1b2418263a01484fcea84382e5c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x1}}}}, @m_police={0x4e8, 0x1d, 0x0, 0x0, {{0xb}, {0x4a0, 0x2, 0x0, 0x1, [[@TCA_POLICE_TBF={0x3c, 0x1, {0x1, 0x1, 0x61, 0x6, 0x5ce, {0x1f, 0x1, 0xfff, 0xc9, 0x5, 0x100}, {0x5, 0x1, 0x1000, 0x3800, 0x7, 0x5}, 0x80, 0x1, 0x8}}, @TCA_POLICE_RESULT={0x8, 0x5, 0x8}, @TCA_POLICE_RATE64={0xc, 0x8, 0x100}, @TCA_POLICE_RATE64={0xc, 0x8, 0x7}, @TCA_POLICE_TBF={0x3c, 0x1, {0x38, 0x7, 0x3, 0x3, 0x3, {0x7, 0x2, 0x20, 0x9cb, 0x4, 0x4b}, {0x1, 0x1, 0x9, 0xfff7, 0x8, 0x2}, 0x5, 0x2, 0x2}}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x6f5c5490, 0x1, 0xffff, 0xffff, 0x3, 0x110371ea, 0x0, 0x0, 0x6, 0x8000, 0x1f, 0x9, 0x2f01, 0x7fffffff, 0x3f, 0x7fffffff, 0x871, 0x1f, 0x0, 0x0, 0xf6, 0xfffffffc, 0x4, 0x7ff, 0xffff, 0x2, 0xbb9, 0x1000, 0x1, 0x2, 0x5, 0x7, 0x8, 0x401, 0xff, 0x7, 0xfffffff8, 0x4, 0x9, 0x5, 0x7, 0x1000, 0x8, 0x1df, 0x7f, 0x326, 0x6, 0x6, 0x6, 0x8, 0x509e, 0x639afd44, 0xff, 0x0, 0x3, 0xa4a1, 0x4, 0x5, 0xcf, 0xff, 0xb70, 0x47a5, 0x5, 0x8, 0x0, 0xfffffff7, 0x6, 0x9, 0x7, 0xffffffc1, 0x13c6, 0x6, 0x800, 0x8000, 0x9, 0xfffffff7, 0x8, 0x0, 0x4, 0x82, 0xa84a, 0x1, 0x569, 0xdc0, 0x44, 0x7, 0x0, 0xa8, 0x7, 0x9, 0x0, 0xffff, 0x1f, 0x7ff, 0x3, 0x9, 0x0, 0x7fffffff, 0x8, 0xfff, 0x3f, 0xa02, 0x8001, 0x0, 0x4, 0x3, 0x80, 0x80000000, 0x10000, 0x4, 0xdc8, 0x401, 0xffff, 0x400, 0xd48, 0x7fffffff, 0x1, 0x401, 0x5, 0x4, 0x4, 0x80000000, 0x2, 0xffff, 0x2e, 0xc7, 0x7f, 0x5, 0x7fffffff, 0x4, 0xfffffffe, 0x2, 0xe6, 0xbb0b, 0x4, 0x5, 0x4, 0x46c92560, 0x2, 0x3ff, 0x101, 0x2, 0xfbf, 0x1000, 0x1, 0x0, 0x7, 0x9, 0x0, 0x6, 0x8, 0x9, 0x2, 0x3ff, 0x2, 0x4, 0x2, 0x1, 0x8, 0x20, 0x4, 0x7f, 0x9dc5, 0x2, 0x95d, 0xfffffe0e, 0x6c, 0x8, 0x5, 0x5, 0x8000, 0x6, 0x2, 0x3, 0xffffffff, 0x3, 0xffffffdf, 0x80, 0x4, 0xffff, 0x1ff, 0xb1, 0x9, 0x0, 0x100, 0x80000001, 0x5, 0x1f, 0x8, 0x3, 0x0, 0x200, 0x5492e77e, 0xff, 0x3, 0x1, 0x1000, 0xff, 0x5, 0x378, 0x5, 0x101, 0x81, 0x9, 0x2, 0x7, 0x4, 0x8, 0x2, 0xfffffffe, 0x1ff, 0xfffffeff, 0x8, 0x1, 0x0, 0x400, 0x4, 0x1, 0x747, 0x8, 0x1e, 0x1, 0x7ff, 0x7, 0x3, 0x8a, 0xd2, 0x40, 0x80000000, 0xb3, 0x7, 0x0, 0x0, 0x4, 0x7, 0x9, 0x100, 0x3, 0x1000, 0x20, 0x6, 0xa95, 0x6, 0x7f, 0x9, 0x0, 0x7, 0xb518, 0x101, 0x3f, 0x3c, 0xe1, 0x6, 0x1, 0x7, 0x8000]}]]}, {0x1f, 0x6, "ecd80c0b66b1e988f544adb3492b64952c03e605a3a256151fb99a"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_connmark={0xec, 0xa, 0x0, 0x0, {{0xd}, {0x74, 0x2, 0x0, 0x1, [@TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x81, 0x9, 0x7, 0x1e6, 0xffffff7f}, 0x19b}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x0, 0x7fff, 0x1, 0x401, 0x3}}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0xcc6, 0x6, 0x2, 0x7fff, 0x7}, 0x1c}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x7, 0x81, 0x10000000, 0x3ff, 0x8}, 0x1}}]}, {0x4b, 0x6, "81b22251458b0bcfc8f37ea1425c07cc939d3f8077d51f1a8146261048c30e7c89a5714fc3337cf5b9dee096474185c947ea0bd787e8337e502407eb6f80e0856c18833f917143"}, {0xc}, {0xc, 0x8, {0x3, 0x1}}}}]}, @TCA_RSVP_POLICE={0x40, 0x5, [@TCA_POLICE_TBF={0x3c, 0x1, {0x0, 0x4, 0xff, 0x7, 0x9, {0x0, 0x1, 0x4, 0x9b, 0x1, 0x8d65}, {0xa6, 0x0, 0x8, 0x1, 0x8000, 0x1}, 0xfffffffa, 0x445d, 0x4}}]}]}}, @TCA_RATE={0x6, 0x5, {0xfc}}]}, 0x24e4}, 0x1, 0x0, 0x0, 0x40000}, 0x20000041) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) 21:35:56 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) (async) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000a00)={0x0, 0x0, &(0x7f00000009c0)={0x0, 0x68}}, 0x0) (async) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000100)=@newqdisc={0x30, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_ingress={0xc}]}, 0x30}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000032c0)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xe}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) (async, rerun: 64) r3 = openat$incfs(0xffffffffffffffff, &(0x7f0000000140)='.log\x00', 0x214000, 0x101) (rerun: 64) sendmsg$nl_route_sched(r3, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0xc85b10a5142cdcec}, 0xc, &(0x7f0000000240)={&(0x7f0000000a40)=@deltfilter={0x24e4, 0x2d, 0x4, 0x70bd29, 0x25dfdbfb, {0x0, 0x0, 0x0, r2, {0x2, 0xffff}, {0xffff}, {0x2, 0xb}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_TO={0x8, 0x2, 0x8d}]}}, @filter_kind_options=@f_cgroup={{0xb}, {0x8a8, 0x2, [@TCA_CGROUP_POLICE={0x898, 0x2, [@TCA_POLICE_RATE={0x404, 0x2, [0x8000, 0x8, 0x5, 0x1f, 0xfffffffd, 0x7fffffff, 0x68, 0x80, 0x3, 0xffffff7a, 0x1f, 0xf91, 0x1a7, 0x80, 0x20, 0x751, 0x1, 0x6, 0xffffffff, 0x5, 0x200, 0x4, 0x6, 0xea, 0x9, 0x100, 0x4, 0xfffffffd, 0x6, 0x8001, 0x7f, 0x3, 0x9, 0xffff3a10, 0x5, 0x436b, 0x1, 0x0, 0x6, 0x163, 0x10000, 0x6, 0x5, 0xfa, 0xb9, 0x10, 0x80, 0x200, 0x10000, 0x1ff, 0x4, 0x8, 0xf48, 0x8, 0x6c34, 0x1, 0x80, 0x81, 0x5, 0x1, 0x7f, 0x9, 0x3, 0x1, 0x6, 0xd637, 0x1f, 0x4, 0x2, 0x81, 0x5, 0x7c3076d9, 0x7, 0x7, 0x43, 0x2, 0x800, 0x60, 0x4, 0x8, 0x3, 0x3, 0x8, 0xce, 0x800, 0x1, 0x20000000, 0x400, 0x4, 0x8, 0x4da7, 0x101, 0x200, 0x100, 0x6, 0xffffffff, 0x10001, 0x7, 0x6277, 0x0, 0x0, 0x3ff, 0xfffffffb, 0x8, 0x40, 0x79e, 0x7fffffff, 0x3f, 0xffff, 0x9, 0xfffff001, 0xfffffffd, 0x8, 0x4f, 0x100, 0x101, 0xff4, 0x80000000, 0xfffffff9, 0x2e, 0x1, 0x101, 0x2, 0x2, 0xfffffffd, 0x800, 0x8, 0xffffffff, 0x7fff, 0x7, 0x0, 0x4, 0xf9, 0xffff0001, 0x1, 0x0, 0xbcce, 0x401, 0x5, 0x7, 0xfffffffb, 0x746, 0xe3, 0x1ff, 0x7, 0x3, 0x5, 0x3aef, 0x10000, 0x1, 0x8000, 0x419, 0x3, 0x9, 0x7, 0x4, 0xcc80, 0x5, 0x9, 0x7ff, 0x0, 0xffff, 0x9, 0x80000000, 0xe34, 0x5, 0x5, 0x1, 0xfffffff9, 0x7, 0x2, 0x0, 0x4, 0xeb0, 0x1, 0x100, 0xe1, 0x2, 0x30, 0x1, 0x1, 0x557a, 0x1f, 0x5, 0x2, 0x4, 0x0, 0x10000, 0xc06, 0x3, 0x8, 0x9, 0x8, 0x4, 0x7fffffff, 0x80000001, 0x1000, 0x7, 0x6, 0x40, 0x0, 0x3ff, 0x1000, 0x80000001, 0x400, 0x0, 0xff, 0x5, 0x3, 0x1, 0x8, 0x2, 0x5, 0xfffffffa, 0x2, 0x731, 0x2, 0x80000001, 0x3, 0x0, 0x3, 0x81, 0x90dd, 0x1, 0x1, 0x5, 0x9, 0x1, 0x0, 0x401, 0xffff, 0x7fff, 0x1, 0x1, 0xff, 0x16, 0x6, 0x8, 0x4, 0x7e4d2267, 0x8001, 0x3, 0x7, 0x4, 0x3a, 0x4, 0xffff, 0x6, 0xfffff801, 0x10000, 0x8, 0x1, 0x10001, 0x0, 0x6, 0x401]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x2, 0x3, 0x2400000, 0xff, 0x9f8, {0x6, 0x1, 0x2, 0x83c, 0x7, 0x7}, {0xff, 0x3, 0x20, 0x8, 0x960b, 0x6}, 0xfffffffd, 0x0, 0x81}}, @TCA_POLICE_RESULT={0x8, 0x5, 0xace8}, @TCA_POLICE_RATE={0x404, 0x2, [0x100, 0x0, 0x100, 0x48, 0x7ff, 0x0, 0x8, 0x7ff, 0x3, 0x0, 0x22, 0x3, 0x5f18000, 0x5f, 0x4, 0x1, 0x401, 0xbf6, 0x2, 0x0, 0x0, 0x0, 0x4, 0x8, 0x5, 0x2e, 0xffff, 0x100, 0x4, 0x7, 0x5a89, 0x2, 0x2, 0xe0, 0x10001, 0x5, 0x61, 0x2, 0x4, 0x6, 0xadfa, 0x8, 0x6, 0x5023, 0x3, 0x1, 0x92e, 0x3, 0x4, 0x8, 0x0, 0xb2, 0x5, 0x800, 0x8, 0x3, 0x4f, 0xbe, 0x21, 0x4, 0x2, 0x9, 0x1ff, 0x1ff, 0x1, 0x4, 0x0, 0x10000, 0xffffffff, 0x20, 0x379e7cbc, 0x4, 0x0, 0x200, 0xfffffff7, 0x7, 0x1, 0xffff0001, 0x800, 0x20400, 0x8, 0x6, 0x7ff, 0x5, 0x101, 0x10000, 0x7ff, 0x5, 0x50, 0x0, 0x4, 0x9, 0x101, 0xa6f, 0x8, 0x8, 0xffffffff, 0x3ff, 0x4, 0x6, 0xf5, 0x1ff, 0x7, 0x1, 0x67a1, 0x4, 0x1, 0x3, 0x100, 0x0, 0x81c, 0x0, 0x7, 0xfffffffe, 0x800, 0x9, 0x1, 0x0, 0x3f, 0x7, 0x9, 0xf15, 0xe34, 0x8f, 0x4, 0x2, 0x3, 0x7, 0x401, 0x0, 0x100, 0x3, 0x6, 0x0, 0x7, 0x0, 0x7, 0x6, 0xfff, 0x8001, 0xfc7e, 0x3, 0x7fffffff, 0x9, 0x20, 0x1f, 0x4cdb, 0x5, 0x3, 0x2, 0x40e3, 0x8, 0x72e, 0x13ac00, 0x2, 0x2, 0x659, 0x1, 0x400, 0x6b, 0x3, 0x30, 0x5, 0x800, 0x0, 0x10000, 0x0, 0x1, 0x1, 0x8000, 0xc07, 0x9, 0x4, 0x2, 0xffff, 0x6, 0x6, 0x3, 0x4, 0x3, 0x71e, 0x80000000, 0x3, 0x1000, 0x3, 0xe1b, 0x20, 0x6, 0x8, 0x1d3, 0x5, 0x5, 0x2, 0x9, 0x200, 0x10001, 0x2, 0x2, 0x800, 0x1f, 0xffffff21, 0x2, 0xffff, 0xbab, 0x6, 0x99, 0x0, 0xffff, 0x1b54, 0x5, 0x0, 0x2, 0x8000, 0xffff794c, 0xff, 0x1, 0x101, 0x3ff, 0x3, 0x5, 0x1f, 0x5, 0x10, 0x1ff, 0x101, 0xf, 0x5, 0x5, 0x10001, 0x6, 0x13e, 0x1, 0x1fb, 0xfffffff8, 0x584, 0x40, 0xccdc, 0xd2f, 0xfeb, 0x2, 0x1, 0x2, 0x9, 0x0, 0x6, 0x3f, 0x6, 0x0, 0xc72, 0x1, 0x1, 0x1, 0x5, 0xffff, 0x2, 0x80]}, @TCA_POLICE_TBF={0x3c, 0x1, {0x3bb, 0x5, 0xb5f, 0x3, 0x100, {0x8, 0x0, 0x8, 0x8e4, 0x81}, {0x7f, 0x2, 0x3, 0x7fff, 0x101}, 0xabdf28c2, 0x5, 0x3}}, @TCA_POLICE_PEAKRATE64={0xc, 0x9, 0x8}]}, @TCA_CGROUP_EMATCHES={0xc, 0x3, 0x0, 0x1, [@TCA_EMATCH_TREE_HDR={0x8, 0x1, {0x81}}]}]}}, @TCA_RATE={0x6, 0x5, {0x1, 0x1f}}, @TCA_RATE={0x6, 0x5, {0x8, 0x60}}, @filter_kind_options=@f_rsvp6={{0xa}, {0x1bd0, 0x2, [@TCA_RSVP_PINFO={0x20, 0x4, {{0x334b, 0x2, 0x1000}, {0x60fe, 0xbd7, 0x7f}, 0x67, 0x4}}, @TCA_RSVP_ACT={0x1b6c, 0x6, [@m_nat={0x1ac, 0x3ffd, 0x0, 0x0, {{0x8}, {0xcc, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x10001, 0xd5b8, 0x8, 0x5, 0x400}, @rand_addr=0x64010100, @rand_addr=0x64010101, 0xff}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xff, 0x2, 0x2, 0x401, 0x5e6}, @initdev={0xac, 0x1e, 0x0, 0x0}, @loopback, 0xff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x9, 0x1, 0x1, 0x1000, 0x8001}, @local, @multicast1, 0x0, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xd, 0x1, 0x8, 0x1e5, 0x6}, @dev={0xac, 0x14, 0x14, 0x1d}, @local, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0xfffffffa, 0x0, 0x2, 0x4, 0x5}, @multicast2, @multicast1, 0x0, 0x1}}]}, {0xbc, 0x6, "7f1ddfe318b3d4316565898610842a731038c7479a8bddc08057d4e20e2f904d23fd2fd9f48536934baa0363dc292bfafd4edcfbb5645ed176c4b0d6355d8c82c886f4e078e18716afa18c0063cca036f17ed9fd54bf06dee03316a09d6b8552bfe3bd699a200796079fffed827fbc3d553166d0550e595dafa7b864bcc0bd14ac8d6db93e2d0915a6c54aa0bf1c69d9f9d2a1bdad6fe1d4148c5e06691bafa10713b2191707c61718afea0eaaf6c3252e20e5817c53cdef"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x2, 0x1}}}}, @m_vlan={0x78, 0xa, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x43, 0x6, "ad1221ddd640b9b75b263bd48af56e7d1920ec46245cec166b8425581b3e2e6b6c799d28e7c4e6744e525ea2a6cbccbc53e4adcc2cf6e4f44d1e72d56421ed"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_xt={0x1128, 0x14, 0x0, 0x0, {{0x7}, {0x100, 0x2, 0x0, 0x1, [@TCA_IPT_TABLE={0x24, 0x1, 'raw\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x2}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}, @TCA_IPT_TABLE={0x24, 0x1, 'mangle\x00'}, @TCA_IPT_INDEX={0x8, 0x3, 0x81}, @TCA_IPT_TARG={0x4b, 0x6, {0xd5, 'security\x00', 0x20, 0x8, "262202c5d6dbcc50682369498f88ded40c8cc131eee6644e6bb2f27d0dc5055561"}}, @TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}, @TCA_IPT_TABLE={0x24, 0x1, 'security\x00'}]}, {0x1004, 0x6, "2fe2ebd210e0c2a731db0012c72c036411389cfedee3efa4d7d2307675ba52883613b8bea912f4aaa9b3a799a527b304644e0bb3c9f66b7830c7e04e6a8852915b865a4e835729d260c90a71c984f2a4d9dd39337cae446bea24dafd2c51fbd9b091d962754639ff239360b2a39b12ee288ad596cc33ebd6a838cfa2d3eda14fcf340878f805fef91911437c7b1cc814a1ff18115d213c18363f210d4817b5ebf91301d9556e7e8495df34e99cead1cad82e3aa2a1054d473de06d14c260341aeb35c9bd41531da28d086869ee0413de7fbbe39efc8bc0420a5cdd7acb3deba22587e5ba44a5629b1a8e9d8d1cb22873af92b952730e9f9638b96b87bb27f412a909c25e55ae02b46dff05b8d0b520183ed1e9ff8529f8ca6e49f3b0fcd6d6f9273766bde460604272c6eff73553c68e70591146f49d7d5cd424dfc19b38448ff80d208e7e7aa744c325749a33dd82708a4f31d6edb725e09b0cc3db278befc6e488f7dc5bd3301a322817cdddcb7efba693fc75ba1f7c74571149317e6e78519b3bacb36d0deca331ce73a32cc95b1e69ef214e9d55f115649d369c98ba4b34801b9c41f82107b067899dc3b313e4723edec1ce054c5373d2b351094ebed7a321511b8a75c4da55b17a2ad4a58d04f5132b668721ae8f6f66b3b0a223d214c5d393e92be68f8a6c186ca191538d0c03a6b001588364dc70583f7bb12989fed4e5cb40df28d8c46a54abefca580973f2e9e870172738352c3ba3d6692e43af8a3cf9100b26a72cbea04a1543181f3f2089b0153bca71219130582a3d63e845449b365f66a75ecb2121979666f59178735885c010e2c205d235ef972351306cb152762241b6af5e57bb9c1f8b072bf000fe8187d6c04a7807ec629e8c873053b40e5e51a687aec92528feabef583272dda0a6ef76a9d9851d6a121dde2c7e5ab7a4c33da5a6c62852de6f0e00218a5e2412ba4e19ef3c8df1d54186ca15afed9403184036143e4c76073266f4a561ac002df6e8e8be609b828d801cfdc146ddd32a1ba45f8d20a8a880aa2f2bbfece6b6c5eca4474c22a7c0ac397ae9a909780617a78956c601e9714f8c29179bfb54d702206ee2e47520024ac2c0b22a8d235f28b3a6b16b45dbc335a40cc56d41222e4620970d96e7ea361a7ec4e18104c265a86f6a59e02c0c3b20cee647ef8c5bf4d75588d27547f404da8c1e518eeaa3217d1ae315bfe57672d13ba867d97248ab833c75a76baf79cda0ae4c1c62de251837653f6c36208ceacedb5ad4df4ebfc40e20a54643040a9d4a08c047279cc16beac1346df0511e4942dfad50bcaeefe406d69a2b5ccca6c35fa24b368c105043ac0996aaed2057bf1aed0e649693aa9327008dfa5690b3a3875063e4621eb3483cdaaa55f6aa03cc51012448c61d6546c34b6a41b57f350d46b746c8e60a2167d1622d9c6854d30e494afc2efd8d7bb7e4d8768ea31975bb25a09678d6739e75291eabe3a7becbd17c759665402f83368b8e3bc860fab44176e6462f978207f5c1304b7d9d215303a2bc10186e8e086815a9c7edbebd9c657b9b7f10d1ee6041c01734b1ab39b149b0ca57775b01dc8d09ed320b4ef412b215a8a4d6aa88fc84a494479c4f976d1917b6f2653ca2ffafc84da009dd58b2bd43f919bdbd25935afa6d874da40f252b35e06eb6d8a01019f0abd2172ff5235338d903ff802860415a291851dabb2362607e2e53627c114ec533e057f466284322b87a9694e948b9f278a614a91fb6dba23340bc16d5fb54ee2b50542f7cc76ede6fe050c720d40a0a01f11108ddd1137c54b76752452e3321207b1dd9f546a850cf1412ddea217ecf250e8acdef907cee8b953bd98274cc6c1107694442415952997257ac1e03ad522feec9e808a335eca611061c7e38cce16677989f44e1ff3c1da6b921e7941f109e008eefa72fecf1a5b31a0b25c562622efa1827cb3cfc0b707d81047e600540b09f9d5129b84857226e1218ccb643a43ba1de833acd8898dc987469fe07a81e33a68136ea94d28c2a41084919196ab0823ffc94991300b85332fca07bc18d33d4c191fda668f58ee040dc71c9d4e37dcfd083005488c410ac9b9031879448b3049f16778151f71f7c8d59e554ae56d997beea19b3bd00e3627a6758d741e615239840a54dc50a4e8cbf9cffb704dbe1a42c4ddeafa030b6c78b4378a389db3cb8ca693d30b560965f34aaa5887d497f5c20641b809318cd5270f8598dcab0a61767fd14470e935b77e238751264c6f9bd71a3481d16e9ec326ef8103de6092f0f03e0ec72532b49394ba3479d9e78f7862da4a86563548c871d898ea99bef800d12a1d7f29db871a1d6bdb187b5eb947c780098056b2f2e9d51069520c27873f0b83effd63d7044a8f5070271671c52e620643fd34f0f6e0c3a12f7aa5ada82e434eb3646e2c4cb0fcb8dfe7d09cb7b65e00f860f597e9e33b7eb646e4e7877c56b201b6e6d9f7b0311d73231375c96540d7d6e293f94f1383a4a7f78aea8c460e462f93fdff2e15219520769f13191e73bc836c9a1fee3518b40c55ff85e04f9f50608021100afe41aedbf89f24e0e1c0fbecf6674d71810f5c894ee4170c12671c984d15b354b0d0e86cd55e1b9dbf76b9679dbb6ed023bc8a958491c6fc7eace79811a31923ea39ac13e3f700729aa2cdcd5321ba3fb5e4b298d691c6d9e0510fa9438e151df21c3f70c02760800887756e3194bf051e4f983dbb435081b824560093b3a57d640a46e84ceeda4deea885883e1d6798dea6217ee969177bb5274100c6ebf41b421274638bd0cbd097cfd5bb77243ee344891d00c5f824a7b1a0331393e57b0a00c46d0b81bb1f2b419a3ee5ae9f6067b13777bd639d9568f3cd6446802fccbbe3241836398e35f2b035d79fb0d409746144fb9cec9f624055278386f9fbf30df242efc0a9a42762ed57df65a90c722ad4a754c7554d2a653ae338740215d9453a66ada1c42441b077f108b7d42d23e98c675675e0e3bf6dd743711e33fe60479c1d8c7605c25fd14f337ad29214ae75ac9e71264c81aadbff4146a0d8b93b1022f08f1b10bb29bcabe6a2c7a2750aea34f191c84d7b21c1f67858b9ef2aca668331c6f95407b2ec58c268e7d1f24278a4539b4ab6ad81cb3e2ca75cbd70c20b2d98ea9b48c0f88fee9f61c756fc24cc9d2abb5f0d4ac8dcb1b1ed54d542ab4900b064258c24a16c6f31b9b36a56e864ef212dbf07a9425e36d57a3c597593bae701b7aed3e562b3cb0a11517b8126ad7f945392ebe7366435fef93bfded20ba612a24d36d894718ae562fe48c81d5d639610936b5812b93c9af59964c8304225be22a77eacb068fa612ca2b17fb54fcd8df0e953cbea087cece20acb5c35b390b1187dd05040cdde193d6eda853dca5605029e2759bb29f70afa3faf3a22facc75b7a79c561729cacfb2e4d08162abc1f8f89ddff27b73c13c88eefdd65d9bbbb1d6e77266918e138bfeff6754e0aee230dd75b8b2af42199406a7a8afb163cb250777f31c7201c7e0bea0a8e77a087efe021c12d0faae8e0fe38b5457c0a26d8cc9b8b766dcac15427201ee99457c988a8fe1f78dca66990c5424d671fc44c6f26097a9dd1e72106cc6db849c10e726118809117eb6127eb0c1ad84d7f9c68cfe3f7df63a7b7ce340baa60502cd075437e2aeacb9220f8c8d179c3da078be6aa966c8ae1d4bc7d3e0894f825bceac569d3af9e1580240a4d1a594a4ad4a74810f115481362a160cd965de180bf37bc8df6be746c774461f5652ac0e99b51cef84020d386ad0e9ff750054d0765dd04541c12cfb6efd6ad7fd56f3052e16b6522bd315df240e83f3d2c80531d014f561301935f6ae5d6e024b9ce23e4e585a70baf83ed1ddb0c43651412fc9f3970c2cb2386b400dc932f6db4acc2c3b997d3887efb327c56bc56cf93b5eb2a50564f187a94e8f6982fc149bce10f49a3fadb0b5f9242172bc8ff2c09ad143fb98878affa60c0281f9d255dae191b291bdc3c1b4ba3c962006b4fb75cd371c4623c29937b43052a2c84697011508fb30b75d125a7a3a70f7d0e903a8294d41ab26c6b17d85564242422e342a834fe7db977d1d7118273738843ff146e7bd4cb718226ec6483f13f49c6e75fb6c24bdea179a8e6a2da1c0da39ff2b82559b742bf718b3ff176d654b240c84f40e651d00b9828f67e940d9acd6f7cb039f0872bb7de344431527e1ca2d8a6fd6dc93626684a5a77aaee985367b3b883fba76677c18af5f735920988d07a7ce3090f16aeced6381e35ad4c257369301a8bf1b4e8ee75a763025cfa6a3382d01f5e739340f41c116c86f1bb420f79687139b3664d44921de8d2ab2d7d1b5d523f8684281f55e63ac91779a287583c0b2147b8a782d993cc1c3d0cd0c91ce95c4df00228edde8914f62f06b962f4fde89090304a140ac50e8a13c72c83b5d69f557cc00bf3ef0edb811152e3461b5539afa0607ebf7c3be8ea57b29a5ee4b03efb2f36b94457ea421ae443e7a8e7180af30a272278af16bd27118da5be2eac58d421e923bedea62c21ac7c68bb012f7ec0d4490c1ebac0f20c961ca98dcec7bc9709744b5bd30fff25697965d0ce03a64d4b4f49e55e24c851262f4b0fa7c9b92daecc8101c9907336180918a6877061dcf856167c7bc32a543105542bfc10e91589cc54a64453986494604f3b5262cffc9fb19094905a3f22ffd65c9118ffae223f5da84bd2eb9dcd7ccfc908796ec266528313618018b16e4fdb7a8f2a7799cfde0a8c511aad1c3b177f89378563b8eff3eb3c79442da19f8b07fd5192b647a5719f79fe0ee5c05e1c65ee584ca502a902910fb58c57bed5f1e18b02e340a2e7c8cb899a8bb847249e11249aca24678bce910b1b70817dcd5de96e143d50881c5389da2dee803c64dab89d12bcced6db690603e62b49bdf47710a08cedf4722705c2b6c5969c98138f099021d1bdec1b02de4fbcedf9ec63a95aa8bfa7a5636d0f972deb5f070b6b2b423cfe9f9a81de77561f407354c064bcee5ddae75fbfb2b34a262214a4b9a8e83ea0118b78c1230600e80c848897c9b7027cf213f9602db5c5d7f8eeead1ea018839b454d173a9c9a5d569c6c8d2c36f76489982f641db756921e237b826f70b8c00edf85a9225c192e36ac6c2002e8801e9bcba55731763972c3085558a38814659fccafb377158d7ecce802ccea30939d309b5aee4892d2aa065abc720d64fa468d34eee71ea90605e632e47d484317eda31841672679de78ee9a495779cc4074c531225e1284c9d9dd4e2fd0a502bf74c42f95c2443ab6509e2f4f6cadf576a56cbe217a41287748232f17f76ffc6296874d200b90b41bc22a7a72014c0b791039fd7a2a86d84320fccf21c2e1cf8c0f05b9af87eb3c7ab14fde69f766ce115a96f0a562083fbbf68e0f306a15fc581cc7ee9381fdaa7516ccb0c73adf1432ce34b05ba36bb7d0fbb361da73bf8194c97d18e0e0f12664aa7af0a4a0efacc881cd009f4c33a219be59da5620c680c6fa80cfed1601be2163937ce6f36a48ed74d4c2f8a5212c8f43bbc9ab4887a1edde772ec792d76df0113bfba1dfa3b62c2425c687815471c409c207e6d3560a1ca23935ad8be4ff51cc179004a82ec03baa66fa54d066642ca60c307562502a4c168df1959cb62c7c68bacbab35b26b60a4f88f7fbf526e4ab2a864ab3dcccb0d27d3a0c94ff6cee110f0deb48941500fac422a9499c87ac5cd7932914fd62aa15b540e05fc"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_ipt={0xd0, 0xb, 0x0, 0x0, {{0x8}, {0x14, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_HOOK={0x8, 0x2, 0x1}]}, {0x96, 0x6, "a53043fc9a7768457bdfa326f1af496ac813385c004762cda12bdb06638fdb70bd951358fb817d8a0ed1aa76cae8a0248923c446012e71cb46aea889cd159b1ab6bc542aa538aa03e22d3e8a55430fcb2a81beded0e7fe2e887984b10791afdfd7760c518546a0d7f0ae618918ea648febe23da50db244aa4850bc9895654509903f537dc8512518510d65d6b8a1c6129b5b"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x22d68454d6acb4}}}}, @m_csum={0x178, 0x15, 0x0, 0x0, {{0x9}, {0x74, 0x2, 0x0, 0x1, [@TCA_CSUM_PARMS={0x1c, 0x1, {{0x7, 0x9, 0x4, 0xffffffff, 0x4}, 0x55}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0x2, 0x0, 0xeb, 0x7}, 0x12}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x1, 0x80, 0xffffffffffffffff, 0x5, 0x7ff}, 0x32}}, @TCA_CSUM_PARMS={0x1c, 0x1, {{0x8, 0xfffffffd, 0x0, 0x80000000}, 0x25}}]}, {0xd9, 0x6, "e08f0861c1055f771c507f23b39a6eb272b2d6e393b95aaa10b9d742061aaacf7c7ba256e643f19c3b4b91692e56c7d4d139152edb59f3382cc2be684bd0094d6de74bc9ea58487e8abe0902a5ac1854f8203f4dfee4dd25da35682d2c5922132344fc20521edf6467e44a73faac0d8fe659a3a7759e94a03cf34bdd51e6a299e747d15b9e6c0cf03098bdb2de463ef3b6d8cf1966eb7da683c53a4ada07c140c84cdf9d850b51ba7640b810be7cc4803c28d6fc2bdab164e77b5217419ecd9c786a455baecb63c1b2418263a01484fcea84382e5c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x1}}}}, @m_police={0x4e8, 0x1d, 0x0, 0x0, {{0xb}, {0x4a0, 0x2, 0x0, 0x1, [[@TCA_POLICE_TBF={0x3c, 0x1, {0x1, 0x1, 0x61, 0x6, 0x5ce, {0x1f, 0x1, 0xfff, 0xc9, 0x5, 0x100}, {0x5, 0x1, 0x1000, 0x3800, 0x7, 0x5}, 0x80, 0x1, 0x8}}, @TCA_POLICE_RESULT={0x8, 0x5, 0x8}, @TCA_POLICE_RATE64={0xc, 0x8, 0x100}, @TCA_POLICE_RATE64={0xc, 0x8, 0x7}, @TCA_POLICE_TBF={0x3c, 0x1, {0x38, 0x7, 0x3, 0x3, 0x3, {0x7, 0x2, 0x20, 0x9cb, 0x4, 0x4b}, {0x1, 0x1, 0x9, 0xfff7, 0x8, 0x2}, 0x5, 0x2, 0x2}}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x6f5c5490, 0x1, 0xffff, 0xffff, 0x3, 0x110371ea, 0x0, 0x0, 0x6, 0x8000, 0x1f, 0x9, 0x2f01, 0x7fffffff, 0x3f, 0x7fffffff, 0x871, 0x1f, 0x0, 0x0, 0xf6, 0xfffffffc, 0x4, 0x7ff, 0xffff, 0x2, 0xbb9, 0x1000, 0x1, 0x2, 0x5, 0x7, 0x8, 0x401, 0xff, 0x7, 0xfffffff8, 0x4, 0x9, 0x5, 0x7, 0x1000, 0x8, 0x1df, 0x7f, 0x326, 0x6, 0x6, 0x6, 0x8, 0x509e, 0x639afd44, 0xff, 0x0, 0x3, 0xa4a1, 0x4, 0x5, 0xcf, 0xff, 0xb70, 0x47a5, 0x5, 0x8, 0x0, 0xfffffff7, 0x6, 0x9, 0x7, 0xffffffc1, 0x13c6, 0x6, 0x800, 0x8000, 0x9, 0xfffffff7, 0x8, 0x0, 0x4, 0x82, 0xa84a, 0x1, 0x569, 0xdc0, 0x44, 0x7, 0x0, 0xa8, 0x7, 0x9, 0x0, 0xffff, 0x1f, 0x7ff, 0x3, 0x9, 0x0, 0x7fffffff, 0x8, 0xfff, 0x3f, 0xa02, 0x8001, 0x0, 0x4, 0x3, 0x80, 0x80000000, 0x10000, 0x4, 0xdc8, 0x401, 0xffff, 0x400, 0xd48, 0x7fffffff, 0x1, 0x401, 0x5, 0x4, 0x4, 0x80000000, 0x2, 0xffff, 0x2e, 0xc7, 0x7f, 0x5, 0x7fffffff, 0x4, 0xfffffffe, 0x2, 0xe6, 0xbb0b, 0x4, 0x5, 0x4, 0x46c92560, 0x2, 0x3ff, 0x101, 0x2, 0xfbf, 0x1000, 0x1, 0x0, 0x7, 0x9, 0x0, 0x6, 0x8, 0x9, 0x2, 0x3ff, 0x2, 0x4, 0x2, 0x1, 0x8, 0x20, 0x4, 0x7f, 0x9dc5, 0x2, 0x95d, 0xfffffe0e, 0x6c, 0x8, 0x5, 0x5, 0x8000, 0x6, 0x2, 0x3, 0xffffffff, 0x3, 0xffffffdf, 0x80, 0x4, 0xffff, 0x1ff, 0xb1, 0x9, 0x0, 0x100, 0x80000001, 0x5, 0x1f, 0x8, 0x3, 0x0, 0x200, 0x5492e77e, 0xff, 0x3, 0x1, 0x1000, 0xff, 0x5, 0x378, 0x5, 0x101, 0x81, 0x9, 0x2, 0x7, 0x4, 0x8, 0x2, 0xfffffffe, 0x1ff, 0xfffffeff, 0x8, 0x1, 0x0, 0x400, 0x4, 0x1, 0x747, 0x8, 0x1e, 0x1, 0x7ff, 0x7, 0x3, 0x8a, 0xd2, 0x40, 0x80000000, 0xb3, 0x7, 0x0, 0x0, 0x4, 0x7, 0x9, 0x100, 0x3, 0x1000, 0x20, 0x6, 0xa95, 0x6, 0x7f, 0x9, 0x0, 0x7, 0xb518, 0x101, 0x3f, 0x3c, 0xe1, 0x6, 0x1, 0x7, 0x8000]}]]}, {0x1f, 0x6, "ecd80c0b66b1e988f544adb3492b64952c03e605a3a256151fb99a"}, {0xc, 0x7, {0x1, 0x1}}, {0xc, 0x8, {0x0, 0x2}}}}, @m_connmark={0xec, 0xa, 0x0, 0x0, {{0xd}, {0x74, 0x2, 0x0, 0x1, [@TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x81, 0x9, 0x7, 0x1e6, 0xffffff7f}, 0x19b}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x0, 0x7fff, 0x1, 0x401, 0x3}}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0xcc6, 0x6, 0x2, 0x7fff, 0x7}, 0x1c}}, @TCA_CONNMARK_PARMS={0x1c, 0x1, {{0x7, 0x81, 0x10000000, 0x3ff, 0x8}, 0x1}}]}, {0x4b, 0x6, "81b22251458b0bcfc8f37ea1425c07cc939d3f8077d51f1a8146261048c30e7c89a5714fc3337cf5b9dee096474185c947ea0bd787e8337e502407eb6f80e0856c18833f917143"}, {0xc}, {0xc, 0x8, {0x3, 0x1}}}}]}, @TCA_RSVP_POLICE={0x40, 0x5, [@TCA_POLICE_TBF={0x3c, 0x1, {0x0, 0x4, 0xff, 0x7, 0x9, {0x0, 0x1, 0x4, 0x9b, 0x1, 0x8d65}, {0xa6, 0x0, 0x8, 0x1, 0x8000, 0x1}, 0xfffffffa, 0x445d, 0x4}}]}]}}, @TCA_RATE={0x6, 0x5, {0xfc}}]}, 0x24e4}, 0x1, 0x0, 0x0, 0x40000}, 0x20000041) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 298.066437][ T4543] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. [ 298.119601][ T4545] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 21:35:57 executing program 3: prlimit64(0x0, 0x0, 0x0, 0x0) sched_setscheduler(0x0, 0x0, &(0x7f0000000080)) prlimit64(0x0, 0x8, 0x0, 0x0) socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000000), 0xc, &(0x7f0000000300)={&(0x7f00000001c0)=@deltclass={0x24, 0x29, 0x20, 0x70bd2a, 0x25dfdbfd, {0x0, 0x0, 0x0, 0x0, {0x7}, {0x7, 0x4}, {0x7, 0x6}}}, 0x24}, 0x1, 0x0, 0x0, 0x80}, 0x80) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x2, 0x0) sendmmsg$sock(r2, &(0x7f0000000880)=[{{&(0x7f00000000c0)=@hci={0x1f, 0x3, 0x4}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000380)="1cb26435309dac80cd0c09462fab03f77208c17b2624131001a524ea72d409a6c5b67415024e2dca427943ee0584f071e7ac38c2798bc4ff925aad072d1840753f67ebb1ad542d225913cbbb66cf6527fa915b5a86c049d0f0d246f9390571453508300b77", 0x65}], 0x1}}, {{&(0x7f0000000480)=@nfc={0x27, 0x1, 0x0, 0x1}, 0x80, &(0x7f0000000140)=[{&(0x7f0000000500)="18c1ac1393def5b812bbdbdb1868e629a449909f08f7d664a25f65b97d0b38cc8de9c38079cf4bc2d22d2093b0a12428afbd01f1aa8321ecf7a7e53458b772a5e40051e86b228e424afc8107888ee7bbf6b8cd1502105faf33b16485e075583e0ee8e311caafa50979089c643e77fd11df9805a0eacbd2206b4c51a45af5a82aa9d75b3df6f9298cfae8984c616c503ae2c2237ff8d26f1e2455ec268a8c55bb4cba80854b209773d6437d9addc9536a50e84a80bb000d25b5b375f894130d7060f1c831a5dafdcb5671d5f4f1633d9b6f5d7c5906d6ab391fe736d8f4f9d7fc5b9540b6b87f6cc13307", 0xea}, {&(0x7f0000000600)="8e0d3ea9b3995ca984eb5f98289a791add360f37514222686da563e072e19600244caaafad5d3baf27ec41e2d717b44db910c18045f68dabe68781414ddc117fdcc6e59f2e78fa4a9009dc328bb138096bea78f3bc5ad5782152de1a141acdd23095c5a629e23aba36cdbcddd36d05fe3c865a63482be890c1d82f5f5c3356f5f4949a800b10cd9237f26390ed2cebb71d8bf87f030e22209e2f659d5674132ca96d323c26b08cdb42f1de199b9a098bba2ab3ea3ed264d16c91deffd8ea89c8184fbde3c2730f0adb055b74096b5ba2f0accf4a916d694c04eaedc1a85156bba049dafd56660f39df8f5a59d30a4ec78a04a2", 0xf3}, {&(0x7f0000000700)="b289a3822c062bf17c079ffcce6e6456bcdcdd937cc3d82b3190c897b4035f28af5ff8b1b6a1126b897f9ecda7f7e38a059bf432a5f53a1fe9c31865c2e916990fe804550f9af5a2d21a1c1f37bc12a051146b2f58721394d64b844e0b1aa85f84725b0650a292f9aa0898a6ed8191deaf2e92d27b4eafffe4abe01bae87533d7618b0eedf78b9ae856ee5652ba3f3e834e066267b8ec515b0612dc12184438c899dddf9c590b081dc8cdb453bb581f5b9a5428a270c828acdca9f4e52338d0e1b", 0xc1}], 0x3, &(0x7f0000000800)=[@txtime={{0x18, 0x1, 0x3d, 0x7bb3}}, @txtime={{0x18, 0x1, 0x3d, 0x80008000}}, @txtime={{0x18, 0x1, 0x3d, 0x8001}}, @timestamping={{0x14, 0x1, 0x25, 0x40}}], 0x60}}], 0x2, 0x4) mkdir(&(0x7f0000000180)='./bus\x00', 0x0) mkdir(&(0x7f0000000440)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)={[{@workdir={'workdir', 0x3d, './file1'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './bus'}}]}) 21:35:57 executing program 0: r0 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000500), 0x0, 0x0) write$damon_init_regions(r0, 0x0, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000540)={0x0, 0x0}) ptrace$setopts(0x4200, r1, 0x2, 0x20) request_key(&(0x7f0000000f80)='trusted\x00', &(0x7f0000000fc0)={'syz', 0x3}, &(0x7f0000001000)='\x00', 0xfffffffffffffff9) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f00000000c0)={0x0}) pipe2$watch_queue(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(r3, 0xc0189372, &(0x7f00000005c0)={{0x1, 0x1, 0x18, r0, {0x1}}, './file0\x00'}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0xc0182101, &(0x7f00000003c0)={r2, 0x8, 0x7}) getpeername$l2tp6(0xffffffffffffffff, &(0x7f0000000000)={0xa, 0x0, 0x0, @ipv4={""/10, ""/2, @multicast1}}, &(0x7f0000000080)=0x1e) write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x18, 0xfa00, {0x4, &(0x7f0000000280)={0xffffffffffffffff}, 0x0, 0x9}}, 0x20) write$RDMA_USER_CM_CMD_BIND(0xffffffffffffffff, &(0x7f0000000300)={0x14, 0x88, 0xfa00, {r4, 0x10, 0x0, @ib={0x1b, 0xa9ef, 0x6, {"a8a2e1a6b5e995e102b3a3c2a5c0e8e1"}, 0x0, 0x5, 0x1}}}, 0x90) syz_clone(0x40000000, &(0x7f0000000040)="9492a6fc72c0a4b8e3f38cedf245f4cb0e3f61831eaf74afad84dac28c2a", 0x1e, &(0x7f0000000500), &(0x7f0000000140), &(0x7f00000001c0)="29b338f208e24bfa107af0d7a758b64f9ade0e6bd0cf0511b6e60d5d8857f671f29718a0f0aa1505abf054657d4dea8020949d754298177a7bebe258051bb8c2de56d4942d6e4be459f7b4c8dee019fea64923c446ef7f2125299f85a60cfd843a5a4a5fae8ce80e52667a9172f623e4e662bdc5527a3def520fe1ac93d2e5407ebc1092f886239d0f0dd2e7bda03f02aeb1d57d42a465881999a81b90a8c075") 21:36:00 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:00 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) socket(0x10, 0x80002, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:00 executing program 3: prlimit64(0x0, 0x0, 0x0, 0x0) sched_setscheduler(0x0, 0x0, &(0x7f0000000080)) prlimit64(0x0, 0x8, 0x0, 0x0) socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000000), 0xc, &(0x7f0000000300)={&(0x7f00000001c0)=@deltclass={0x24, 0x29, 0x20, 0x70bd2a, 0x25dfdbfd, {0x0, 0x0, 0x0, 0x0, {0x7}, {0x7, 0x4}, {0x7, 0x6}}}, 0x24}, 0x1, 0x0, 0x0, 0x80}, 0x80) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x2, 0x0) sendmmsg$sock(r2, &(0x7f0000000880)=[{{&(0x7f00000000c0)=@hci={0x1f, 0x3, 0x4}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000380)="1cb26435309dac80cd0c09462fab03f77208c17b2624131001a524ea72d409a6c5b67415024e2dca427943ee0584f071e7ac38c2798bc4ff925aad072d1840753f67ebb1ad542d225913cbbb66cf6527fa915b5a86c049d0f0d246f9390571453508300b77", 0x65}], 0x1}}, {{&(0x7f0000000480)=@nfc={0x27, 0x1, 0x0, 0x1}, 0x80, &(0x7f0000000140)=[{&(0x7f0000000500)="18c1ac1393def5b812bbdbdb1868e629a449909f08f7d664a25f65b97d0b38cc8de9c38079cf4bc2d22d2093b0a12428afbd01f1aa8321ecf7a7e53458b772a5e40051e86b228e424afc8107888ee7bbf6b8cd1502105faf33b16485e075583e0ee8e311caafa50979089c643e77fd11df9805a0eacbd2206b4c51a45af5a82aa9d75b3df6f9298cfae8984c616c503ae2c2237ff8d26f1e2455ec268a8c55bb4cba80854b209773d6437d9addc9536a50e84a80bb000d25b5b375f894130d7060f1c831a5dafdcb5671d5f4f1633d9b6f5d7c5906d6ab391fe736d8f4f9d7fc5b9540b6b87f6cc13307", 0xea}, {&(0x7f0000000600)="8e0d3ea9b3995ca984eb5f98289a791add360f37514222686da563e072e19600244caaafad5d3baf27ec41e2d717b44db910c18045f68dabe68781414ddc117fdcc6e59f2e78fa4a9009dc328bb138096bea78f3bc5ad5782152de1a141acdd23095c5a629e23aba36cdbcddd36d05fe3c865a63482be890c1d82f5f5c3356f5f4949a800b10cd9237f26390ed2cebb71d8bf87f030e22209e2f659d5674132ca96d323c26b08cdb42f1de199b9a098bba2ab3ea3ed264d16c91deffd8ea89c8184fbde3c2730f0adb055b74096b5ba2f0accf4a916d694c04eaedc1a85156bba049dafd56660f39df8f5a59d30a4ec78a04a2", 0xf3}, {&(0x7f0000000700)="b289a3822c062bf17c079ffcce6e6456bcdcdd937cc3d82b3190c897b4035f28af5ff8b1b6a1126b897f9ecda7f7e38a059bf432a5f53a1fe9c31865c2e916990fe804550f9af5a2d21a1c1f37bc12a051146b2f58721394d64b844e0b1aa85f84725b0650a292f9aa0898a6ed8191deaf2e92d27b4eafffe4abe01bae87533d7618b0eedf78b9ae856ee5652ba3f3e834e066267b8ec515b0612dc12184438c899dddf9c590b081dc8cdb453bb581f5b9a5428a270c828acdca9f4e52338d0e1b", 0xc1}], 0x3, &(0x7f0000000800)=[@txtime={{0x18, 0x1, 0x3d, 0x7bb3}}, @txtime={{0x18, 0x1, 0x3d, 0x80008000}}, @txtime={{0x18, 0x1, 0x3d, 0x8001}}, @timestamping={{0x14, 0x1, 0x25, 0x40}}], 0x60}}], 0x2, 0x4) mkdir(&(0x7f0000000180)='./bus\x00', 0x0) mkdir(&(0x7f0000000440)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)={[{@workdir={'workdir', 0x3d, './file1'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './bus'}}]}) prlimit64(0x0, 0x0, 0x0, 0x0) (async) sched_setscheduler(0x0, 0x0, &(0x7f0000000080)) (async) prlimit64(0x0, 0x8, 0x0, 0x0) (async) socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000200)) (async) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000000), 0xc, &(0x7f0000000300)={&(0x7f00000001c0)=@deltclass={0x24, 0x29, 0x20, 0x70bd2a, 0x25dfdbfd, {0x0, 0x0, 0x0, 0x0, {0x7}, {0x7, 0x4}, {0x7, 0x6}}}, 0x24}, 0x1, 0x0, 0x0, 0x80}, 0x80) (async) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) (async) syz_init_net_socket$llc(0x1a, 0x2, 0x0) (async) sendmmsg$sock(r2, &(0x7f0000000880)=[{{&(0x7f00000000c0)=@hci={0x1f, 0x3, 0x4}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000380)="1cb26435309dac80cd0c09462fab03f77208c17b2624131001a524ea72d409a6c5b67415024e2dca427943ee0584f071e7ac38c2798bc4ff925aad072d1840753f67ebb1ad542d225913cbbb66cf6527fa915b5a86c049d0f0d246f9390571453508300b77", 0x65}], 0x1}}, {{&(0x7f0000000480)=@nfc={0x27, 0x1, 0x0, 0x1}, 0x80, &(0x7f0000000140)=[{&(0x7f0000000500)="18c1ac1393def5b812bbdbdb1868e629a449909f08f7d664a25f65b97d0b38cc8de9c38079cf4bc2d22d2093b0a12428afbd01f1aa8321ecf7a7e53458b772a5e40051e86b228e424afc8107888ee7bbf6b8cd1502105faf33b16485e075583e0ee8e311caafa50979089c643e77fd11df9805a0eacbd2206b4c51a45af5a82aa9d75b3df6f9298cfae8984c616c503ae2c2237ff8d26f1e2455ec268a8c55bb4cba80854b209773d6437d9addc9536a50e84a80bb000d25b5b375f894130d7060f1c831a5dafdcb5671d5f4f1633d9b6f5d7c5906d6ab391fe736d8f4f9d7fc5b9540b6b87f6cc13307", 0xea}, {&(0x7f0000000600)="8e0d3ea9b3995ca984eb5f98289a791add360f37514222686da563e072e19600244caaafad5d3baf27ec41e2d717b44db910c18045f68dabe68781414ddc117fdcc6e59f2e78fa4a9009dc328bb138096bea78f3bc5ad5782152de1a141acdd23095c5a629e23aba36cdbcddd36d05fe3c865a63482be890c1d82f5f5c3356f5f4949a800b10cd9237f26390ed2cebb71d8bf87f030e22209e2f659d5674132ca96d323c26b08cdb42f1de199b9a098bba2ab3ea3ed264d16c91deffd8ea89c8184fbde3c2730f0adb055b74096b5ba2f0accf4a916d694c04eaedc1a85156bba049dafd56660f39df8f5a59d30a4ec78a04a2", 0xf3}, {&(0x7f0000000700)="b289a3822c062bf17c079ffcce6e6456bcdcdd937cc3d82b3190c897b4035f28af5ff8b1b6a1126b897f9ecda7f7e38a059bf432a5f53a1fe9c31865c2e916990fe804550f9af5a2d21a1c1f37bc12a051146b2f58721394d64b844e0b1aa85f84725b0650a292f9aa0898a6ed8191deaf2e92d27b4eafffe4abe01bae87533d7618b0eedf78b9ae856ee5652ba3f3e834e066267b8ec515b0612dc12184438c899dddf9c590b081dc8cdb453bb581f5b9a5428a270c828acdca9f4e52338d0e1b", 0xc1}], 0x3, &(0x7f0000000800)=[@txtime={{0x18, 0x1, 0x3d, 0x7bb3}}, @txtime={{0x18, 0x1, 0x3d, 0x80008000}}, @txtime={{0x18, 0x1, 0x3d, 0x8001}}, @timestamping={{0x14, 0x1, 0x25, 0x40}}], 0x60}}], 0x2, 0x4) (async) mkdir(&(0x7f0000000180)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000440)='./file0\x00', 0x0) (async) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)={[{@workdir={'workdir', 0x3d, './file1'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './bus'}}]}) (async) 21:36:00 executing program 0: r0 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000500), 0x0, 0x0) write$damon_init_regions(r0, 0x0, 0x0) (async) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000540)={0x0, 0x0}) ptrace$setopts(0x4200, r1, 0x2, 0x20) request_key(&(0x7f0000000f80)='trusted\x00', &(0x7f0000000fc0)={'syz', 0x3}, &(0x7f0000001000)='\x00', 0xfffffffffffffff9) (async, rerun: 64) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f00000000c0)={0x0}) (async, rerun: 64) pipe2$watch_queue(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(r3, 0xc0189372, &(0x7f00000005c0)={{0x1, 0x1, 0x18, r0, {0x1}}, './file0\x00'}) (async) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0xc0182101, &(0x7f00000003c0)={r2, 0x8, 0x7}) (async, rerun: 32) getpeername$l2tp6(0xffffffffffffffff, &(0x7f0000000000)={0xa, 0x0, 0x0, @ipv4={""/10, ""/2, @multicast1}}, &(0x7f0000000080)=0x1e) (async, rerun: 32) write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x18, 0xfa00, {0x4, &(0x7f0000000280)={0xffffffffffffffff}, 0x0, 0x9}}, 0x20) write$RDMA_USER_CM_CMD_BIND(0xffffffffffffffff, &(0x7f0000000300)={0x14, 0x88, 0xfa00, {r4, 0x10, 0x0, @ib={0x1b, 0xa9ef, 0x6, {"a8a2e1a6b5e995e102b3a3c2a5c0e8e1"}, 0x0, 0x5, 0x1}}}, 0x90) syz_clone(0x40000000, &(0x7f0000000040)="9492a6fc72c0a4b8e3f38cedf245f4cb0e3f61831eaf74afad84dac28c2a", 0x1e, &(0x7f0000000500), &(0x7f0000000140), &(0x7f00000001c0)="29b338f208e24bfa107af0d7a758b64f9ade0e6bd0cf0511b6e60d5d8857f671f29718a0f0aa1505abf054657d4dea8020949d754298177a7bebe258051bb8c2de56d4942d6e4be459f7b4c8dee019fea64923c446ef7f2125299f85a60cfd843a5a4a5fae8ce80e52667a9172f623e4e662bdc5527a3def520fe1ac93d2e5407ebc1092f886239d0f0dd2e7bda03f02aeb1d57d42a465881999a81b90a8c075") 21:36:00 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:00 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x27) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file1/file0\x00'}, 0x6e) getpid() sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) syz_clone3(&(0x7f0000000a00)={0x54986000, 0x0, 0x0, 0x0, {0x18}, 0x0, 0x0, 0x0, 0x0}, 0x58) sched_setattr(0x0, &(0x7f0000000280)={0x38, 0x6, 0x9, 0x400, 0x2, 0x3ff, 0x40, 0x400}, 0x0) creat(&(0x7f0000000100)='./file1\x00', 0x0) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) r3 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) r4 = openat$cgroup_procs(r3, &(0x7f0000000000)='cgroup.procs\x00', 0x2, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f0000000880)=[{{&(0x7f0000000300)=@ethernet, 0x80, &(0x7f0000000800)=[{&(0x7f0000000380)=""/151, 0x97}, {&(0x7f0000000480)=""/174, 0xae}, {&(0x7f0000000540)=""/213, 0xd5}, {&(0x7f0000000640)=""/142, 0x8e}, {&(0x7f0000000700)=""/210, 0xd2}], 0x5, &(0x7f0000001740)=""/4096, 0x1000}, 0x7f}], 0x1, 0x2000, &(0x7f00000008c0)={0x77359400}) writev(r4, &(0x7f0000000440)=[{&(0x7f0000000180)='0', 0x1}], 0x1) sched_setattr(0x0, &(0x7f00000002c0)={0x38, 0x0, 0x4a, 0x9, 0x16, 0x0, 0xe4, 0x0, 0xa32, 0x6}, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x27) (async) getpid() (async) sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)) (async) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file1/file0\x00'}, 0x6e) (async) getpid() (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) (async) syz_clone3(&(0x7f0000000a00)={0x54986000, 0x0, 0x0, 0x0, {0x18}, 0x0, 0x0, 0x0, 0x0}, 0x58) (async) sched_setattr(0x0, &(0x7f0000000280)={0x38, 0x6, 0x9, 0x400, 0x2, 0x3ff, 0x40, 0x400}, 0x0) (async) creat(&(0x7f0000000100)='./file1\x00', 0x0) (async) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) (async) open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) (async) openat$cgroup_procs(r3, &(0x7f0000000000)='cgroup.procs\x00', 0x2, 0x0) (async) recvmmsg(0xffffffffffffffff, &(0x7f0000000880)=[{{&(0x7f0000000300)=@ethernet, 0x80, &(0x7f0000000800)=[{&(0x7f0000000380)=""/151, 0x97}, {&(0x7f0000000480)=""/174, 0xae}, {&(0x7f0000000540)=""/213, 0xd5}, {&(0x7f0000000640)=""/142, 0x8e}, {&(0x7f0000000700)=""/210, 0xd2}], 0x5, &(0x7f0000001740)=""/4096, 0x1000}, 0x7f}], 0x1, 0x2000, &(0x7f00000008c0)={0x77359400}) (async) writev(r4, &(0x7f0000000440)=[{&(0x7f0000000180)='0', 0x1}], 0x1) (async) sched_setattr(0x0, &(0x7f00000002c0)={0x38, 0x0, 0x4a, 0x9, 0x16, 0x0, 0xe4, 0x0, 0xa32, 0x6}, 0x0) (async) [ 301.301546][ T4581] overlayfs: failed to resolve './file1': -2 [ 301.743227][ T4584] IPVS: length: 148 != 24 21:36:00 executing program 0: r0 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000500), 0x0, 0x0) write$damon_init_regions(r0, 0x0, 0x0) (async) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000540)={0x0, 0x0}) ptrace$setopts(0x4200, r1, 0x2, 0x20) request_key(&(0x7f0000000f80)='trusted\x00', &(0x7f0000000fc0)={'syz', 0x3}, &(0x7f0000001000)='\x00', 0xfffffffffffffff9) (async, rerun: 32) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f00000000c0)={0x0}) (async, rerun: 32) pipe2$watch_queue(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(r3, 0xc0189372, &(0x7f00000005c0)={{0x1, 0x1, 0x18, r0, {0x1}}, './file0\x00'}) (async) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0xc0182101, &(0x7f00000003c0)={r2, 0x8, 0x7}) (async) getpeername$l2tp6(0xffffffffffffffff, &(0x7f0000000000)={0xa, 0x0, 0x0, @ipv4={""/10, ""/2, @multicast1}}, &(0x7f0000000080)=0x1e) write$RDMA_USER_CM_CMD_CREATE_ID(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x18, 0xfa00, {0x4, &(0x7f0000000280)={0xffffffffffffffff}, 0x0, 0x9}}, 0x20) write$RDMA_USER_CM_CMD_BIND(0xffffffffffffffff, &(0x7f0000000300)={0x14, 0x88, 0xfa00, {r4, 0x10, 0x0, @ib={0x1b, 0xa9ef, 0x6, {"a8a2e1a6b5e995e102b3a3c2a5c0e8e1"}, 0x0, 0x5, 0x1}}}, 0x90) syz_clone(0x40000000, &(0x7f0000000040)="9492a6fc72c0a4b8e3f38cedf245f4cb0e3f61831eaf74afad84dac28c2a", 0x1e, &(0x7f0000000500), &(0x7f0000000140), &(0x7f00000001c0)="29b338f208e24bfa107af0d7a758b64f9ade0e6bd0cf0511b6e60d5d8857f671f29718a0f0aa1505abf054657d4dea8020949d754298177a7bebe258051bb8c2de56d4942d6e4be459f7b4c8dee019fea64923c446ef7f2125299f85a60cfd843a5a4a5fae8ce80e52667a9172f623e4e662bdc5527a3def520fe1ac93d2e5407ebc1092f886239d0f0dd2e7bda03f02aeb1d57d42a465881999a81b90a8c075") [ 301.817541][ T4599] IPVS: length: 148 != 24 21:36:00 executing program 3: prlimit64(0x0, 0x0, 0x0, 0x0) (async) sched_setscheduler(0x0, 0x0, &(0x7f0000000080)) (async, rerun: 32) prlimit64(0x0, 0x8, 0x0, 0x0) (async, rerun: 32) socketpair$unix(0x1, 0x0, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000000), 0xc, &(0x7f0000000300)={&(0x7f00000001c0)=@deltclass={0x24, 0x29, 0x20, 0x70bd2a, 0x25dfdbfd, {0x0, 0x0, 0x0, 0x0, {0x7}, {0x7, 0x4}, {0x7, 0x6}}}, 0x24}, 0x1, 0x0, 0x0, 0x80}, 0x80) mkdir(&(0x7f0000000240)='./file1\x00', 0x0) (async) r2 = syz_init_net_socket$llc(0x1a, 0x2, 0x0) sendmmsg$sock(r2, &(0x7f0000000880)=[{{&(0x7f00000000c0)=@hci={0x1f, 0x3, 0x4}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000380)="1cb26435309dac80cd0c09462fab03f77208c17b2624131001a524ea72d409a6c5b67415024e2dca427943ee0584f071e7ac38c2798bc4ff925aad072d1840753f67ebb1ad542d225913cbbb66cf6527fa915b5a86c049d0f0d246f9390571453508300b77", 0x65}], 0x1}}, {{&(0x7f0000000480)=@nfc={0x27, 0x1, 0x0, 0x1}, 0x80, &(0x7f0000000140)=[{&(0x7f0000000500)="18c1ac1393def5b812bbdbdb1868e629a449909f08f7d664a25f65b97d0b38cc8de9c38079cf4bc2d22d2093b0a12428afbd01f1aa8321ecf7a7e53458b772a5e40051e86b228e424afc8107888ee7bbf6b8cd1502105faf33b16485e075583e0ee8e311caafa50979089c643e77fd11df9805a0eacbd2206b4c51a45af5a82aa9d75b3df6f9298cfae8984c616c503ae2c2237ff8d26f1e2455ec268a8c55bb4cba80854b209773d6437d9addc9536a50e84a80bb000d25b5b375f894130d7060f1c831a5dafdcb5671d5f4f1633d9b6f5d7c5906d6ab391fe736d8f4f9d7fc5b9540b6b87f6cc13307", 0xea}, {&(0x7f0000000600)="8e0d3ea9b3995ca984eb5f98289a791add360f37514222686da563e072e19600244caaafad5d3baf27ec41e2d717b44db910c18045f68dabe68781414ddc117fdcc6e59f2e78fa4a9009dc328bb138096bea78f3bc5ad5782152de1a141acdd23095c5a629e23aba36cdbcddd36d05fe3c865a63482be890c1d82f5f5c3356f5f4949a800b10cd9237f26390ed2cebb71d8bf87f030e22209e2f659d5674132ca96d323c26b08cdb42f1de199b9a098bba2ab3ea3ed264d16c91deffd8ea89c8184fbde3c2730f0adb055b74096b5ba2f0accf4a916d694c04eaedc1a85156bba049dafd56660f39df8f5a59d30a4ec78a04a2", 0xf3}, {&(0x7f0000000700)="b289a3822c062bf17c079ffcce6e6456bcdcdd937cc3d82b3190c897b4035f28af5ff8b1b6a1126b897f9ecda7f7e38a059bf432a5f53a1fe9c31865c2e916990fe804550f9af5a2d21a1c1f37bc12a051146b2f58721394d64b844e0b1aa85f84725b0650a292f9aa0898a6ed8191deaf2e92d27b4eafffe4abe01bae87533d7618b0eedf78b9ae856ee5652ba3f3e834e066267b8ec515b0612dc12184438c899dddf9c590b081dc8cdb453bb581f5b9a5428a270c828acdca9f4e52338d0e1b", 0xc1}], 0x3, &(0x7f0000000800)=[@txtime={{0x18, 0x1, 0x3d, 0x7bb3}}, @txtime={{0x18, 0x1, 0x3d, 0x80008000}}, @txtime={{0x18, 0x1, 0x3d, 0x8001}}, @timestamping={{0x14, 0x1, 0x25, 0x40}}], 0x60}}], 0x2, 0x4) (async, rerun: 32) mkdir(&(0x7f0000000180)='./bus\x00', 0x0) (rerun: 32) mkdir(&(0x7f0000000440)='./file0\x00', 0x0) mount$overlay(0x0, &(0x7f0000000200)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000280)={[{@workdir={'workdir', 0x3d, './file1'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './bus'}}]}) 21:36:01 executing program 3: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:01 executing program 0: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 302.106886][ T4620] IPVS: length: 148 != 24 21:36:01 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) [ 302.160679][ T4621] IPVS: length: 148 != 24 21:36:02 executing program 3: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:02 executing program 0: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 303.088916][ T4635] IPVS: length: 148 != 24 [ 303.105937][ T4636] IPVS: length: 148 != 24 21:36:04 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:04 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r3 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r3, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r4}) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)=0x6) 21:36:04 executing program 3: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:04 executing program 0: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 305.958172][ T4652] IPVS: length: 148 != 24 [ 306.074018][ T4654] IPVS: length: 148 != 24 [ 306.079713][ T4655] IPVS: length: 148 != 24 21:36:05 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x27) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file1/file0\x00'}, 0x6e) (async) getpid() sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) syz_clone3(&(0x7f0000000a00)={0x54986000, 0x0, 0x0, 0x0, {0x18}, 0x0, 0x0, 0x0, 0x0}, 0x58) sched_setattr(0x0, &(0x7f0000000280)={0x38, 0x6, 0x9, 0x400, 0x2, 0x3ff, 0x40, 0x400}, 0x0) creat(&(0x7f0000000100)='./file1\x00', 0x0) (async) mkdir(&(0x7f00000001c0)='./file0\x00', 0x0) (async) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000240)='cgroup2\x00', 0x0, 0x0) (async) r3 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) r4 = openat$cgroup_procs(r3, &(0x7f0000000000)='cgroup.procs\x00', 0x2, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f0000000880)=[{{&(0x7f0000000300)=@ethernet, 0x80, &(0x7f0000000800)=[{&(0x7f0000000380)=""/151, 0x97}, {&(0x7f0000000480)=""/174, 0xae}, {&(0x7f0000000540)=""/213, 0xd5}, {&(0x7f0000000640)=""/142, 0x8e}, {&(0x7f0000000700)=""/210, 0xd2}], 0x5, &(0x7f0000001740)=""/4096, 0x1000}, 0x7f}], 0x1, 0x2000, &(0x7f00000008c0)={0x77359400}) (async) writev(r4, &(0x7f0000000440)=[{&(0x7f0000000180)='0', 0x1}], 0x1) (async) sched_setattr(0x0, &(0x7f00000002c0)={0x38, 0x0, 0x4a, 0x9, 0x16, 0x0, 0xe4, 0x0, 0xa32, 0x6}, 0x0) 21:36:05 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:05 executing program 3: ioctl$PPPIOCSNPMODE(0xffffffffffffffff, 0x4008744b, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000001480)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=0xffffffffffffffff, @ANYBLOB="08000000000000002e7528202a56bb181506d8abba09f735b31a9c68109699ea67df60b82bfaaa2a2a976bf51c245adb4f3319a7128ced03fe508a0c86b872d600662b75fc4e9609f4d13a0b7eb2519820bb54a7a72d2cf84482d4be9f0b6251ab3d09ffabe09c90c0a1c280bd10706d9ce1698c357c07eb59aacbdf2e7b6f3305a34f6055647bd6f331816e9e13aca4c39a251272eb9f883ca3b05b66b30c096799fca37153be1dc7ef5c90117ed0c449fc72a4c2743a49df14dff4fabd9c1a7689f279febf802c2acde897ce888ad26f23fdc67b9b87f7c1be7fab2846e0a6000000"]) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000003c0)={0x0, 0x0, 0x0, 'queue0\x00'}) write$sndseq(0xffffffffffffffff, 0x0, 0x0) r1 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f00000000c0), 0x109502, 0x0) ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL(r1, 0x4058534c, &(0x7f0000000100)={0x40, 0x9, 0x9, 0x8, 0x3, 0x7}) write$binfmt_script(0xffffffffffffffff, 0x0, 0x68) ioctl$VHOST_SET_VRING_BASE(0xffffffffffffffff, 0xaf01, 0x0) ioctl$VHOST_SET_MEM_TABLE(0xffffffffffffffff, 0x4008af03, &(0x7f0000000080)=ANY=[]) add_key$user(0x0, 0x0, 0x0, 0x0, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_clone(0x4a100000, &(0x7f0000000280), 0x0, 0x0, 0x0, 0x0) r2 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x20a01) write$eventfd(0xffffffffffffffff, &(0x7f0000000080), 0xfffffe5e) ioctl$USBDEVFS_SUBMITURB(0xffffffffffffffff, 0x8038550a, &(0x7f00000002c0)=@urb_type_interrupt={0x1, {0x2, 0x1}, 0xfffffff8, 0x20, &(0x7f0000000480)="0f13af2a4245f1295028fd3f93ec8614113130a0da4491d56e385c19b3681e694a81fd63b0ac1d41e926eacc25f93c9e366f9dbe4aafeacf8ab8a3d61c53b6c8e0a793db2f4e616c69210bcc1ac80b36f273872e5db1bb94b25ff37ea777e33f5eac071471e3133508acfb1744e6e91f054a5f7810815843a4d826dd6877ea331db5a5e0d788452a09d24bc866a05f81e061a8da30b4aed3806eee744d497f3710a027152e49444fe810df67d3d3c1981223226739047b489ce46972cf84ba69ef3455ff77eabc5ca708472f0bedc27559e2845b9bd16d4fb7fcde6d4255f4e059e9401c3ac2fa44ff0362f9a9d04f118f219f12c80672b242922cd7340755731d6b83269c3d355f936e99282e1d48a2c87fa1a9fa087ca53ca6c1bdc40d71365374427986f66c61eb91f878b488a7104a3d11a840e1ed2425bd6c0abc4bc5ef5dc376acc265e682975704612b72b3f3532071adee9409dc8ee9a73970ed66067651a18f6743087bb312c6f53d2b0df7d9ccd30e6d91144d709ba377b3b4d92ee84961a290d27b04bcbb130b91d916660e76fd875723c6ac826176ea46b2509c283b710753f88402933860417479800ce9308004852471baaf8ca02cc3136efffb9aff32ca069c2a1d15005058504301a3d32a874ace9b1cdc70d05621b6667a55b133b9da77dee55468cdc8771eeca57db24ea15349cbc150bcb09cc9c5c11b0b7fb4bd6e8aa2729db3ecd93c62d60b065b8a628c12630dbe6cbc18906726d48354b77017727a8c625d4435f3ccc20d63fc029542a2fffcdd465018cf9637f1de65dda20a127c8c802af99d15371babd9243f1d9cc650ec0b8e939023e8f5c207034ab3f3e0bd5a058b283b25f6027838a6f17bd4f91977b30f2b795e5b945779d63083bb8bd2fd745a68c970f0530f9d8508ab517aa105bd60922f5f48a1f70da2522cd5b88f30cd8d2e90b252e94210b069ceb90e8c366287b608b857b8deb8f044f2e8995a7a67aaa4e512ac3274495b1310b3224a400343f269c8438360b648b4010f8ff8a4ef273837f6813847dcfe8b646e894b5f5442dd1b11f756fd45a5c87cea9898b3d13024836f8a5ed43e2ee7eec1ead33f560725bb5ef6ccc6405c5b014c496e0b16069cc80552dc80b708b0534184c1328940cb878be7ac1cf7a3193d583ce6fe003f40fae81fa8c6137e77a6a97dc4be1fac022da56aaa38175c4adb5bd126e45ba4b6c2ad6c8bbd41a8ac44bc6f86f900c648ed48972d55ec7b207872405a0409ac87e002066cde958b7e7065a8aff8bbe065251436dfb1d31331ca1138fc385cc2c2bea2123bf5177e4f41c0df951e1974c79e7e19595f93b13fd112c28a4048287df333c54f91ab8bffb283fce7ca160b21589aecda1bbeabfda3e22f2706fc164f8442dfa991d7b4d00b24d53b7b0665117fe9461e60834e06df5cf28cdf97b583519492033f2ec6a94ea15c524740725ce797de89596e3e60b2f45d15f05457587e0ba2f86f996ae4a5cfe8664a7be65cbe7f6ccd3232ebc28acb206a159a560843a6788d2acf45456c8624fe36bbb0db09bfaa3ab346c73be6314bef62710b863e907c76b194a1bfd7edbfdfe55118bc4629d4400e12f818c3b737fce85745fc3bb90ba49152ef11621a723d374b5ac4577639f74a43722e8982e1353022b47d7a5c30e1b9d51331ce91612408c7f053e6a697d442f8623243217e399aa942afec9580919206852d14ca2b3a3d4f74a2dc4fc71dc968db0fba3e55fa5b257ed49248edfc78a0c6574f1e8334e5678e46aecce4d6b6342ae0a6c3b405080934f6c4d2d2892e10ed1cc0eee929ee664dbd3ba94c71bc2f72b992e7fbd6baf1e5576f93c953d3b5824e14d53f9e193347c020c28e02afb74d6bf335c88d5572b41d533fb7b4a931be4f30141680be5777711a3afc75d2cf97c230051ed8cf66df344b931e7e79e12eb6fdd1048b466a97c6e5355c42b70eefa30b205ccaf5ebeee1c2990655f817c24b59487869852922cd882366289b346c2c699f01713d778b54ad761f000ac9bb19d707479f54dd25e222e50768f91620ee8c9fb74680ad7db20052315416eaa5a6efb2a7773a61f22ff884c2d67d0d26fd9f54243043e9d754a5e2bba6b254e74b7463ee4db53c8aa3e9c8289ecf8bd29168871bbc90a7294ce8c107d9ee35836ba18559d21f7dd0d374dd2b321de050be2e8278297217e341f101f9de1c472e253c8ecfc6edc5133df15b6ee4117eb3253143fd469a3083cb03ff6b20da63875990c9704393ba8334079a5e1837f7379dac23a0f51773dbc806ad3e3ba49979e5638c58661841c3c6cb2a1d77edb842e0ab5be6f4df9dc216d2872eccdc22f29573f486a646db48ac602e663987e3d94d167ab28e04dc32657300b090f7e17ad9b28d9d382cee53951458b1d246d205a24a23f7aa115f6464729e5cb9fd9bd5f7dc4b7e9c97986ac3dcd59340660e02685d27ae90cf7f5e2ee9042953286c1e891711925c7b9eae2ecbded906ea258270ce55981e7069b9050019a9e174e2bda023caac238380fa10f37f9549d15068c78d20bff47c612cbd68f56ebd38a20d64885abdb579e6babf91b91ec246f857e86392882aec6b99a586df58e685d8d50243b577e2ad29763198e7d6225505442e1d45cf794dc8b04806d9238c292414f78b964c8e5c65301772521ffa6a16520bcd5f631257fe99335a957df12d6f0756b5eaf9ff28275ee2d8618add84298ee6ca3b81db19faf99cec17e30f6a45330a612dfa70e67b4d4da06f76835f8ea3aaded0656d9f0c229e2932d62ab3758802734fae3d14a926499acfe113c7ed3ee1183815748885792c5de22a8b58295a5cb0d69134baf24ce6514f2cc588949988281882d0d307f35ba5eadfe3d0a63e5a7816f5ecfc964bdceb0782a3f794d14940da102cd10133fb6225d4ac3477f758793598f9566e9025412bcbeccb5f9fadb9ac8a009f503b5fa24c5fd1172d43cb4c51e03e66760e836dae7e287258693e8a5f71088ad7765ff2a0c0c458d870e6b37617eef61d9c2525310c406d79e2437a04bfbea63fa722196b313c42983c8f9a9c2650d76a3b8a8fc87a8e70e095389ab230942fabf361e2448264400c831eaf3b7f15969d2e00364a301a07a1e3df2e012212e3c14453fadeaa1a1dd874073736377eae62d3edc846aac4e3f655335e5a448ddbd6bff8d0c89bbd36ba82b1d59edf5b4fd032da5bc31bb16f317670d762649510ec57bfe702e024a6026e4b15c651afbe269c07b356bd25b6d548887d6fc0064c60fabe7b47c07f3ecc8cad95be77a8c53bc50fd1f5653bba36df557f28c66779b49d79296b7ff459e9e9b7bf4b09059f4d7f073e7b534af6999e1221e47050a8207c0e9d1790f20b2ff98d083682f48885e769df88e99215c09ffe06736a944f23db041a94ef45e37bde6a9d37b939a561ff38db372d78349981a02123c612bc7010c269e7afff6646e3d8ed1295ddbea6dd8b48b967d76a853aa0637eb5ccdd47e535da5ad7593f1b996f757b907e7714d9b6a619d814316fe441679b488e7c47962d824637d733ea4d0a1d58596cb53ab9985a5aa520e7c4a04ded567af856486c1ff23ed286f7a23cd79ed1d34a115e3af82f5e8640b34aad4c1c7b33f0bce1c5c53a8a81719b3ed8bcd82bacd5af73aa948d5d5b886d7cada4e6aa32ff2e3f6822f2fb80bd641593902b105c8059c69befc956300789f27112cf421bdd0c92a924f21d5f23f034f4162816d16de6f3fd671620ba8787dc793967196353f5bc81498eb3341e090d1819339e6dc103e0481d30e681baa58228971727385989e1c0a1853b0944a57764cdf201612d89cbf47d70e70f2158d0846d375e1b1fb53405d02b097dbfafdb6bee167b6cabea796c0a67e69b45d3215f1373353936be1e36f221d8561aac6efe7edd8eec1ff9b8d225f6fcd4a8b8c822e7bd4dec8918a89b9cdddcbfe62c6ae34f896c6b11958549a3692259da27da826ad9c0e3b70c55b234d6d978a3182752e48253fae2538fcf8e0be54e6467f07136161cb988ac6f6c7a5c291a9142f02e8343c60682d06019c4e50eadf0efda866af390a56c6db18683f1aa7ad60af73e87d820f1da04a99a5d7baf4315f939bd7186e91d1ecee1b278aed7a0f854138a0ef8dec1288fbacb523ff4eeef54e9629841f906e775a0597288afdbdba48e39e7e3202dd7a709e9fe1dd885ffde448a86b26352094e05da929401da1a51515d8ca3ba53a4a59c9de458159b937f4fd97261810fbccfc57e879f562c7ec0b18cfc4a2d6edf97bd56122a4e508ab42e0e20a2a4a0a890097b3c0ca5fc3bee9ba110fa522bab2ff634e45544b3296b670b47ce3e3949587bba23fe417c98f6c049f8e5693f5bcbe50b594eafedaa12fd68b980cae2772ae9bd52d443bd824eb4fb8f8e70896ec26508c6d402490255e33e1bdabebe5dcb3d7f0c03b894a5932bb2243cc6dab6cba7a9b5e177ea2e20b8435b020c11aebcc96ed5e7fd21de53d1f5959d33becd9178763fd509600d7502b871b92bdeef68f7ddbe4ec0b25204e8798ea89e7a5fad118f23c9b8b764cd16a00929fffd3a69502edb1c7cfc7634d25bb29c83d039fd4b6df0b24e8962f7ca8ac5a6070e496027e62c988d33a4a098690d11ce42129c17e3af6e2011d101e949a3248286f8c0585fdb4d3393f60219fb012103d229738487ec241cc6540b7208d96e1572e0df35c660edd3036304d75521c33aea23c3c586210999864fba55d3bd2e1fa0fd7902d72d31a5ca9a18117b46476ceadc2ffc0eb34ea9eb754b719cb8dd7bf9a1175e02e6a294e8766d3932c78846cf54e214e0e92e5c92bc7f15968be4207de60c7ddc808e591b0355739cc6aefdee643d8b587aba366188cec5080bb256bb6a3dfdf2d368f09ba2fda385fc37c0adae5082bbc2ccfcb0a12d8a536c1e4e0be711349481cd448fc15c0c9d792a1bda02e304aea98b5f91f5aff244e19cb9a29e1aafc41cc85247dd7582d982a4672f9d042c792520867d888d0230ab0617b5b8b3f68a6b5e49fbb55f3bd12cc451592d01aa577cb4d333713a8c9fae64730d202f4d161cedff3618a569ffac94c2b9187d7d1a1f76896683b3dd4ab6a3d3f7b9e9424d25773618470146511eea9dfe38bbd014027b812f7ec827311deae8147ae6ab391a584be4da11ed81970b092629984c43572a55bd54dd78810006c18f28cf9c38df2aaaf5887cc90e7bf5247b49cb18d62b307c042e00bd2c1d919174184dfbdd2cbe77b9b03dca54977b3bc57ed045c3c7d5b2f3f1863bbf5fbaf61d79ebcf8ebe7a61a143cddfaf8f33f805d68fbbea75f9b772af79a067a0853bc996cb51d995a6ac3de5c7a488e1145a86331791ef9a26285fbcdf2ef393ad82579895e1eac8e5d3d982710790d94a817763c94319542315aec9cb0044fa2cc28bc37e308573f8b0496743963f3b3135ad0b6c9d3ec96b76612ee2302ea5b3a30c1a3f63aab2acaa2e061b1cea5b85e5e693d1ccf1bb46880719304aea76a07095bf911bac62350f773197c4285321bd1188ff6d975d371fa0f04c19c7f0ac7eea065f5eac312a2eb8c12c329a443bf0e553ee55bd4278b1faafde50863c9b9522f54ba34507d0fa161d3f7b0474897b6da4155bae2cd5aaed0521da83321375dddcddd22b665bbe28602ab90347a58a4aff8eccb9bd1b0d1d2159636b94b0b1de12536c3b79cf14bac7221666169d74a0072123cb94cc08350cab", 0x1000, 0xa91, 0x3, 0x0, 0xfffffffb, 0x1, &(0x7f0000000200)="1a51a4b7c49675060cc474ae27556889985ec4e798b2d70ad669796f1606c46ec82cd910d38aa5f8598878dbf5d3d4c8bb30b9061bb253d7b0bcb3d20de3411146b989cb392a33bc094cc8f1733b9e99895c385005423e67550177aec8fa9e9769e89761356880b2bd36728dc72fdd41d61689845c6d37465a4cc65bb266976784797d23ba91b26b9f76e93d1732aace963b7b357891f8fbf5306f71da99cedec660a5c1890079"}) r3 = creat(&(0x7f0000000400)='./file1\x00', 0x0) write$eventfd(r3, &(0x7f0000000080), 0xfffffe5e) r4 = syz_open_dev$vcsn(&(0x7f00000001c0), 0x4, 0x80040) ioctl$VHOST_VSOCK_SET_RUNNING(r4, 0x4004af61, &(0x7f0000000000)=0x3) ioctl$USBDEVFS_IOCTL(r2, 0x8108551b, &(0x7f0000000380)) [ 306.524299][ T4670] IPVS: length: 148 != 24 21:36:05 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r3 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r3, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r4}) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)=0x6) 21:36:05 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) setsockopt$bt_l2cap_L2CAP_OPTIONS(0xffffffffffffffff, 0x6, 0x1, &(0x7f0000000040)={0x401, 0x8e3, 0x8, 0x6, 0xeb, 0x40, 0x8001}, 0xc) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000002, 0x28011, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000014c0), 0xffffffffffffffff) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x401, 0x7, 0x81}) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r4, 0xae41, 0x1) syz_genetlink_get_family_id$nl80211(&(0x7f0000000100), r0) mmap(&(0x7f0000902000/0x1000)=nil, 0x1000, 0x2000009, 0x40010, r4, 0x79ee6000) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f00000003c0)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2c, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r6}, @void}}, [@chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x994}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0x78}]}, 0x2c}}, 0x48890) r7 = socket$nl_generic(0x10, 0x3, 0x10) sendfile(r7, r1, 0x0, 0x10000a006) 21:36:05 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 307.256221][ T27] audit: type=1804 audit(1659562566.345:8): pid=4682 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir4128981129/syzkaller.Y6n7Yt/38/cgroup.controllers" dev="sda1" ino=1174 res=1 errno=0 21:36:06 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:06 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r3 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r3, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r3, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r4}) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)=0x6) [ 307.625083][ T4697] IPVS: length: 148 != 24 21:36:06 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:07 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) (async, rerun: 32) setsockopt$bt_l2cap_L2CAP_OPTIONS(0xffffffffffffffff, 0x6, 0x1, &(0x7f0000000040)={0x401, 0x8e3, 0x8, 0x6, 0xeb, 0x40, 0x8001}, 0xc) (rerun: 32) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000002, 0x28011, r0, 0x0) (async) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) (async, rerun: 32) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000014c0), 0xffffffffffffffff) (async, rerun: 32) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x401, 0x7, 0x81}) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r4, 0xae41, 0x1) (async, rerun: 64) syz_genetlink_get_family_id$nl80211(&(0x7f0000000100), r0) (async, rerun: 64) mmap(&(0x7f0000902000/0x1000)=nil, 0x1000, 0x2000009, 0x40010, r4, 0x79ee6000) (async) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f00000003c0)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2c, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r6}, @void}}, [@chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x994}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0x78}]}, 0x2c}}, 0x48890) (async, rerun: 32) r7 = socket$nl_generic(0x10, 0x3, 0x10) (rerun: 32) sendfile(r7, r1, 0x0, 0x10000a006) [ 308.218834][ T4706] IPVS: length: 148 != 24 21:36:07 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) setsockopt$bt_l2cap_L2CAP_OPTIONS(0xffffffffffffffff, 0x6, 0x1, &(0x7f0000000040)={0x401, 0x8e3, 0x8, 0x6, 0xeb, 0x40, 0x8001}, 0xc) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000002, 0x28011, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000014c0), 0xffffffffffffffff) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x401, 0x7, 0x81}) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r4, 0xae41, 0x1) syz_genetlink_get_family_id$nl80211(&(0x7f0000000100), r0) mmap(&(0x7f0000902000/0x1000)=nil, 0x1000, 0x2000009, 0x40010, r4, 0x79ee6000) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f00000003c0)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2c, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r6}, @void}}, [@chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x994}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0x78}]}, 0x2c}}, 0x48890) r7 = socket$nl_generic(0x10, 0x3, 0x10) sendfile(r7, r1, 0x0, 0x10000a006) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) (async) setsockopt$bt_l2cap_L2CAP_OPTIONS(0xffffffffffffffff, 0x6, 0x1, &(0x7f0000000040)={0x401, 0x8e3, 0x8, 0x6, 0xeb, 0x40, 0x8001}, 0xc) (async) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000002, 0x28011, r0, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) (async) syz_genetlink_get_family_id$nl80211(&(0x7f00000014c0), 0xffffffffffffffff) (async) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x401, 0x7, 0x81}) (async) openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) (async) ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) (async) ioctl$KVM_CREATE_VCPU(r4, 0xae41, 0x1) (async) syz_genetlink_get_family_id$nl80211(&(0x7f0000000100), r0) (async) mmap(&(0x7f0000902000/0x1000)=nil, 0x1000, 0x2000009, 0x40010, r4, 0x79ee6000) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f00000003c0)={'wlan0\x00'}) (async) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2c, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r6}, @void}}, [@chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x994}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0x78}]}, 0x2c}}, 0x48890) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) sendfile(r7, r1, 0x0, 0x10000a006) (async) 21:36:07 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) socket(0x10, 0x3, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 308.594961][ T27] audit: type=1804 audit(1659562567.685:9): pid=4716 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir4128981129/syzkaller.Y6n7Yt/40/cgroup.controllers" dev="sda1" ino=1170 res=1 errno=0 [ 308.671133][ T4723] IPVS: length: 148 != 24 [ 308.775104][ T27] audit: type=1804 audit(1659562567.865:10): pid=4724 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.0" name="/root/syzkaller-testdir4128981129/syzkaller.Y6n7Yt/40/cgroup.controllers" dev="sda1" ino=1170 res=1 errno=0 21:36:09 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(r0, 0x29, 0x2e, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @remote}}}, 0x108) setsockopt$inet6_group_source_req(r0, 0x29, 0x2e, &(0x7f0000000140)={0x0, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @empty}}}, 0x108) bind$inet6(r0, &(0x7f0000000000)={0xa, 0xe22, 0x0, @empty}, 0x1c) setsockopt$inet6_udp_encap(r0, 0x11, 0x64, &(0x7f0000000340)=0x3, 0x4) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000300)={'ip6gre0\x00', &(0x7f0000000280)={'ip6tnl0\x00', 0x0, 0x2f, 0x5, 0x0, 0x81, 0x6e, @remote, @private0={0xfc, 0x0, '\x00', 0x1f}, 0x80, 0x8, 0x6a08ad24, 0x4}}) syz_emit_ethernet(0x46, &(0x7f00000003c0)={@broadcast, @multicast, @void, {@ipv6={0x86dd, @udp={0x0, 0x6, "010100", 0x10, 0x11, 0x0, @private0, @mcast2, {[], {0x0, 0xe22, 0x10, 0x0, @gue={{0x2}}}}}}}}, 0x0) 21:36:09 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:10 executing program 3: ioctl$PPPIOCSNPMODE(0xffffffffffffffff, 0x4008744b, 0x0) (async, rerun: 64) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000001480)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=0xffffffffffffffff, @ANYBLOB="08000000000000002e7528202a56bb181506d8abba09f735b31a9c68109699ea67df60b82bfaaa2a2a976bf51c245adb4f3319a7128ced03fe508a0c86b872d600662b75fc4e9609f4d13a0b7eb2519820bb54a7a72d2cf84482d4be9f0b6251ab3d09ffabe09c90c0a1c280bd10706d9ce1698c357c07eb59aacbdf2e7b6f3305a34f6055647bd6f331816e9e13aca4c39a251272eb9f883ca3b05b66b30c096799fca37153be1dc7ef5c90117ed0c449fc72a4c2743a49df14dff4fabd9c1a7689f279febf802c2acde897ce888ad26f23fdc67b9b87f7c1be7fab2846e0a6000000"]) (rerun: 64) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000003c0)={0x0, 0x0, 0x0, 'queue0\x00'}) write$sndseq(0xffffffffffffffff, 0x0, 0x0) (async) r1 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f00000000c0), 0x109502, 0x0) ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL(r1, 0x4058534c, &(0x7f0000000100)={0x40, 0x9, 0x9, 0x8, 0x3, 0x7}) write$binfmt_script(0xffffffffffffffff, 0x0, 0x68) (async, rerun: 32) ioctl$VHOST_SET_VRING_BASE(0xffffffffffffffff, 0xaf01, 0x0) (async, rerun: 32) ioctl$VHOST_SET_MEM_TABLE(0xffffffffffffffff, 0x4008af03, &(0x7f0000000080)=ANY=[]) (async) add_key$user(0x0, 0x0, 0x0, 0x0, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) (async) syz_clone(0x4a100000, &(0x7f0000000280), 0x0, 0x0, 0x0, 0x0) (async, rerun: 32) r2 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x20a01) (rerun: 32) write$eventfd(0xffffffffffffffff, &(0x7f0000000080), 0xfffffe5e) (async) ioctl$USBDEVFS_SUBMITURB(0xffffffffffffffff, 0x8038550a, &(0x7f00000002c0)=@urb_type_interrupt={0x1, {0x2, 0x1}, 0xfffffff8, 0x20, &(0x7f0000000480)="0f13af2a4245f1295028fd3f93ec8614113130a0da4491d56e385c19b3681e694a81fd63b0ac1d41e926eacc25f93c9e366f9dbe4aafeacf8ab8a3d61c53b6c8e0a793db2f4e616c69210bcc1ac80b36f273872e5db1bb94b25ff37ea777e33f5eac071471e3133508acfb1744e6e91f054a5f7810815843a4d826dd6877ea331db5a5e0d788452a09d24bc866a05f81e061a8da30b4aed3806eee744d497f3710a027152e49444fe810df67d3d3c1981223226739047b489ce46972cf84ba69ef3455ff77eabc5ca708472f0bedc27559e2845b9bd16d4fb7fcde6d4255f4e059e9401c3ac2fa44ff0362f9a9d04f118f219f12c80672b242922cd7340755731d6b83269c3d355f936e99282e1d48a2c87fa1a9fa087ca53ca6c1bdc40d71365374427986f66c61eb91f878b488a7104a3d11a840e1ed2425bd6c0abc4bc5ef5dc376acc265e682975704612b72b3f3532071adee9409dc8ee9a73970ed66067651a18f6743087bb312c6f53d2b0df7d9ccd30e6d91144d709ba377b3b4d92ee84961a290d27b04bcbb130b91d916660e76fd875723c6ac826176ea46b2509c283b710753f88402933860417479800ce9308004852471baaf8ca02cc3136efffb9aff32ca069c2a1d15005058504301a3d32a874ace9b1cdc70d05621b6667a55b133b9da77dee55468cdc8771eeca57db24ea15349cbc150bcb09cc9c5c11b0b7fb4bd6e8aa2729db3ecd93c62d60b065b8a628c12630dbe6cbc18906726d48354b77017727a8c625d4435f3ccc20d63fc029542a2fffcdd465018cf9637f1de65dda20a127c8c802af99d15371babd9243f1d9cc650ec0b8e939023e8f5c207034ab3f3e0bd5a058b283b25f6027838a6f17bd4f91977b30f2b795e5b945779d63083bb8bd2fd745a68c970f0530f9d8508ab517aa105bd60922f5f48a1f70da2522cd5b88f30cd8d2e90b252e94210b069ceb90e8c366287b608b857b8deb8f044f2e8995a7a67aaa4e512ac3274495b1310b3224a400343f269c8438360b648b4010f8ff8a4ef273837f6813847dcfe8b646e894b5f5442dd1b11f756fd45a5c87cea9898b3d13024836f8a5ed43e2ee7eec1ead33f560725bb5ef6ccc6405c5b014c496e0b16069cc80552dc80b708b0534184c1328940cb878be7ac1cf7a3193d583ce6fe003f40fae81fa8c6137e77a6a97dc4be1fac022da56aaa38175c4adb5bd126e45ba4b6c2ad6c8bbd41a8ac44bc6f86f900c648ed48972d55ec7b207872405a0409ac87e002066cde958b7e7065a8aff8bbe065251436dfb1d31331ca1138fc385cc2c2bea2123bf5177e4f41c0df951e1974c79e7e19595f93b13fd112c28a4048287df333c54f91ab8bffb283fce7ca160b21589aecda1bbeabfda3e22f2706fc164f8442dfa991d7b4d00b24d53b7b0665117fe9461e60834e06df5cf28cdf97b583519492033f2ec6a94ea15c524740725ce797de89596e3e60b2f45d15f05457587e0ba2f86f996ae4a5cfe8664a7be65cbe7f6ccd3232ebc28acb206a159a560843a6788d2acf45456c8624fe36bbb0db09bfaa3ab346c73be6314bef62710b863e907c76b194a1bfd7edbfdfe55118bc4629d4400e12f818c3b737fce85745fc3bb90ba49152ef11621a723d374b5ac4577639f74a43722e8982e1353022b47d7a5c30e1b9d51331ce91612408c7f053e6a697d442f8623243217e399aa942afec9580919206852d14ca2b3a3d4f74a2dc4fc71dc968db0fba3e55fa5b257ed49248edfc78a0c6574f1e8334e5678e46aecce4d6b6342ae0a6c3b405080934f6c4d2d2892e10ed1cc0eee929ee664dbd3ba94c71bc2f72b992e7fbd6baf1e5576f93c953d3b5824e14d53f9e193347c020c28e02afb74d6bf335c88d5572b41d533fb7b4a931be4f30141680be5777711a3afc75d2cf97c230051ed8cf66df344b931e7e79e12eb6fdd1048b466a97c6e5355c42b70eefa30b205ccaf5ebeee1c2990655f817c24b59487869852922cd882366289b346c2c699f01713d778b54ad761f000ac9bb19d707479f54dd25e222e50768f91620ee8c9fb74680ad7db20052315416eaa5a6efb2a7773a61f22ff884c2d67d0d26fd9f54243043e9d754a5e2bba6b254e74b7463ee4db53c8aa3e9c8289ecf8bd29168871bbc90a7294ce8c107d9ee35836ba18559d21f7dd0d374dd2b321de050be2e8278297217e341f101f9de1c472e253c8ecfc6edc5133df15b6ee4117eb3253143fd469a3083cb03ff6b20da63875990c9704393ba8334079a5e1837f7379dac23a0f51773dbc806ad3e3ba49979e5638c58661841c3c6cb2a1d77edb842e0ab5be6f4df9dc216d2872eccdc22f29573f486a646db48ac602e663987e3d94d167ab28e04dc32657300b090f7e17ad9b28d9d382cee53951458b1d246d205a24a23f7aa115f6464729e5cb9fd9bd5f7dc4b7e9c97986ac3dcd59340660e02685d27ae90cf7f5e2ee9042953286c1e891711925c7b9eae2ecbded906ea258270ce55981e7069b9050019a9e174e2bda023caac238380fa10f37f9549d15068c78d20bff47c612cbd68f56ebd38a20d64885abdb579e6babf91b91ec246f857e86392882aec6b99a586df58e685d8d50243b577e2ad29763198e7d6225505442e1d45cf794dc8b04806d9238c292414f78b964c8e5c65301772521ffa6a16520bcd5f631257fe99335a957df12d6f0756b5eaf9ff28275ee2d8618add84298ee6ca3b81db19faf99cec17e30f6a45330a612dfa70e67b4d4da06f76835f8ea3aaded0656d9f0c229e2932d62ab3758802734fae3d14a926499acfe113c7ed3ee1183815748885792c5de22a8b58295a5cb0d69134baf24ce6514f2cc588949988281882d0d307f35ba5eadfe3d0a63e5a7816f5ecfc964bdceb0782a3f794d14940da102cd10133fb6225d4ac3477f758793598f9566e9025412bcbeccb5f9fadb9ac8a009f503b5fa24c5fd1172d43cb4c51e03e66760e836dae7e287258693e8a5f71088ad7765ff2a0c0c458d870e6b37617eef61d9c2525310c406d79e2437a04bfbea63fa722196b313c42983c8f9a9c2650d76a3b8a8fc87a8e70e095389ab230942fabf361e2448264400c831eaf3b7f15969d2e00364a301a07a1e3df2e012212e3c14453fadeaa1a1dd874073736377eae62d3edc846aac4e3f655335e5a448ddbd6bff8d0c89bbd36ba82b1d59edf5b4fd032da5bc31bb16f317670d762649510ec57bfe702e024a6026e4b15c651afbe269c07b356bd25b6d548887d6fc0064c60fabe7b47c07f3ecc8cad95be77a8c53bc50fd1f5653bba36df557f28c66779b49d79296b7ff459e9e9b7bf4b09059f4d7f073e7b534af6999e1221e47050a8207c0e9d1790f20b2ff98d083682f48885e769df88e99215c09ffe06736a944f23db041a94ef45e37bde6a9d37b939a561ff38db372d78349981a02123c612bc7010c269e7afff6646e3d8ed1295ddbea6dd8b48b967d76a853aa0637eb5ccdd47e535da5ad7593f1b996f757b907e7714d9b6a619d814316fe441679b488e7c47962d824637d733ea4d0a1d58596cb53ab9985a5aa520e7c4a04ded567af856486c1ff23ed286f7a23cd79ed1d34a115e3af82f5e8640b34aad4c1c7b33f0bce1c5c53a8a81719b3ed8bcd82bacd5af73aa948d5d5b886d7cada4e6aa32ff2e3f6822f2fb80bd641593902b105c8059c69befc956300789f27112cf421bdd0c92a924f21d5f23f034f4162816d16de6f3fd671620ba8787dc793967196353f5bc81498eb3341e090d1819339e6dc103e0481d30e681baa58228971727385989e1c0a1853b0944a57764cdf201612d89cbf47d70e70f2158d0846d375e1b1fb53405d02b097dbfafdb6bee167b6cabea796c0a67e69b45d3215f1373353936be1e36f221d8561aac6efe7edd8eec1ff9b8d225f6fcd4a8b8c822e7bd4dec8918a89b9cdddcbfe62c6ae34f896c6b11958549a3692259da27da826ad9c0e3b70c55b234d6d978a3182752e48253fae2538fcf8e0be54e6467f07136161cb988ac6f6c7a5c291a9142f02e8343c60682d06019c4e50eadf0efda866af390a56c6db18683f1aa7ad60af73e87d820f1da04a99a5d7baf4315f939bd7186e91d1ecee1b278aed7a0f854138a0ef8dec1288fbacb523ff4eeef54e9629841f906e775a0597288afdbdba48e39e7e3202dd7a709e9fe1dd885ffde448a86b26352094e05da929401da1a51515d8ca3ba53a4a59c9de458159b937f4fd97261810fbccfc57e879f562c7ec0b18cfc4a2d6edf97bd56122a4e508ab42e0e20a2a4a0a890097b3c0ca5fc3bee9ba110fa522bab2ff634e45544b3296b670b47ce3e3949587bba23fe417c98f6c049f8e5693f5bcbe50b594eafedaa12fd68b980cae2772ae9bd52d443bd824eb4fb8f8e70896ec26508c6d402490255e33e1bdabebe5dcb3d7f0c03b894a5932bb2243cc6dab6cba7a9b5e177ea2e20b8435b020c11aebcc96ed5e7fd21de53d1f5959d33becd9178763fd509600d7502b871b92bdeef68f7ddbe4ec0b25204e8798ea89e7a5fad118f23c9b8b764cd16a00929fffd3a69502edb1c7cfc7634d25bb29c83d039fd4b6df0b24e8962f7ca8ac5a6070e496027e62c988d33a4a098690d11ce42129c17e3af6e2011d101e949a3248286f8c0585fdb4d3393f60219fb012103d229738487ec241cc6540b7208d96e1572e0df35c660edd3036304d75521c33aea23c3c586210999864fba55d3bd2e1fa0fd7902d72d31a5ca9a18117b46476ceadc2ffc0eb34ea9eb754b719cb8dd7bf9a1175e02e6a294e8766d3932c78846cf54e214e0e92e5c92bc7f15968be4207de60c7ddc808e591b0355739cc6aefdee643d8b587aba366188cec5080bb256bb6a3dfdf2d368f09ba2fda385fc37c0adae5082bbc2ccfcb0a12d8a536c1e4e0be711349481cd448fc15c0c9d792a1bda02e304aea98b5f91f5aff244e19cb9a29e1aafc41cc85247dd7582d982a4672f9d042c792520867d888d0230ab0617b5b8b3f68a6b5e49fbb55f3bd12cc451592d01aa577cb4d333713a8c9fae64730d202f4d161cedff3618a569ffac94c2b9187d7d1a1f76896683b3dd4ab6a3d3f7b9e9424d25773618470146511eea9dfe38bbd014027b812f7ec827311deae8147ae6ab391a584be4da11ed81970b092629984c43572a55bd54dd78810006c18f28cf9c38df2aaaf5887cc90e7bf5247b49cb18d62b307c042e00bd2c1d919174184dfbdd2cbe77b9b03dca54977b3bc57ed045c3c7d5b2f3f1863bbf5fbaf61d79ebcf8ebe7a61a143cddfaf8f33f805d68fbbea75f9b772af79a067a0853bc996cb51d995a6ac3de5c7a488e1145a86331791ef9a26285fbcdf2ef393ad82579895e1eac8e5d3d982710790d94a817763c94319542315aec9cb0044fa2cc28bc37e308573f8b0496743963f3b3135ad0b6c9d3ec96b76612ee2302ea5b3a30c1a3f63aab2acaa2e061b1cea5b85e5e693d1ccf1bb46880719304aea76a07095bf911bac62350f773197c4285321bd1188ff6d975d371fa0f04c19c7f0ac7eea065f5eac312a2eb8c12c329a443bf0e553ee55bd4278b1faafde50863c9b9522f54ba34507d0fa161d3f7b0474897b6da4155bae2cd5aaed0521da83321375dddcddd22b665bbe28602ab90347a58a4aff8eccb9bd1b0d1d2159636b94b0b1de12536c3b79cf14bac7221666169d74a0072123cb94cc08350cab", 0x1000, 0xa91, 0x3, 0x0, 0xfffffffb, 0x1, &(0x7f0000000200)="1a51a4b7c49675060cc474ae27556889985ec4e798b2d70ad669796f1606c46ec82cd910d38aa5f8598878dbf5d3d4c8bb30b9061bb253d7b0bcb3d20de3411146b989cb392a33bc094cc8f1733b9e99895c385005423e67550177aec8fa9e9769e89761356880b2bd36728dc72fdd41d61689845c6d37465a4cc65bb266976784797d23ba91b26b9f76e93d1732aace963b7b357891f8fbf5306f71da99cedec660a5c1890079"}) r3 = creat(&(0x7f0000000400)='./file1\x00', 0x0) write$eventfd(r3, &(0x7f0000000080), 0xfffffe5e) (async) r4 = syz_open_dev$vcsn(&(0x7f00000001c0), 0x4, 0x80040) ioctl$VHOST_VSOCK_SET_RUNNING(r4, 0x4004af61, &(0x7f0000000000)=0x3) ioctl$USBDEVFS_IOCTL(r2, 0x8108551b, &(0x7f0000000380)) 21:36:10 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:10 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:10 executing program 0: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) setsockopt$bt_l2cap_L2CAP_OPTIONS(0xffffffffffffffff, 0x6, 0x1, &(0x7f0000000040)={0x401, 0x8e3, 0x8, 0x6, 0xeb, 0x40, 0x8001}, 0xc) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000002, 0x28011, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f00000014c0), 0xffffffffffffffff) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x401, 0x7, 0x81}) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r4, 0xae41, 0x1) syz_genetlink_get_family_id$nl80211(&(0x7f0000000100), r0) mmap(&(0x7f0000902000/0x1000)=nil, 0x1000, 0x2000009, 0x40010, r4, 0x79ee6000) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r5, 0x8933, &(0x7f00000003c0)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_CHANNEL_SWITCH(r5, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2c, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r6}, @void}}, [@chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8, 0x26, @random=0x994}], @NL80211_ATTR_CH_SWITCH_COUNT={0x8, 0xb7, 0x78}]}, 0x2c}}, 0x48890) r7 = socket$nl_generic(0x10, 0x3, 0x10) sendfile(r7, r1, 0x0, 0x10000a006) 21:36:10 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(r0, 0x29, 0x2e, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @remote}}}, 0x108) setsockopt$inet6_group_source_req(r0, 0x29, 0x2e, &(0x7f0000000140)={0x0, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @empty}}}, 0x108) (async) bind$inet6(r0, &(0x7f0000000000)={0xa, 0xe22, 0x0, @empty}, 0x1c) (async) setsockopt$inet6_udp_encap(r0, 0x11, 0x64, &(0x7f0000000340)=0x3, 0x4) (async) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000300)={'ip6gre0\x00', &(0x7f0000000280)={'ip6tnl0\x00', 0x0, 0x2f, 0x5, 0x0, 0x81, 0x6e, @remote, @private0={0xfc, 0x0, '\x00', 0x1f}, 0x80, 0x8, 0x6a08ad24, 0x4}}) syz_emit_ethernet(0x46, &(0x7f00000003c0)={@broadcast, @multicast, @void, {@ipv6={0x86dd, @udp={0x0, 0x6, "010100", 0x10, 0x11, 0x0, @private0, @mcast2, {[], {0x0, 0xe22, 0x10, 0x0, @gue={{0x2}}}}}}}}, 0x0) 21:36:10 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:10 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(r0, 0x29, 0x2e, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @remote}}}, 0x108) (async) setsockopt$inet6_group_source_req(r0, 0x29, 0x2e, &(0x7f0000000140)={0x0, {{0xa, 0x0, 0x0, @mcast2}}, {{0xa, 0x0, 0x0, @empty}}}, 0x108) (async) bind$inet6(r0, &(0x7f0000000000)={0xa, 0xe22, 0x0, @empty}, 0x1c) (async) setsockopt$inet6_udp_encap(r0, 0x11, 0x64, &(0x7f0000000340)=0x3, 0x4) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000300)={'ip6gre0\x00', &(0x7f0000000280)={'ip6tnl0\x00', 0x0, 0x2f, 0x5, 0x0, 0x81, 0x6e, @remote, @private0={0xfc, 0x0, '\x00', 0x1f}, 0x80, 0x8, 0x6a08ad24, 0x4}}) (async) syz_emit_ethernet(0x46, &(0x7f00000003c0)={@broadcast, @multicast, @void, {@ipv6={0x86dd, @udp={0x0, 0x6, "010100", 0x10, 0x11, 0x0, @private0, @mcast2, {[], {0x0, 0xe22, 0x10, 0x0, @gue={{0x2}}}}}}}}, 0x0) [ 311.452141][ T27] audit: type=1804 audit(1659562570.545:11): pid=4752 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.0" name="/root/syzkaller-testdir4128981129/syzkaller.Y6n7Yt/41/cgroup.controllers" dev="sda1" ino=1157 res=1 errno=0 21:36:10 executing program 3: ioctl$PPPIOCSNPMODE(0xffffffffffffffff, 0x4008744b, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000001480)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=0xffffffffffffffff, @ANYBLOB="08000000000000002e7528202a56bb181506d8abba09f735b31a9c68109699ea67df60b82bfaaa2a2a976bf51c245adb4f3319a7128ced03fe508a0c86b872d600662b75fc4e9609f4d13a0b7eb2519820bb54a7a72d2cf84482d4be9f0b6251ab3d09ffabe09c90c0a1c280bd10706d9ce1698c357c07eb59aacbdf2e7b6f3305a34f6055647bd6f331816e9e13aca4c39a251272eb9f883ca3b05b66b30c096799fca37153be1dc7ef5c90117ed0c449fc72a4c2743a49df14dff4fabd9c1a7689f279febf802c2acde897ce888ad26f23fdc67b9b87f7c1be7fab2846e0a6000000"]) (async) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000003c0)={0x0, 0x0, 0x0, 'queue0\x00'}) (async) write$sndseq(0xffffffffffffffff, 0x0, 0x0) (async) r1 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f00000000c0), 0x109502, 0x0) ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL(r1, 0x4058534c, &(0x7f0000000100)={0x40, 0x9, 0x9, 0x8, 0x3, 0x7}) (async) write$binfmt_script(0xffffffffffffffff, 0x0, 0x68) ioctl$VHOST_SET_VRING_BASE(0xffffffffffffffff, 0xaf01, 0x0) ioctl$VHOST_SET_MEM_TABLE(0xffffffffffffffff, 0x4008af03, &(0x7f0000000080)=ANY=[]) (async) add_key$user(0x0, 0x0, 0x0, 0x0, 0x0) (async) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) (async) syz_clone(0x4a100000, &(0x7f0000000280), 0x0, 0x0, 0x0, 0x0) r2 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x20a01) (async) write$eventfd(0xffffffffffffffff, &(0x7f0000000080), 0xfffffe5e) (async) ioctl$USBDEVFS_SUBMITURB(0xffffffffffffffff, 0x8038550a, &(0x7f00000002c0)=@urb_type_interrupt={0x1, {0x2, 0x1}, 0xfffffff8, 0x20, &(0x7f0000000480)="0f13af2a4245f1295028fd3f93ec8614113130a0da4491d56e385c19b3681e694a81fd63b0ac1d41e926eacc25f93c9e366f9dbe4aafeacf8ab8a3d61c53b6c8e0a793db2f4e616c69210bcc1ac80b36f273872e5db1bb94b25ff37ea777e33f5eac071471e3133508acfb1744e6e91f054a5f7810815843a4d826dd6877ea331db5a5e0d788452a09d24bc866a05f81e061a8da30b4aed3806eee744d497f3710a027152e49444fe810df67d3d3c1981223226739047b489ce46972cf84ba69ef3455ff77eabc5ca708472f0bedc27559e2845b9bd16d4fb7fcde6d4255f4e059e9401c3ac2fa44ff0362f9a9d04f118f219f12c80672b242922cd7340755731d6b83269c3d355f936e99282e1d48a2c87fa1a9fa087ca53ca6c1bdc40d71365374427986f66c61eb91f878b488a7104a3d11a840e1ed2425bd6c0abc4bc5ef5dc376acc265e682975704612b72b3f3532071adee9409dc8ee9a73970ed66067651a18f6743087bb312c6f53d2b0df7d9ccd30e6d91144d709ba377b3b4d92ee84961a290d27b04bcbb130b91d916660e76fd875723c6ac826176ea46b2509c283b710753f88402933860417479800ce9308004852471baaf8ca02cc3136efffb9aff32ca069c2a1d15005058504301a3d32a874ace9b1cdc70d05621b6667a55b133b9da77dee55468cdc8771eeca57db24ea15349cbc150bcb09cc9c5c11b0b7fb4bd6e8aa2729db3ecd93c62d60b065b8a628c12630dbe6cbc18906726d48354b77017727a8c625d4435f3ccc20d63fc029542a2fffcdd465018cf9637f1de65dda20a127c8c802af99d15371babd9243f1d9cc650ec0b8e939023e8f5c207034ab3f3e0bd5a058b283b25f6027838a6f17bd4f91977b30f2b795e5b945779d63083bb8bd2fd745a68c970f0530f9d8508ab517aa105bd60922f5f48a1f70da2522cd5b88f30cd8d2e90b252e94210b069ceb90e8c366287b608b857b8deb8f044f2e8995a7a67aaa4e512ac3274495b1310b3224a400343f269c8438360b648b4010f8ff8a4ef273837f6813847dcfe8b646e894b5f5442dd1b11f756fd45a5c87cea9898b3d13024836f8a5ed43e2ee7eec1ead33f560725bb5ef6ccc6405c5b014c496e0b16069cc80552dc80b708b0534184c1328940cb878be7ac1cf7a3193d583ce6fe003f40fae81fa8c6137e77a6a97dc4be1fac022da56aaa38175c4adb5bd126e45ba4b6c2ad6c8bbd41a8ac44bc6f86f900c648ed48972d55ec7b207872405a0409ac87e002066cde958b7e7065a8aff8bbe065251436dfb1d31331ca1138fc385cc2c2bea2123bf5177e4f41c0df951e1974c79e7e19595f93b13fd112c28a4048287df333c54f91ab8bffb283fce7ca160b21589aecda1bbeabfda3e22f2706fc164f8442dfa991d7b4d00b24d53b7b0665117fe9461e60834e06df5cf28cdf97b583519492033f2ec6a94ea15c524740725ce797de89596e3e60b2f45d15f05457587e0ba2f86f996ae4a5cfe8664a7be65cbe7f6ccd3232ebc28acb206a159a560843a6788d2acf45456c8624fe36bbb0db09bfaa3ab346c73be6314bef62710b863e907c76b194a1bfd7edbfdfe55118bc4629d4400e12f818c3b737fce85745fc3bb90ba49152ef11621a723d374b5ac4577639f74a43722e8982e1353022b47d7a5c30e1b9d51331ce91612408c7f053e6a697d442f8623243217e399aa942afec9580919206852d14ca2b3a3d4f74a2dc4fc71dc968db0fba3e55fa5b257ed49248edfc78a0c6574f1e8334e5678e46aecce4d6b6342ae0a6c3b405080934f6c4d2d2892e10ed1cc0eee929ee664dbd3ba94c71bc2f72b992e7fbd6baf1e5576f93c953d3b5824e14d53f9e193347c020c28e02afb74d6bf335c88d5572b41d533fb7b4a931be4f30141680be5777711a3afc75d2cf97c230051ed8cf66df344b931e7e79e12eb6fdd1048b466a97c6e5355c42b70eefa30b205ccaf5ebeee1c2990655f817c24b59487869852922cd882366289b346c2c699f01713d778b54ad761f000ac9bb19d707479f54dd25e222e50768f91620ee8c9fb74680ad7db20052315416eaa5a6efb2a7773a61f22ff884c2d67d0d26fd9f54243043e9d754a5e2bba6b254e74b7463ee4db53c8aa3e9c8289ecf8bd29168871bbc90a7294ce8c107d9ee35836ba18559d21f7dd0d374dd2b321de050be2e8278297217e341f101f9de1c472e253c8ecfc6edc5133df15b6ee4117eb3253143fd469a3083cb03ff6b20da63875990c9704393ba8334079a5e1837f7379dac23a0f51773dbc806ad3e3ba49979e5638c58661841c3c6cb2a1d77edb842e0ab5be6f4df9dc216d2872eccdc22f29573f486a646db48ac602e663987e3d94d167ab28e04dc32657300b090f7e17ad9b28d9d382cee53951458b1d246d205a24a23f7aa115f6464729e5cb9fd9bd5f7dc4b7e9c97986ac3dcd59340660e02685d27ae90cf7f5e2ee9042953286c1e891711925c7b9eae2ecbded906ea258270ce55981e7069b9050019a9e174e2bda023caac238380fa10f37f9549d15068c78d20bff47c612cbd68f56ebd38a20d64885abdb579e6babf91b91ec246f857e86392882aec6b99a586df58e685d8d50243b577e2ad29763198e7d6225505442e1d45cf794dc8b04806d9238c292414f78b964c8e5c65301772521ffa6a16520bcd5f631257fe99335a957df12d6f0756b5eaf9ff28275ee2d8618add84298ee6ca3b81db19faf99cec17e30f6a45330a612dfa70e67b4d4da06f76835f8ea3aaded0656d9f0c229e2932d62ab3758802734fae3d14a926499acfe113c7ed3ee1183815748885792c5de22a8b58295a5cb0d69134baf24ce6514f2cc588949988281882d0d307f35ba5eadfe3d0a63e5a7816f5ecfc964bdceb0782a3f794d14940da102cd10133fb6225d4ac3477f758793598f9566e9025412bcbeccb5f9fadb9ac8a009f503b5fa24c5fd1172d43cb4c51e03e66760e836dae7e287258693e8a5f71088ad7765ff2a0c0c458d870e6b37617eef61d9c2525310c406d79e2437a04bfbea63fa722196b313c42983c8f9a9c2650d76a3b8a8fc87a8e70e095389ab230942fabf361e2448264400c831eaf3b7f15969d2e00364a301a07a1e3df2e012212e3c14453fadeaa1a1dd874073736377eae62d3edc846aac4e3f655335e5a448ddbd6bff8d0c89bbd36ba82b1d59edf5b4fd032da5bc31bb16f317670d762649510ec57bfe702e024a6026e4b15c651afbe269c07b356bd25b6d548887d6fc0064c60fabe7b47c07f3ecc8cad95be77a8c53bc50fd1f5653bba36df557f28c66779b49d79296b7ff459e9e9b7bf4b09059f4d7f073e7b534af6999e1221e47050a8207c0e9d1790f20b2ff98d083682f48885e769df88e99215c09ffe06736a944f23db041a94ef45e37bde6a9d37b939a561ff38db372d78349981a02123c612bc7010c269e7afff6646e3d8ed1295ddbea6dd8b48b967d76a853aa0637eb5ccdd47e535da5ad7593f1b996f757b907e7714d9b6a619d814316fe441679b488e7c47962d824637d733ea4d0a1d58596cb53ab9985a5aa520e7c4a04ded567af856486c1ff23ed286f7a23cd79ed1d34a115e3af82f5e8640b34aad4c1c7b33f0bce1c5c53a8a81719b3ed8bcd82bacd5af73aa948d5d5b886d7cada4e6aa32ff2e3f6822f2fb80bd641593902b105c8059c69befc956300789f27112cf421bdd0c92a924f21d5f23f034f4162816d16de6f3fd671620ba8787dc793967196353f5bc81498eb3341e090d1819339e6dc103e0481d30e681baa58228971727385989e1c0a1853b0944a57764cdf201612d89cbf47d70e70f2158d0846d375e1b1fb53405d02b097dbfafdb6bee167b6cabea796c0a67e69b45d3215f1373353936be1e36f221d8561aac6efe7edd8eec1ff9b8d225f6fcd4a8b8c822e7bd4dec8918a89b9cdddcbfe62c6ae34f896c6b11958549a3692259da27da826ad9c0e3b70c55b234d6d978a3182752e48253fae2538fcf8e0be54e6467f07136161cb988ac6f6c7a5c291a9142f02e8343c60682d06019c4e50eadf0efda866af390a56c6db18683f1aa7ad60af73e87d820f1da04a99a5d7baf4315f939bd7186e91d1ecee1b278aed7a0f854138a0ef8dec1288fbacb523ff4eeef54e9629841f906e775a0597288afdbdba48e39e7e3202dd7a709e9fe1dd885ffde448a86b26352094e05da929401da1a51515d8ca3ba53a4a59c9de458159b937f4fd97261810fbccfc57e879f562c7ec0b18cfc4a2d6edf97bd56122a4e508ab42e0e20a2a4a0a890097b3c0ca5fc3bee9ba110fa522bab2ff634e45544b3296b670b47ce3e3949587bba23fe417c98f6c049f8e5693f5bcbe50b594eafedaa12fd68b980cae2772ae9bd52d443bd824eb4fb8f8e70896ec26508c6d402490255e33e1bdabebe5dcb3d7f0c03b894a5932bb2243cc6dab6cba7a9b5e177ea2e20b8435b020c11aebcc96ed5e7fd21de53d1f5959d33becd9178763fd509600d7502b871b92bdeef68f7ddbe4ec0b25204e8798ea89e7a5fad118f23c9b8b764cd16a00929fffd3a69502edb1c7cfc7634d25bb29c83d039fd4b6df0b24e8962f7ca8ac5a6070e496027e62c988d33a4a098690d11ce42129c17e3af6e2011d101e949a3248286f8c0585fdb4d3393f60219fb012103d229738487ec241cc6540b7208d96e1572e0df35c660edd3036304d75521c33aea23c3c586210999864fba55d3bd2e1fa0fd7902d72d31a5ca9a18117b46476ceadc2ffc0eb34ea9eb754b719cb8dd7bf9a1175e02e6a294e8766d3932c78846cf54e214e0e92e5c92bc7f15968be4207de60c7ddc808e591b0355739cc6aefdee643d8b587aba366188cec5080bb256bb6a3dfdf2d368f09ba2fda385fc37c0adae5082bbc2ccfcb0a12d8a536c1e4e0be711349481cd448fc15c0c9d792a1bda02e304aea98b5f91f5aff244e19cb9a29e1aafc41cc85247dd7582d982a4672f9d042c792520867d888d0230ab0617b5b8b3f68a6b5e49fbb55f3bd12cc451592d01aa577cb4d333713a8c9fae64730d202f4d161cedff3618a569ffac94c2b9187d7d1a1f76896683b3dd4ab6a3d3f7b9e9424d25773618470146511eea9dfe38bbd014027b812f7ec827311deae8147ae6ab391a584be4da11ed81970b092629984c43572a55bd54dd78810006c18f28cf9c38df2aaaf5887cc90e7bf5247b49cb18d62b307c042e00bd2c1d919174184dfbdd2cbe77b9b03dca54977b3bc57ed045c3c7d5b2f3f1863bbf5fbaf61d79ebcf8ebe7a61a143cddfaf8f33f805d68fbbea75f9b772af79a067a0853bc996cb51d995a6ac3de5c7a488e1145a86331791ef9a26285fbcdf2ef393ad82579895e1eac8e5d3d982710790d94a817763c94319542315aec9cb0044fa2cc28bc37e308573f8b0496743963f3b3135ad0b6c9d3ec96b76612ee2302ea5b3a30c1a3f63aab2acaa2e061b1cea5b85e5e693d1ccf1bb46880719304aea76a07095bf911bac62350f773197c4285321bd1188ff6d975d371fa0f04c19c7f0ac7eea065f5eac312a2eb8c12c329a443bf0e553ee55bd4278b1faafde50863c9b9522f54ba34507d0fa161d3f7b0474897b6da4155bae2cd5aaed0521da83321375dddcddd22b665bbe28602ab90347a58a4aff8eccb9bd1b0d1d2159636b94b0b1de12536c3b79cf14bac7221666169d74a0072123cb94cc08350cab", 0x1000, 0xa91, 0x3, 0x0, 0xfffffffb, 0x1, &(0x7f0000000200)="1a51a4b7c49675060cc474ae27556889985ec4e798b2d70ad669796f1606c46ec82cd910d38aa5f8598878dbf5d3d4c8bb30b9061bb253d7b0bcb3d20de3411146b989cb392a33bc094cc8f1733b9e99895c385005423e67550177aec8fa9e9769e89761356880b2bd36728dc72fdd41d61689845c6d37465a4cc65bb266976784797d23ba91b26b9f76e93d1732aace963b7b357891f8fbf5306f71da99cedec660a5c1890079"}) (async) r3 = creat(&(0x7f0000000400)='./file1\x00', 0x0) write$eventfd(r3, &(0x7f0000000080), 0xfffffe5e) (async) r4 = syz_open_dev$vcsn(&(0x7f00000001c0), 0x4, 0x80040) ioctl$VHOST_VSOCK_SET_RUNNING(r4, 0x4004af61, &(0x7f0000000000)=0x3) ioctl$USBDEVFS_IOCTL(r2, 0x8108551b, &(0x7f0000000380)) 21:36:10 executing program 5: ioctl$PPPIOCSNPMODE(0xffffffffffffffff, 0x4008744b, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000001480)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=0xffffffffffffffff, @ANYBLOB="08000000000000002e7528202a56bb181506d8abba09f735b31a9c68109699ea67df60b82bfaaa2a2a976bf51c245adb4f3319a7128ced03fe508a0c86b872d600662b75fc4e9609f4d13a0b7eb2519820bb54a7a72d2cf84482d4be9f0b6251ab3d09ffabe09c90c0a1c280bd10706d9ce1698c357c07eb59aacbdf2e7b6f3305a34f6055647bd6f331816e9e13aca4c39a251272eb9f883ca3b05b66b30c096799fca37153be1dc7ef5c90117ed0c449fc72a4c2743a49df14dff4fabd9c1a7689f279febf802c2acde897ce888ad26f23fdc67b9b87f7c1be7fab2846e0a6000000"]) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f00000003c0)={0x0, 0x0, 0x0, 'queue0\x00'}) write$sndseq(0xffffffffffffffff, 0x0, 0x0) r1 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f00000000c0), 0x109502, 0x0) ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL(r1, 0x4058534c, &(0x7f0000000100)={0x40, 0x9, 0x9, 0x8, 0x3, 0x7}) write$binfmt_script(0xffffffffffffffff, 0x0, 0x68) ioctl$VHOST_SET_VRING_BASE(0xffffffffffffffff, 0xaf01, 0x0) ioctl$VHOST_SET_MEM_TABLE(0xffffffffffffffff, 0x4008af03, &(0x7f0000000080)=ANY=[]) add_key$user(0x0, 0x0, 0x0, 0x0, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_clone(0x4a100000, &(0x7f0000000280), 0x0, 0x0, 0x0, 0x0) r2 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x20a01) write$eventfd(0xffffffffffffffff, &(0x7f0000000080), 0xfffffe5e) ioctl$USBDEVFS_SUBMITURB(0xffffffffffffffff, 0x8038550a, &(0x7f00000002c0)=@urb_type_interrupt={0x1, {0x2, 0x1}, 0xfffffff8, 0x20, &(0x7f0000000480)="0f13af2a4245f1295028fd3f93ec8614113130a0da4491d56e385c19b3681e694a81fd63b0ac1d41e926eacc25f93c9e366f9dbe4aafeacf8ab8a3d61c53b6c8e0a793db2f4e616c69210bcc1ac80b36f273872e5db1bb94b25ff37ea777e33f5eac071471e3133508acfb1744e6e91f054a5f7810815843a4d826dd6877ea331db5a5e0d788452a09d24bc866a05f81e061a8da30b4aed3806eee744d497f3710a027152e49444fe810df67d3d3c1981223226739047b489ce46972cf84ba69ef3455ff77eabc5ca708472f0bedc27559e2845b9bd16d4fb7fcde6d4255f4e059e9401c3ac2fa44ff0362f9a9d04f118f219f12c80672b242922cd7340755731d6b83269c3d355f936e99282e1d48a2c87fa1a9fa087ca53ca6c1bdc40d71365374427986f66c61eb91f878b488a7104a3d11a840e1ed2425bd6c0abc4bc5ef5dc376acc265e682975704612b72b3f3532071adee9409dc8ee9a73970ed66067651a18f6743087bb312c6f53d2b0df7d9ccd30e6d91144d709ba377b3b4d92ee84961a290d27b04bcbb130b91d916660e76fd875723c6ac826176ea46b2509c283b710753f88402933860417479800ce9308004852471baaf8ca02cc3136efffb9aff32ca069c2a1d15005058504301a3d32a874ace9b1cdc70d05621b6667a55b133b9da77dee55468cdc8771eeca57db24ea15349cbc150bcb09cc9c5c11b0b7fb4bd6e8aa2729db3ecd93c62d60b065b8a628c12630dbe6cbc18906726d48354b77017727a8c625d4435f3ccc20d63fc029542a2fffcdd465018cf9637f1de65dda20a127c8c802af99d15371babd9243f1d9cc650ec0b8e939023e8f5c207034ab3f3e0bd5a058b283b25f6027838a6f17bd4f91977b30f2b795e5b945779d63083bb8bd2fd745a68c970f0530f9d8508ab517aa105bd60922f5f48a1f70da2522cd5b88f30cd8d2e90b252e94210b069ceb90e8c366287b608b857b8deb8f044f2e8995a7a67aaa4e512ac3274495b1310b3224a400343f269c8438360b648b4010f8ff8a4ef273837f6813847dcfe8b646e894b5f5442dd1b11f756fd45a5c87cea9898b3d13024836f8a5ed43e2ee7eec1ead33f560725bb5ef6ccc6405c5b014c496e0b16069cc80552dc80b708b0534184c1328940cb878be7ac1cf7a3193d583ce6fe003f40fae81fa8c6137e77a6a97dc4be1fac022da56aaa38175c4adb5bd126e45ba4b6c2ad6c8bbd41a8ac44bc6f86f900c648ed48972d55ec7b207872405a0409ac87e002066cde958b7e7065a8aff8bbe065251436dfb1d31331ca1138fc385cc2c2bea2123bf5177e4f41c0df951e1974c79e7e19595f93b13fd112c28a4048287df333c54f91ab8bffb283fce7ca160b21589aecda1bbeabfda3e22f2706fc164f8442dfa991d7b4d00b24d53b7b0665117fe9461e60834e06df5cf28cdf97b583519492033f2ec6a94ea15c524740725ce797de89596e3e60b2f45d15f05457587e0ba2f86f996ae4a5cfe8664a7be65cbe7f6ccd3232ebc28acb206a159a560843a6788d2acf45456c8624fe36bbb0db09bfaa3ab346c73be6314bef62710b863e907c76b194a1bfd7edbfdfe55118bc4629d4400e12f818c3b737fce85745fc3bb90ba49152ef11621a723d374b5ac4577639f74a43722e8982e1353022b47d7a5c30e1b9d51331ce91612408c7f053e6a697d442f8623243217e399aa942afec9580919206852d14ca2b3a3d4f74a2dc4fc71dc968db0fba3e55fa5b257ed49248edfc78a0c6574f1e8334e5678e46aecce4d6b6342ae0a6c3b405080934f6c4d2d2892e10ed1cc0eee929ee664dbd3ba94c71bc2f72b992e7fbd6baf1e5576f93c953d3b5824e14d53f9e193347c020c28e02afb74d6bf335c88d5572b41d533fb7b4a931be4f30141680be5777711a3afc75d2cf97c230051ed8cf66df344b931e7e79e12eb6fdd1048b466a97c6e5355c42b70eefa30b205ccaf5ebeee1c2990655f817c24b59487869852922cd882366289b346c2c699f01713d778b54ad761f000ac9bb19d707479f54dd25e222e50768f91620ee8c9fb74680ad7db20052315416eaa5a6efb2a7773a61f22ff884c2d67d0d26fd9f54243043e9d754a5e2bba6b254e74b7463ee4db53c8aa3e9c8289ecf8bd29168871bbc90a7294ce8c107d9ee35836ba18559d21f7dd0d374dd2b321de050be2e8278297217e341f101f9de1c472e253c8ecfc6edc5133df15b6ee4117eb3253143fd469a3083cb03ff6b20da63875990c9704393ba8334079a5e1837f7379dac23a0f51773dbc806ad3e3ba49979e5638c58661841c3c6cb2a1d77edb842e0ab5be6f4df9dc216d2872eccdc22f29573f486a646db48ac602e663987e3d94d167ab28e04dc32657300b090f7e17ad9b28d9d382cee53951458b1d246d205a24a23f7aa115f6464729e5cb9fd9bd5f7dc4b7e9c97986ac3dcd59340660e02685d27ae90cf7f5e2ee9042953286c1e891711925c7b9eae2ecbded906ea258270ce55981e7069b9050019a9e174e2bda023caac238380fa10f37f9549d15068c78d20bff47c612cbd68f56ebd38a20d64885abdb579e6babf91b91ec246f857e86392882aec6b99a586df58e685d8d50243b577e2ad29763198e7d6225505442e1d45cf794dc8b04806d9238c292414f78b964c8e5c65301772521ffa6a16520bcd5f631257fe99335a957df12d6f0756b5eaf9ff28275ee2d8618add84298ee6ca3b81db19faf99cec17e30f6a45330a612dfa70e67b4d4da06f76835f8ea3aaded0656d9f0c229e2932d62ab3758802734fae3d14a926499acfe113c7ed3ee1183815748885792c5de22a8b58295a5cb0d69134baf24ce6514f2cc588949988281882d0d307f35ba5eadfe3d0a63e5a7816f5ecfc964bdceb0782a3f794d14940da102cd10133fb6225d4ac3477f758793598f9566e9025412bcbeccb5f9fadb9ac8a009f503b5fa24c5fd1172d43cb4c51e03e66760e836dae7e287258693e8a5f71088ad7765ff2a0c0c458d870e6b37617eef61d9c2525310c406d79e2437a04bfbea63fa722196b313c42983c8f9a9c2650d76a3b8a8fc87a8e70e095389ab230942fabf361e2448264400c831eaf3b7f15969d2e00364a301a07a1e3df2e012212e3c14453fadeaa1a1dd874073736377eae62d3edc846aac4e3f655335e5a448ddbd6bff8d0c89bbd36ba82b1d59edf5b4fd032da5bc31bb16f317670d762649510ec57bfe702e024a6026e4b15c651afbe269c07b356bd25b6d548887d6fc0064c60fabe7b47c07f3ecc8cad95be77a8c53bc50fd1f5653bba36df557f28c66779b49d79296b7ff459e9e9b7bf4b09059f4d7f073e7b534af6999e1221e47050a8207c0e9d1790f20b2ff98d083682f48885e769df88e99215c09ffe06736a944f23db041a94ef45e37bde6a9d37b939a561ff38db372d78349981a02123c612bc7010c269e7afff6646e3d8ed1295ddbea6dd8b48b967d76a853aa0637eb5ccdd47e535da5ad7593f1b996f757b907e7714d9b6a619d814316fe441679b488e7c47962d824637d733ea4d0a1d58596cb53ab9985a5aa520e7c4a04ded567af856486c1ff23ed286f7a23cd79ed1d34a115e3af82f5e8640b34aad4c1c7b33f0bce1c5c53a8a81719b3ed8bcd82bacd5af73aa948d5d5b886d7cada4e6aa32ff2e3f6822f2fb80bd641593902b105c8059c69befc956300789f27112cf421bdd0c92a924f21d5f23f034f4162816d16de6f3fd671620ba8787dc793967196353f5bc81498eb3341e090d1819339e6dc103e0481d30e681baa58228971727385989e1c0a1853b0944a57764cdf201612d89cbf47d70e70f2158d0846d375e1b1fb53405d02b097dbfafdb6bee167b6cabea796c0a67e69b45d3215f1373353936be1e36f221d8561aac6efe7edd8eec1ff9b8d225f6fcd4a8b8c822e7bd4dec8918a89b9cdddcbfe62c6ae34f896c6b11958549a3692259da27da826ad9c0e3b70c55b234d6d978a3182752e48253fae2538fcf8e0be54e6467f07136161cb988ac6f6c7a5c291a9142f02e8343c60682d06019c4e50eadf0efda866af390a56c6db18683f1aa7ad60af73e87d820f1da04a99a5d7baf4315f939bd7186e91d1ecee1b278aed7a0f854138a0ef8dec1288fbacb523ff4eeef54e9629841f906e775a0597288afdbdba48e39e7e3202dd7a709e9fe1dd885ffde448a86b26352094e05da929401da1a51515d8ca3ba53a4a59c9de458159b937f4fd97261810fbccfc57e879f562c7ec0b18cfc4a2d6edf97bd56122a4e508ab42e0e20a2a4a0a890097b3c0ca5fc3bee9ba110fa522bab2ff634e45544b3296b670b47ce3e3949587bba23fe417c98f6c049f8e5693f5bcbe50b594eafedaa12fd68b980cae2772ae9bd52d443bd824eb4fb8f8e70896ec26508c6d402490255e33e1bdabebe5dcb3d7f0c03b894a5932bb2243cc6dab6cba7a9b5e177ea2e20b8435b020c11aebcc96ed5e7fd21de53d1f5959d33becd9178763fd509600d7502b871b92bdeef68f7ddbe4ec0b25204e8798ea89e7a5fad118f23c9b8b764cd16a00929fffd3a69502edb1c7cfc7634d25bb29c83d039fd4b6df0b24e8962f7ca8ac5a6070e496027e62c988d33a4a098690d11ce42129c17e3af6e2011d101e949a3248286f8c0585fdb4d3393f60219fb012103d229738487ec241cc6540b7208d96e1572e0df35c660edd3036304d75521c33aea23c3c586210999864fba55d3bd2e1fa0fd7902d72d31a5ca9a18117b46476ceadc2ffc0eb34ea9eb754b719cb8dd7bf9a1175e02e6a294e8766d3932c78846cf54e214e0e92e5c92bc7f15968be4207de60c7ddc808e591b0355739cc6aefdee643d8b587aba366188cec5080bb256bb6a3dfdf2d368f09ba2fda385fc37c0adae5082bbc2ccfcb0a12d8a536c1e4e0be711349481cd448fc15c0c9d792a1bda02e304aea98b5f91f5aff244e19cb9a29e1aafc41cc85247dd7582d982a4672f9d042c792520867d888d0230ab0617b5b8b3f68a6b5e49fbb55f3bd12cc451592d01aa577cb4d333713a8c9fae64730d202f4d161cedff3618a569ffac94c2b9187d7d1a1f76896683b3dd4ab6a3d3f7b9e9424d25773618470146511eea9dfe38bbd014027b812f7ec827311deae8147ae6ab391a584be4da11ed81970b092629984c43572a55bd54dd78810006c18f28cf9c38df2aaaf5887cc90e7bf5247b49cb18d62b307c042e00bd2c1d919174184dfbdd2cbe77b9b03dca54977b3bc57ed045c3c7d5b2f3f1863bbf5fbaf61d79ebcf8ebe7a61a143cddfaf8f33f805d68fbbea75f9b772af79a067a0853bc996cb51d995a6ac3de5c7a488e1145a86331791ef9a26285fbcdf2ef393ad82579895e1eac8e5d3d982710790d94a817763c94319542315aec9cb0044fa2cc28bc37e308573f8b0496743963f3b3135ad0b6c9d3ec96b76612ee2302ea5b3a30c1a3f63aab2acaa2e061b1cea5b85e5e693d1ccf1bb46880719304aea76a07095bf911bac62350f773197c4285321bd1188ff6d975d371fa0f04c19c7f0ac7eea065f5eac312a2eb8c12c329a443bf0e553ee55bd4278b1faafde50863c9b9522f54ba34507d0fa161d3f7b0474897b6da4155bae2cd5aaed0521da83321375dddcddd22b665bbe28602ab90347a58a4aff8eccb9bd1b0d1d2159636b94b0b1de12536c3b79cf14bac7221666169d74a0072123cb94cc08350cab", 0x1000, 0xa91, 0x3, 0x0, 0xfffffffb, 0x1, &(0x7f0000000200)="1a51a4b7c49675060cc474ae27556889985ec4e798b2d70ad669796f1606c46ec82cd910d38aa5f8598878dbf5d3d4c8bb30b9061bb253d7b0bcb3d20de3411146b989cb392a33bc094cc8f1733b9e99895c385005423e67550177aec8fa9e9769e89761356880b2bd36728dc72fdd41d61689845c6d37465a4cc65bb266976784797d23ba91b26b9f76e93d1732aace963b7b357891f8fbf5306f71da99cedec660a5c1890079"}) r3 = creat(&(0x7f0000000400)='./file1\x00', 0x0) write$eventfd(r3, &(0x7f0000000080), 0xfffffe5e) r4 = syz_open_dev$vcsn(&(0x7f00000001c0), 0x4, 0x80040) ioctl$VHOST_VSOCK_SET_RUNNING(r4, 0x4004af61, &(0x7f0000000000)=0x3) ioctl$USBDEVFS_IOCTL(r2, 0x8108551b, &(0x7f0000000380)) 21:36:11 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:11 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r4, 0x8933, &(0x7f0000000240)={'wg0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}, 0x0, r5}) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:11 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 312.367988][ T4796] IPVS: length: 148 != 24 21:36:11 executing program 0: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 312.673112][ T4801] IPVS: length: 148 != 24 [ 312.900117][ T4807] IPVS: length: 148 != 24 21:36:12 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) socket(0x11, 0x800000003, 0x0) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:12 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:12 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=@dellink={0x20, 0x11, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}}, 0x20}}, 0x0) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) [ 313.228681][ T4810] IPVS: length: 148 != 24 [ 313.539498][ T4821] IPVS: length: 148 != 24 21:36:12 executing program 0: socket$nl_rdma(0x10, 0x3, 0x14) ioctl$AUTOFS_DEV_IOCTL_VERSION(0xffffffffffffffff, 0xc0189371, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff}, './file0\x00'}) sendmsg$RDMA_NLDEV_CMD_RES_GET(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x18, 0x1409, 0xa13, 0x70bd2a, 0x4, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x18}, 0x1, 0x0, 0x0, 0x404c840}, 0x0) 21:36:12 executing program 0: socket$nl_rdma(0x10, 0x3, 0x14) ioctl$AUTOFS_DEV_IOCTL_VERSION(0xffffffffffffffff, 0xc0189371, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff}, './file0\x00'}) sendmsg$RDMA_NLDEV_CMD_RES_GET(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x18, 0x1409, 0xa13, 0x70bd2a, 0x4, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x18}, 0x1, 0x0, 0x0, 0x404c840}, 0x0) socket$nl_rdma(0x10, 0x3, 0x14) (async) ioctl$AUTOFS_DEV_IOCTL_VERSION(0xffffffffffffffff, 0xc0189371, &(0x7f0000000000)={{0x1, 0x1, 0x18}, './file0\x00'}) (async) sendmsg$RDMA_NLDEV_CMD_RES_GET(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x18, 0x1409, 0xa13, 0x70bd2a, 0x4, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x18}, 0x1, 0x0, 0x0, 0x404c840}, 0x0) (async) 21:36:12 executing program 0: socket$nl_rdma(0x10, 0x3, 0x14) ioctl$AUTOFS_DEV_IOCTL_VERSION(0xffffffffffffffff, 0xc0189371, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff}, './file0\x00'}) sendmsg$RDMA_NLDEV_CMD_RES_GET(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x18, 0x1409, 0xa13, 0x70bd2a, 0x4, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x18}, 0x1, 0x0, 0x0, 0x404c840}, 0x0) socket$nl_rdma(0x10, 0x3, 0x14) (async) ioctl$AUTOFS_DEV_IOCTL_VERSION(0xffffffffffffffff, 0xc0189371, &(0x7f0000000000)={{0x1, 0x1, 0x18}, './file0\x00'}) (async) sendmsg$RDMA_NLDEV_CMD_RES_GET(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)={0x18, 0x1409, 0xa13, 0x70bd2a, 0x4, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x18}, 0x1, 0x0, 0x0, 0x404c840}, 0x0) (async) 21:36:14 executing program 4: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:14 executing program 0: unshare(0x6c060000) unshare(0x40000000) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x24000010, &(0x7f0000001700)={0xa, 0x0, 0x7fffffff, @empty, 0x2}, 0x1c) getsockname$packet(0xffffffffffffffff, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, 0x0) unshare(0x20000) unshare(0x40000000) sendto$inet6(r0, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) 21:36:14 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:14 executing program 2: unshare(0x40000400) socket(0x0, 0x0, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) getsockopt$IP_VS_SO_GET_DESTS(r0, 0x0, 0x484, &(0x7f0000000240)=""/148, &(0x7f0000000040)=0x94) bind$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @multicast1}, 0x10) setsockopt$sock_int(r0, 0x1, 0x12, &(0x7f00000005c0)=0x80000001, 0x4) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000001c0)=@newqdisc={0x50, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x24, 0x2, [@TCA_FQ_CE_THRESHOLD={0x8}, @TCA_FQ_ORPHAN_MASK={0x8}, @TCA_FQ_PLIMIT={0x8, 0x1, 0x5}, @TCA_FQ_FLOW_MAX_RATE={0x8, 0x7, 0x2000000}]}}]}, 0x50}}, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)) sendto$inet(r0, 0x0, 0x0, 0x20020080, &(0x7f0000000080)={0x2, 0x4e20}, 0x10) sendto$inet(r0, &(0x7f0000000580)="8f", 0x20000581, 0x400c040, 0x0, 0x0) 21:36:14 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000080)={&(0x7f00000001c0)=@can_delroute={0x178, 0x19, 0x4, 0x70bd2d, 0x25dfdbfb, {0x1d, 0x1, 0x2}, [@CGW_SRC_IF={0x8}, @CGW_MOD_AND={0x15, 0x1, {{{0x4, 0x0, 0x0, 0x1}, 0x4, 0x2, 0x0, 0x0, "a7824931d7025634"}, 0x4}}, @CGW_MOD_SET={0x15, 0x4, {{{0x1, 0x1, 0x1, 0x1}, 0x3, 0x0, 0x0, 0x0, "fb92a312d1804209"}, 0x2}}, @CGW_FILTER={0xc, 0xb, {{0x3}, {0x0, 0x0, 0x1, 0x1}}}, @CGW_CS_CRC8={0x11e, 0x6, {0x2, 0x50, 0x5, 0xff, 0xe0, "fd8833130ee5c4c0883433dcd8acc6fe6a87db9f5d13861f7d80aa4c370f6a6f759f8684531ff3580d5e3200fb0e52e81c42f6cf21ef3c8badd00945dd2b1adc925b03060c29111526687ca4f72e1832f9c179f9e36e4d51a52dc4298d7f1e108db3175aed5f3a397361ddd2efae782ba4897075173d00bd295752b9d97bc5ef26909dea6d1ebdeee861162ae271ac30301f11a56a09ac6da74f415e3cfd1b7763af0409656144dcf9a62a6bd3bce0d83d35fcde8ce5bc5522b31600682727eed2fe9a9615d6ae2fd31496094cd52686289751d1c7b1ef3106e113607e017c1e702f76e545023b0135de8ce8c1f20bebb8541185a39c943efc3fccd4f9f6979e", 0x2, "c46a53188664af174a550e71304d5fd5ec8a8dae"}}]}, 0x178}, 0x1, 0x0, 0x0, 0x4000000}, 0x58c0) sendmsg$nl_route(r0, &(0x7f0000000180)={&(0x7f0000000040), 0xc, &(0x7f0000000140)={&(0x7f00000000c0)=@ipmr_newroute={0x34, 0x18, 0x1, 0x0, 0x0, {}, [@RTA_SRC={0x4, 0x2, @broadcast}, @RTA_SPORT={0x6}, @RTA_DPORT={0x6}]}, 0x34}}, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="4400000b93b6d16ea4c95bd97f0033cf428f0df6", @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b00010062726964676500001400028005002500000000000800050001000000"], 0x44}}, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000003c0)={&(0x7f0000000380)=@ipv6_delrule={0x30, 0x21, 0x400, 0x1, 0x25dfdbfe, {0xa, 0x10, 0x10, 0x80, 0x81, 0x0, 0x0, 0x5, 0x2}, [@FRA_DST={0x14, 0x1, @local}]}, 0x30}, 0x1, 0x0, 0x0, 0x44000800}, 0x0) [ 315.830892][ T4853] IPVS: length: 148 != 24 [ 315.846400][ T4854] IPVS: length: 148 != 24 21:36:15 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x7c8673f943f4c29f, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$TIOCSPGRP(0xffffffffffffffff, 0x5410, &(0x7f0000000000)=r0) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(0x0, 0x2, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000040)=0x7) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) setuid(0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000004b64ffec850000006d000000850000000e00000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r5 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r6 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000009040)=[{{&(0x7f00000002c0)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000000100)=[{&(0x7f0000000340)="b522e80d604503df86e169fd74d95e0085cede348d954718e665b4fd1448d847d6250d5ad1a1f8492c14f3211b72e7a5410ff3dce73be8822cad97650c895ad65e176fdb6e6fc8a8086b279a5e27b5489096876006cac6cc9c1350179f8a76830d7ea8374875dcbaf0e90f2dfcfd0266adcb12832ef684e69ae3286dfd252a09cbf74047e59ddd5e279b60696809281c22953620cc05acb3209c41c9e74e7271c836d5a241a718b6ae16", 0xaa}], 0x1, &(0x7f0000000440)=[@rights={{0x14, 0x1, 0x1, [r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, r4, r5, r3, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x40, 0x4}}, {{0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000002200)="002ed3248c749f217e535fe9d2d7f7cbbf86b709e808c23bda867d1bcf79c8f6d8567d5f22f109ca5c1433298f1690128b30c319fa5295457f4c7304db4479b2acce86cdcee597ebef48ba2797d0bac5504d29800b3263225bafdf820c608ba9519ecc554bbbec394f9af81dd2aa887ad0fb5349927d13fd8aaff6e71b8d9feb5330523e33f0546bc6d745b79b7bf59ee522afbcc36436553c27f00139942abacb6e1a0589b3da169cea7e336a4bacad74f9371f4b9851efb4925b430bb79949e00656b78829cbe19f2a5780a06261dc8dcf82cbdfc1ab9deac8a7deb084e87af222460759f54a9acc90dc8f5e9b9759fcc799e7f7276a5b6dabc9be5e716bef2617a973174676adf0c196a0b3245fa03ab9bda37ebffb650ee30c3adb80ef8b9312ee98f493f472413501bdef72b7c59b20cb2678812806e73098680edae53add2b6a25df59db13dcc89270751adb0880ec6d5a8358ff04200501b5e0a5f301d2a15b38deef145f6e23bc6deb020fe02d63fc496352629add08506487c631d26a06fd1f044aa887dc605b9362416e3f1064a3f67fc551b2969c0404e889942adabbe9827737b7febdcf2006bcbe67db7f70b45f6bc83d5a16f56313057abb77455718ed24b93313af88d6979a26a50cace7c0680511487eb7c915909af38cfda56984f2bbcf46fbfcafc5b8178a6ec461f43776ab4edd48cae0a29629509ca92046845c65e9f669cf6695dd7f67a0080eba5d442ba7bcdf3299b294e216ff89e58bdc7dcb46221f07070e2e26223a3ae39b60a98c43d6b99984bafc1991ddf1b9ba2db9b9e247d756ed847e94a11ce281cd1c4a729c22bb3b2a16870ab9a3dc375311f9cf227a7d587fefd38dd770b38889ab4441a02aefe6eb3e8ce6b3f8e836abc31f3b6c1dbeaf1032e07a17d8bc022e20f772998f27d34f6537d7dcf31b0e973171db16b041fb51c49cd5a24fe477043cf5b4db5a13ad9c522d674867b87a4bc6001b58018df50f1235bd8ef48b7299a1ab6b37b6bdc2a66ff1253a11f93cfe26f3595a7d0f56fc81b00c8f91721f54264757f2258323edb1ff4d414439337bf9c02986647a3348130de2d6fd11a25765d0f5b6d9aafb2aaaa09519b1810f6572e66ef6885c098a1a53f644f38c586756bc3f77e40de8aee6beb20e9c2d5c2aa3b99fd6dda24976141998b1ebd9b853a124e1243eb58220abe2ef009043f92a403490e849137dd2cacaac6a5add95f4f78fb9ca87886064b9ca537c6203c576229fd736136c24e7a92efe9e79930801d13ba0637305ef487940ba6052b5e86d5300514eac6bef65bfda51b2e473087bf2b5c9da1bd047fc06a541c8a42186d33d1be5c93bc8366a0a3d2f7628951c77952a537df3de96457399fbee605f9270b9a5f513bf931e1e39d2329479225ee0f5a6b8aa0c14ac5a01693aa1ba6c2d09d79e7e0ff0e25343f36dbeb51cc4aae7db658967e07b6f975b19879d4d4369ba458a8928c98933d1c245c73b255d69cfcd77f7b7753f261f1ab446834299f6dc5a128b8672e0bcae66fd4921d3fd2193a04f077d1fa883eb0c3d69355a0c1f3daf070ed88d0e1c18fe2a4a90099ffe576f6cdb4dc87cac2f66ace1abf340697272c3d6dbea8e906f93dfec8eb6469f2620aee3adefacf1dfe4c3c0dc90334e35bb8a1ee83ac9f274c60ee2d643d38304b7c59c730ae89506edc994f58f1bc71975c1d74458735036d0947cb17b2caa31177ebc10b921b475f6f0f1275e5e40df96d197703ca2efc925eeb1d3ab638db2682c3f843b92e2835510ae25af88b99051d0bd69ec086571f6d60c898631706afe8b7ad9229e7fa5705ab6256d971070e7f7bd8af4d58a82cc19a77b29c0dd0b66b1c140e68c2fa2c3e77fd835625b90c327d274c6cb3ca7cf2743d8f562ee1c23b104b00995cd6daeb43e8d5a06791a54c9d56cf853f196f9ef146647fc63850da5bee7838938c6b99343fb121804703ddd6263aad206c6835df1d4384ba7c02eb23abae8d23d772e46ee89bb127043dfc085c150382205f87d74abb64886ef599daf5c9dbdea9e57b50f731a3cfec33948aee68687ba5fd09a33efd22510bea92e8c5ecdb9d809012310dfb541a3ccd1efb4cf7cde085ea4f58f6bbb6660111b36340a752cea6809e04f038993d0e0b2ba7becf02bf8a25ea6c39299b804ac451babd83a33046c16389fb0aa0c04ad85e455b5a1590889e2a0d0deba8a0ea59b3a75b0698a1bfd1cc80708dabc3196b05bc580d304aa6974f67cf9fb934251367cd2df8973253e110ac8fe44236bc5baa2c1f4935cd9c1db6c695b5204ed5580dd31b6e768ea4caf808c62aab0b7a90f96cd8771b65bfb0c80cf69597be8d2e83494d7a3d1f1217bc9e0336e2e2802d2ba38ad9aa480a4747767c187dca51092e73ea569d3242f4362b3ceb7d58536f768753c6bbad6e8c9a146181218936e301496776233b7200cb145272f3b9782817f0a76ed5d286be9eeb1c6255467c47bb49da47c6dbded2264d11f9e099c1c9c391f6fd467a0b077ecb692d70c9888a64f2e85d48631e66cf29b53ae60d17a6d1c5f034c8a6ad40093e91bdd553d1c2c41f40fd656cffe7ad4c82f3cfb69a47632aab153585341ecce9bb26b676f9ac3f0e00013b687007a231c2b81b4239421f3e5bee7eee41c151d934e2fb58d6a51357be39212024a1b9192d7f36275d54c3d68258c71eab76657fcb62287bb1d5ad1d7b314a0591ee38b5904ccb40bacfabaa95ba3e079c148bea2d6955c4b4cb4d66b424368122f58b305c2c800f7fada685436f95a6a1e1e57c8facb1b5b93dbb54ff9c5a3818f7b0d9d58311788d04c9278414969fa3a7efd867e73d6fbc634bc39f3482ad457b2d7776dd9959847840175eddd9f73b66b960f876824f9f6b94b96bd2dbe06f766865fd1cfd6d0d1d15436b50d8ee50280a0e16e78be1e7aa9f97b2cbd25946bf810729e5c80220e0be01170eddfb473f3093f83959c0c85dbab3c1fdd3dc15d213bd125453c4821553edcd02b0b58e5a73eb6b5e3866068afcdcc20f2ec5afb54b4ce3d5a3463134ea7ea1d3c9a9ce4eaec6f4c610107110fc1eed1b0a76f067f6d5fd672541e6c792052aab7bf0ace155f8454970f064228cc9932cec91e8acb10bce6f9012106ee75cbfe9f1d29ed9bc10f57c7b55677d70b1e3b9ee4a71a9eabb973ab83c56b29a83dc0b0209f8d0f4b76f6d31aea7005e16a1c123a8a75045e31f4ad9bd9ce806d69d497c9cf49ce1999ff497fa52a2ec2a6dfc102ceb6181e65c75dee5af15e2f88017704a6cf98ac9e72e9634400e667cb98e9c5aff2b4c6c710aa0f41a0fab36f688ae5917d59aad797f3c4449dc2a8858ddeaacdd6d7c529dd8d32b8a9befb1b11877dee3849d8cea931dec4ee7183c4b0565df2c4d842916415b500ce840fd119aa5cc15a8e3ecfab9298508f5442b6c0740b9916b9b21bab48cba67e43ba73412a04e95bd41b20cb3ee1eee15c592065603fbf84f1318a0609bba327350e8b8020b3e533a85e5fec9b876b723b6a585d11a167447f2e9902b93d8ba2b53f30aaad899b0d729a62dcfa67a01f3c005b5261093f8218695043abdfc6e42aae3c0dfc8bfcd234a634c751f8e78da4ebafad3caaf827fcd4dc61004179809382f99f3a2c20ed0ee11931e3b88135a6ad284ea5f99322dc3604d089713390935ea91502e4002df03a443ae7a6d5765c33a6b8935f3c4355d117b02c8b0bc99f3896622c5261386de74c9101872872f554b848cf8d7455bea9a99d8001af9643a739d13f3c5f7264bab109233430a9c8ff3b8e3e3ec7b96b00dd2c2cb5a65c7065b3a3a0297f8c20f836b0485450822a80da517feb610a97a641660787034320392a4c71b82566c2a7e66e8c6a2352f5022e7d6d7baf3ae8769cb921ff9aba19268895f8ad865130ee7afa03c14e9a64a410e1521c8f1b7bd171d43018d31a3f8eab13116bd754e19dbde852b121eeb1c4e10bd61b16c7e3f18d2ec872ffd6026fea4eca669894e90b2ba31756b8508bb2be9783e147bf99c854c4b4a823abdde36ed86f4486a36d532cd8ea74e13971fd7abb508c59048c212ff2d5c07455e3c5083e8162a90b5deed0612fd1b63a8c45175764fb087957d3aeaa805b7886a17d56304c765d0d025d1b9200c40295fe0f402297ee2e13382bca5b1865d42a5c3768c674d0bc21644297d0f170526904f5f3924e6d00565149d6c3e301fe0e7d459162ce6e24abe366507244cc7575c7e4e981a9637dfda9530cfc248d38a861c61bd9d92ed63d78b8222f51728eeffdcfe6fca191c43f044c9ac2c6a93f9155d7e63be53b7864379b9db0b61ffa307460f40b52d1efc9866ca4c7a3f6d957fd3c4502bfbc4ebe2642de29b534e53b405acdfcef31ab17c2820ee4e0a2f86e90bc5d6b211fefb95afba44f2b54c860ab3935d0e2aec79f0cbe96d8b8b0580ce8ae0b76464c5f8eabc0e880ebbd4e1841937245e87a8aa5df3950d0a2a8514abd85e5518485e9175a7004916301911f34cacbfc29e0983943062ea504345595f3a7244206971c1f4e7d66b201eedb305e03effc26b11311f27bf2c35cfd3af1a29a5820e4afa66d3d9edbd74b0b74f363358e61f043c4e3558d04d074f362b91d00b628be09d5e1b75b5d2f30543600a89d555a17a1e8413d56e54ee4f8cefe55b1728725201ee4383afde317162c6a12302866274746100b7802a437ba621a699fac66c47838b2706ddb3131c748ce592bb9b27e6ef73734c3fcff2850eefe61c8f0c6a97683dc053d7d11a62e3d5c12a19daf88b03b6a8accd0d567ff6f07ef564c473bb903a83dcaa6e989da9f09d1c9bae2915c14428038efb0f3ea9350882ce23cab800f74b10bdc67265af9ddfc7c1d6933cb4482dfaf35b83a86ac6f02a3a33a41af84068c70df1819e66ec7936e6275cf609ca8407e6f3c737544bff66641715fcfbd7100c2dc21951338c637baf2bd1ced28fd40ec485b33c3911670ba65dbd74d51c64070200595778960c85d224d17ed1d0e0c82b67595057f93381164c92ad3c34d84d526d6be3762d2f44843c1f42576702e0efee0e41525a9afa492f7d44bf32a765ceb4671ad2f2aff532056c94175e2067c69ffbe6a6faa95750493e154ab70ef57f34e71b63febce48c591586eb58728a00043bbe6c09234f8dc83eb00157206287c86f46230e368e4629f192b838915e19149df63319c4616cc799fe01b3a855e62a4e5d825d4aa5528d26e5697d1f6bff0bc091fc9899959e83e8823849f7d84fe610d02e758a8387385e9084f91c4234897c872f356759fe5a9c12eee476929fe5af9c18e855269ab2aebea759caa50937fcae75df54b1d0c76420505836d457dab5cc5e2c6e03cb68fbb708695cc6e15243aeb0c7c07eda029e4340c6b8b7335b8647035dd96280d8b7b3de5b5c8769983d3f929046d4c6928709a93b40e0ae649eb580989df3e06823a982e48b77b2d6039d3664c2ab57cdf609f222d3d63ac9a54f46a1748eacf1c35ca96e9c6d4a5d7463fb5959c41cfeab17653edc22583185ae750d3c25c5e03ca321121eb08ccb341577d9a82154a261751def3f7f012c31028318bc700c94ae7961850fe825e8af5d3d6869d9a1bd248f2329d0f74d196eb467cdb2a370870efc48d0f6b4d5966617c0ad6aef580ae3fedb18c5b6a0cd272677cc4202f817706d5716f8058daf1458d1217b234a557abfa5e26a787b8b9d9c3c4597269863f418788e433a3fdb83209", 0x1000}, {&(0x7f0000000480)="8477f73f40761305ac872e0aa8b2a0eb6a636f8980dc4de9fbafa92ea82f2c44d8996d5a38afe678a5982e960bbf61be5f0a85169998d3a057651a0d7d6e79434519ddd08c5e6fb8d780c2d7c3342faa4d0294cc7dae2fb0f4d941a0d487a329adb3f9f0f8171abfed", 0x69}, {&(0x7f0000000500)="a812a9dee002c41028e782fcc00568", 0xf}, {&(0x7f0000000540)="00775553334ebd5c887ed74e3d6071817ceda36b14688d33e47061f0d02d7fd2c701cc94aa9f930607a7f1d0cf4034bfa5ce632c7440fd795b3d10b78d7cacd9b0d306baf47105369437e7d44dc8916072bb119499dac277c66dedb4eb35a304c2daeca921572110f7cee2fdbfc96a62bd6cda0614ad43cc54e69744c1d9a24d5eb25aa80f62c526056931040bba1a61dc", 0x91}, {&(0x7f0000000600)="61ff8ed13b364e444fa1", 0xa}, {&(0x7f0000000640)="3fd014249e78c84676e855a86bbd2e8295ef028457cfd459370b246316f3010b7ecad54c8b1b1d", 0x27}, {&(0x7f0000000680)="03c2dff0434fb6fad4d54e56212bddcefbbbade43f3b1d4b76e7c8d8e83a", 0x1e}, {&(0x7f00000006c0)="3db2d5b21ecb36382e37d6aee09158707e5d39ad7ff64709725ea3dcf68ce20af1c03709703e7dd78ecb7c061303ab378811c7bdac316a82ccb48abb71481dfb45c598971bb1d1e9ca75357dcddc4cc9170ff6ca5ce69e4eddea94eb3b80c0281274cd7f9c0c320985268227229d039b16a4452ce2870538acebb8b66eb67fb0c413672fcbc2a33790b76f710f792c6df293a0f1005888ac4e06e0e0dbc9b72e2f08557e7796bbca97d3f0d491", 0xad}], 0x8, &(0x7f00000008c0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, 0xee00}}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0xa8, 0x10}}, {{0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000980)="e4455000257293b9a9587447ed4f07379542b86d5b74be921093d348f25c1ea9ec6dd281a4a23c45fff312348372594c97c0a38b3ffbdd46f7bfc89d01cc1d9cbc5f40e5faa7db20cb268233b1059a052d66e6d4", 0x54}, {&(0x7f0000000a00)="9d8b56f0d7a09f7a5bcbfe818ec7343e1429b97ce1f54eca8d3559dc177b60e7c11b243eb729463f61fbbb7fa2f666168006d98f44c83b6254a762a0831b779be43ba4f3701323c99920bbbccef1c1999d01b3ab0ceffed399df30d4281268141c87d4edd564334effc4b425463587507f1c8c9eee63cf", 0x77}, {&(0x7f0000000a80)="95edd7c7b6958667bc9174499f3cbbd0ca7cd9297c3f8bb5b5ea256f92c1aa3556845b3175d861a82d440aae3144df1c822c66e4ee666e69089c2d738aaedbe171c11b47393125c15592d7acb21983", 0x4f}, {&(0x7f0000000b00)="e1f4c3fce9c5d7598a2bc0d8b0a6ecbb04f16235940bf568c11cd39b0aa615b5c4cfbd23f10139c3d4caec6b41679a6010", 0x31}, {&(0x7f0000000b40)="a3fc1691750711884304c5bd86de3a2f8eeed2272b5724b093df4698f9edc88f054429ab970962112b1f7154de88f46ed8355c039fdf325515792d0acadef30a670bf4975df787db7062c5b3a5a52c72df130efb5c2be73a1177cf0b6b5e06672ce918f7904fc9252cb108e7edfc394006f4ef", 0x73}, {&(0x7f0000000bc0)="b0185f6f72418f", 0x7}, {&(0x7f0000000c00)="71d19b29b623beaf03f43c2b0e638f97aced7559a32def8bad873be5f5d0ad7d35cd944470c7655adbf6b67da857555e1f5edbde14dbb7659ec7950d40b60d6605d0282205b228b7ac71de47e9645c39dcccaeebbc5be3e1f4ee2892ebba70900ea1a45d1f283b2aac6bf59c12040b4dc13da388a2b9", 0x76}, {&(0x7f0000000c80)="433096843973dac6bdce5183b74e404f87b89b8583350b1dfb705d7ec50e491e85bc3218fa9ccc4022c21b", 0x2b}, {&(0x7f0000000cc0)="cd9c01b2c83c9c290d8ff9565d2f0a63aea8ebc3fd93d9653b6697fef9046cfcce1175b9120571ba14d58e8e284863928c08d7499936c81ccafd3503e59bfca6430610f95dd2a09d1a91e566f9edde1a575a858e20634ee3fb5c2a32a661954711131bee1437f533b57c4a60e0f2f18613566694c047", 0x76}, {&(0x7f0000000d40)="d250e1e66dc6f688ab68440ad6b76a4b7fe978a0336f9bff390bcade90116b72e6f34cb142482ab72952ecdc42c8078c83916e1786d56ef507415eb60e9ff9e2a1985e22355c979eb1be6b02bb68fafb46c48bcacdb2e9e66002ef50ce87dd6df6ef81ae37d3fe7f4bae6f977a739fe244ce5a", 0x73}], 0xa, &(0x7f0000000f40)=[@rights={{0x34, 0x1, 0x1, [r6, r3, 0xffffffffffffffff, r6, r6, r6, r1, 0xffffffffffffffff, r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x60, 0x4004}}, {{&(0x7f0000000fc0)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000005200)=[{&(0x7f0000001040)="25adc37deaf18dfb14bb72f11216240c552ebceef6712b6e05d9ea8a9afac4276fca9fc93544cf1483039704b1fc1efd947d5145fff969618b5cf396b4dd7843619758c20db067c38c", 0x49}, {&(0x7f00000010c0)="bba78018aade8ddd3b74b5a97cb8862d2441274346e1e06dc7c433655b22faf6ca5eef10b09f32f39a45b7326631178533f60c1fc35337c09499fc669c8f115a41db1a71303ba11712dcb1315b2bf5daa530861f6b78cc8e2efceb0fe90a164d796b8a2b93d738bbb7d045371c2891f3158009f40775b70cc90b7489777367f2f5a8ce0cbf2dd793a2e045fa45253f561efde942ea3d3d1e995b2609cd51881147b7fa6f70a5256b9fe03c5fc76c9a1145dba5ebe96cab0a6f0ce9174e57308c255eabb44e660e4f24182ab9c42b80f845c38a2d72a237f64433fcec572548a70c9ad90fccb03bd31b9d5b02", 0xec}, {&(0x7f00000011c0)="2d2a2c60d9844bb14d1b4e70be59eb12e9e8db02050374ce9e2cd1684f551ed3d82c5909af651940e6ca640dc61493fb1636ab31dfec7d6e79135ef9c128e2616433896e656a70f3eb41", 0x4a}, {&(0x7f0000003200)="d0fec79e5410c360ae5f3bd4eec57981e0e8fe55c4b957e44b09d735905e5dfb797359c332cbd745d5394b82d9b8c0d58bd96f3dbf18ad9714e9804d5bdcc03c41bc91514ca83374614a47e1c485e93b0f813acbcd20f129a237175f2319cb8a883bc7b60cdb082483fad4a7b88feaa2d92b6beee43c9101a1aa4079db8b9fc05b5d4fcd60e663c1941ac2697c65e77a2291f945fb4270cc21e542d8994e38bcafbd87b553594f5ebc82d53d2a7f22a49b811bde3cc669edbca3d0e676b2527b19c99661edcb4e10727560ee130896aff6d5a707c35d2528b2c7f1b88fb9cd7c0bc70fe5ef51655fdd21083658f5d3139ffe1d9611fad3a1a98c47a3bee2727cc5bfe71261528703e2bbb5f2e5ab43ff30c3947c7ccc5424f70622488556880689bbd5b9fd44d202c3d9e613aa4508d9b400a17e055a0e1d26b6a612460d1d1bf885d03a9caf285d3746dd1a93130f266e5841c54758c8f7c8980bdc7ac0ec85cb20db7ba7e7922164434f2a3cd54b26b57e156ce692fb739c508803a4a49fd4acf079e5596f6725d8d966f84920c2bce8ed51654e6ada6a364c268c74f0ee5fee8984eeeec94e2ff9f978e5b9df487de2ee14a5b33c9c399cfaa06f995088f0f5239262953735d992e20f70c7b31119e8b3dbdc3d92b6387c1d7fcffafc1fe4072761cc666f12738fc01615d1ba7292a88cbf54a9797fd80215184c6a54e12b38e7a52a30ea0a9f51e55f634019e5102f0fec123fc22c0b4f9308d04155699ceb42ad7c587fd25799c5a54e1aeda6dd245c93021207f3371b04bfb178b80b1c6db016d7293639fb9b952fb97140ce45fd5aea04c40a1492cd2a321ffc07e7df2435f796d50bb97657036cf9a1f442cc6ec976a034feccdd2a3b78df8899d1c4990f424837bdd7d0ade7d262bb64792aad1c2e39fd07077c0f5927c2d40a5d0378793e9e0d82df3cb57e2eea115d2cfde02854510fdff2f06710599cfe8469d1b8aaa52081bc601f3370a159ff83f2621b6012779f2738d684d35ceafb66736d7737813cc3a0534b523f87fb34e2774176016c5c0fd73b3358d199b0640976224f304212aef8d83c5bd85242cb8df97dac53c5e2f099d7c64322ccd6159395fed9c571dadd8dd29e80af811cd9d8056072924a71da7da7841f8a7e3507e76ab2a5344183547866d059233b17a64bcbab1a8a4627d2fdd7e387e239ee9ce4bd9304e56c4b574b0ef74e831d17ca400617a3b9b273622a2fb17d794cf1502afacc88448373e506008fb7114e2224917385c43b8e47a246dbfe8753fa196fd87f72b07e56cae825643ec3ed73bad5e430cb5cba3e86f6d579a7d4c05aa9abfee3f71ebca3fb38a1005633b63a957249aa1f4fce168cb37d30fc70bc7345fd9f579e5395456be6074d11b0eacba50bbe225b5ac99ccfa69d0a8a9878cbfbec234165cafaf05a265d07352dd1b7528fac87581164d6f64f4a327436fc47ec92547deea13fb65b1926736aa95292938927ac7db2b5a1ae6c94c54fbcff7f7c18f8bd0d87d35fb1e1ecf1364535a04fef7979133f6589ebfcd35169e5716fa56c88760393c0b47712dc9c29c9e7457a0782f4eca3f1f7ab0d83565d8a57545e6d34ddf25a51350bf33481c87622c766dff7081f281c47967bd93e1c9376c2c6da30ade036db12b87edc417694b60d6b593e1d7dcc9b821ad5fdb83268f50c70c1bdc3550154501491af4cd0ab41bafc9deeca52c1955cd8fa047f2b92ac95c32f430e442e92164e4a8b4edde4421f2ea977ca05bb81cf4372ee835d6ad7ada0b068c19bd49967aa5185dac009c663dd591821218d1e4bff39184e6e46866eb6d7f97e4002b68458b2af6a65e4d755476f84b6994fb3b6558352fcf73d053c8efafc9424b533f1644ec0e0188f43fbb45f8f39330ef3306f881c204908dfe50559669bc944817837e3d50fad4138b33b326505235758a2a510e9a3df4b96bd5b0d9c81ceb114cbd539e022d60d0c732d3772944f85a4c20f889ab9a053f558ce4e4aa9ad536a9f9b0fe1aa973fce8e6812a6dbc76b7c02e5b555bfc959cda4aa4f16d2226239e6d966e3f406b6860dd6b1c8d4670eb3c8b23ec161c94af7330a2698ba5296450842dffa94363ce1cfba54a2c9d27fbcd9b8952589d531df5b8e0629e97a83124cb769d72c474ade928384e0341e55131f5e7fcb2dae80636f0edb3c1040de311a84a13a6f8224801ce0008118ce0e194238d5e2acda22581d53e6c6230a2e951e9d5cd063ade209ab484c1c57efee52039702594b78905a3fe8d8a0f4042efe4e56cc90524d1bbf3275b2e1beac2d1a78c781154945a98925458faf54a6620eb4bbcb84544c31dd2a4682ba1a338353c33869fe2fdfd68d898b25f4801c23e455a3fc79d1ffd6f4454748c85ee812dc559c6f614b8f08af74faf189aa6e8820f314c1517e89b09e47ac2c440375135ae5f45dbc417e5e0ae57b0b8eba2eb844bfbbe7c08ad8ec115d13012fb7e26fdddc841b1d1628adffa8aaea0283ffad91745794d79c1e8c3e4ab5cd24a6b615062d22b4210a953c564f534048353672a528b10ecc9cd8f03a600dfda68ed1d53a0914892165022eba444b240ec5476025688dc323c0901c4186c6cab0ccdf8cfdd8918be02ece858fa95bb10eb72b8855fc541ddc19543ff4389800f9c282237afe886f1aff98d48976096e3021c163b2722a76ec7b2e1dffd194ca4649a4591964370ec87b92516e6c244217decf6675b812f94917be23d241e81b5f288e0f5354dec01cc3dadebcf99eade491a26a8b1439717e0e8cc8bbeaa760f6ac02c72ac504fe6431ca1f6dfa5449ad12b48adf2f1ed47f934f8bd1371cee9fde3fd37a544755a161decd44e0ab5eabdc0b4d0e79ec65c5b456f73b68ba50c6caee7cb0772aad54a0f5eb31e99acb9f4709effcdf9306a928c01b4a2d001b15af44ea3a5767726f95e6cf234587a5b7f92517de7ce80f1d58a1e3fd7499eeede044043addfdb34df9f16f78d08defb42b4ff1d9b54169b72778ad17122e3ce52c0c3fa8b47c204a8b9ab8ae0314d51039a0b33dfea0c2de9c2419f06a768a86ff30dba6eb480d23c69e863a52b75bee50773a78b6c10871765e9bfcb6b8419906cd22690cbb6c45c2a71962ba19881063568d5ea9206e1269df9a1131ac7f6c91bfbde252964fbac4b816ed017a57b59d0e107ce6918853b063a849b47c0e63e096084e18981d045e6adc145d5d106ebc0124281e50c127a037d3128c2974bc93efe8a2aae84db155bc066b365943fa35520e6fc5387b2cdd509433dd15decf145b63d4f13d50482887ca00c5388ed5446788a9f53f27fd4782f72c3647b65d9a6803f3629806264605a18ba75f9b71ec8ed6799272d44f6b8530ba2d9db2966a41561efb6a63734d64cefc6b5376711b9fb26759c248bc227bd418bc00bb63e20edbbd5188c127e0cbde5e3c8e8450cd5f554433ae6cceb3e3df0d011d6827cddd75120a41a13640fbee455767c7f9c58f231fbe2a98859a019c52fbbb134b9286d18be6183b6eab3d69101a9fdca12ef472300dc982cae8e2b7e782cbc1a05af72774b4f45904e502d1146ef793ed33470bc16011e234c3823c1efc79bd38fdcc547806de6c85017ff3cdb13a0d055ffd7afddb1b675c3e1e78f1139650effcfd7dd474c49dacf6fdbe8f8727c3f1849f3a92f2c5bce397b358021db3d86c1517e2dcf04be189db14c7d8d894f29369e7767cdfc85dba7c3d410945f8266560683f4da33fc6754557b61954f93cf99f593e36b102138c3468affcfc866825b606d90acecc32dea2f29f1aa062b7b489faec58a660a519c9c4c953f72a7c6595d1993242e6fb65bf235bb09af1d19377beb62a5474f9c9afee130173934df4050537d79bde74242052b09f66d0cb4deb46c4cf2ba9f7d892c42ed386a526dbd10a9b5d781bec48696e1d099fddb912189470de36bc66cf6380fe88ccaf919aba56b1187ccc57a4dcdde4f7388589218f8a2afe9975f1d6659b91257930a79fc51cdfcd932bd52c14540b796b6a4cedfe0d796365fd174e0f9e47730b968ba4878ced532b10ca1b4d73c8b6602e21946e393f002cb27281c1ae2754014c518682518921652d79b27782a9776389f25bb76ed805861e6ca4c5da8a942f33c85154022d2f73014a3b13fe6974348b5cac8d3eafcf49f6c979619a1fd66156bf511d8ced4ef0ac86ec1f6a4f70b3929c68f46b4a2ca5163667ebefdd894d4d873bd4cddcb194b7e8462e7eea7e54ea056993b86c9199e49b97a0f56b6c9f2134ae5bc6031557edd0d8a371226a610af5f43b264ece0ce4e9a02c497c1e26070587ef8da77b1fd8f3a7cb51c656f094a85729dd7570421552f1a6782fdfb24bd01ca860161117d4e39c13ceababc456d2d594384dec9615f5be0ecb3c8e452c0ba6e526812d58be02fd50e1b2b56a9f84beec934e4e650d448e9d8a91c4301e661e60c2b146de99387401b57bd88e0e52b183fd4e653ccd89b7d0f074bc0eb379ef5934424dca23cb63a2846912bbf2244cf18f9520f52fe5e1ef6c0187280df871c36f1aa01a2a7fa48e2872f76b53e928399309cd164d67032960749569d9f8fcd134b9ee6b6c8c7bbea10932828a46269412038eb3a8441cafdd7ae705bd10bb6f6dc23b5dcbc33d893f0f0bce56d6bda8481faa76fd079a9d6cc41a94de708ac6d55990b5084aa8c387f9170ff89a7c45a5b7fbef19a1a395df523aea3e88ae5c61b5104fb7397243561796b07e98bc636c3042ba0fad756142a13250eb32a3df2f96c507825e5f2d2bd5db6bfe3f233b5504b7eabe8e657d4f6a7f65fb393f159dabca1bbcb2206b8282ca4aba3ff6a98bc14abbd06f9d1092daf40935ae18ce63cae29012f99d0cdc69df275ba177fcd298a74ae272db02e9f775a94696acd9dee2c030bf4b3355b72362b54aa166ab036f47538dac4152b57c7344bcd96c7ac3b56efa9000df86d3d8d71f5c35b06baa39400dd8115156483638654bdb9b29c2427690fde3571b1952af7262699dfa1e3c0b32264524d8a81570628ea8f34996970f57fde92604ecdd77ac314664f61101ffa7eb6f3598a111466496336f4922564cb3d75fcf21805da724f0a81c66c9f24ff5ea4fd967afc3b6b8e42df4836682882f8ae751e784ac033d46df6dca2efea2aaf1238aa8a94afce371852eb0e2d0248fde665ab644a65b130d52621d8a0eeee06dad58989b6234151bd6e757c09cd81f9f6c836bbc3e9f4adb0b42511b5060f786d10869486aae0c3202869e7e00f0664cdfc3bdb59f61142d058340272d47ce754de9bee67c53801c6902295c4a4ee08b01aef6ce8e0b82976e5d69c928f13b8447d0cffa8fe78a984b8ee5adf70364d83bb3d6c05bf12b8a98cd2abee237a675dfd2c31ca07abc6ad32d0c15bf5736b2cad34d4aa080c44bb7e1875264ae5dbe01138778824651a52d1898b0ff6d6b33672dd7a1d394d0abbdc7824cb00af4f7f30fad9c67636435ac178928044f1ab828d81977bb910d8fa1d63da211f886362484beab9e41e1add1a64324beb3aaf499e612a1c059f47eedcbd368dec03d3181fb39097e90999cbcaec4d29b5ea519e0f1afb03212b3aed73953870256e7cc15cec50dee8f8a7c7feb71e7e058e356e6fe343e24d6ad4b563ddca336ebaff5b15c122735045d4d6d1a21ebf248038095b96b40b0c60dbf12128deaa7061e4f291141d0c3974130af3cc033abb904352153ad39dab7422b1047617d", 0x1000}, {&(0x7f0000001240)="d6b43e9dcd350438c23771ab0c7f13f7f1a83489e67f55c55ed17f317c5c12e5e3f31d89cabee53d9eb731a43cc15f3e5d9e87e6604fa1a2865598c3d2f00c457c85bd760dda39dfac46e78ac5c34108d84e0e29ff4bd9c5ced2a636c634367660dc00812ee71d1fb682eb6dd5b268f66f5d29719b234b722812c8b74423659e1929328723e825f027ee36ed2ab491979d01a37b96b1a38041b82277b7219048f4f348a17266ebf6e0a35ba0d51032e1cf1dfc5271112bd56aea491970898b4906e18ea87e3a0847337a0620acc7c6c9154f68a1b8824812afb08aa42fdad2b6b1d92e55cd", 0xe5}, {&(0x7f0000004200)="e3a769d22ac3c7a58bd394cd7f700d734c7201571194a340d53d8a9b17e7e7ea44b2aec6626ebc8fc49971f33c2f49323d457799d9534d8845db671b0539ff722e61fadc7bcb3c9de791e9ec17d5407cacfb20fbcd2dfce4852e6d827647da39ee143a46bbd654e5812f5b7dd2ff05c3777970a66cfc69b6e7aa122bc97a074399fcdfbbf61e6be84033294b22afac69d698093ed1840f27f783e5a2f4e274f0a041aa78b6b18e99064700d45bb7b9d0aeef71839e34a9898badae3fe2fa15d82c59424b7c063c4871cd0cbf5c03747a98b6e1feb1ce96690654dba8f0b3f3d9a7102d6dd723347fe3edf32f68d82e8634fe4d6efe6c05f74b1188721f491ce5ce5e745d408d7fec96a288df87df2875ba1dfaf1d580aa93bb5998a2bc0efb8af237e4e8386978fa26d371c9c0ee953340828e51fc4d1db14121ac9928418c979f5866638b2157ce1dfe46a7cbcc47bf8441eee58382e98cc6f9d2baafaf16712ce8bc54a687323205d9dba65d2d8a064a3676b89cfdbb2a99bfcd29b3d637c7fbe9257d257ff35b5f1b34f8aa1f3f6614182d5c1708034edc5ebdf30907ed4a20083d46ff31c26cc57f6945f29585fb4639047d68c3f70b1ec3be0eaf9497651695793647e03c81d899d6ae8abcbfe3aad3900880b37d9d25724f3ba77a232afd8423b6b01ac506c62fc577cc3c261beb6fc872913dc24ea8167517178ec856746bec77239004a3f9ee8c1f23c2c95e9df1d52b7fd0d674dfdf43fb4573d6081815bed00107617ab1b7ab0ab4e8e465753c505472c3b27fdbb47cef03c835c8ad46a23b19c2163200aac2651c71533c472afd953d5ed708a84c54141c92ae2b66ee1418a84a28745f5bc7522abd2262e42d40cde84ac7076f9075f38e4418cfb8f8fcd826588d80c40ab30a59fc08740d7282fed073083836c7363a32a9916ec70ff4a92754a6ebe0c54ad4c94984994541030a74fc15489b3202e08dcccf7410807fbf53bda8793b7a41900db4570fdf863ce632b097242beac5a02992ff58df8a8e8626eb9cbed14fbd71eb53e3fac307c2f43abf41bd89abd1ba5a412cc65d96e77f231fd7c896a9ead0ced05e7745e5ef8baccc198f50a72d6f19399bf6b7df3d5232bc194742ec9fa0ffbaed6fbefa136f9f987068ce8c609cbda7c18c76a2aa2878a643966ccee4e5c7324f6ac7fab5a1a81fb96144891ce2ae3856229abc873d23bc4a6eab312bdbf34407694860e0e99953dee3cef7fe83612548159ac81679376044eedbe05a35e123785851474af8254309cea270a3db4be593a7cd73d50e1f284225377c6e0207796816afb6f4782b10e06ce4b280fa84dfbbb0820295aa92a62e1b2176d95f0d17d319aa86381bbd0fe8413908a3f467447c52f905036165250cf74060e36fbf68f814700de6a68e2a3a781c8e43c678d89d0303004dc226fd2c063cf3f1c44fdf3c73ff621350421b2af58c55b799646636740dbf1c366be94df2292656b72bd91c46c948e8bd05af593eba9127461a22e5ebf3e1b1c38a649e379794042cd8e3c3adfb3e143b663bf5ecace1e5fc739089c3d6b372d931acc2b24fd1a93fa57897f4136fe8070df931294eef2c714fca4d207e0631e2f0fbcd8f9a7902b26c458bbd51eb1d883deadf1fa357d05efe17eb259ff48364ba3c760a7865d6bf4c9f22dbd1ca09126cf731ea728b908b94b6a4cf05c3cf9dc2538540c8ab04aab7a7429fdec3cf7ef45aad9eac966967a326e68c12a65f5f734b90ac4cec12fcf16fb98ac57c03d4d56e5e42be769b161951d7c02464b70efa34151a3e67630c10fc72e345060bc1be3b45c7393ed37e911e544cf47e22670eea946670cde5c44ebc7516fb49a54ee7020d79ddeec77f492b31fcd058ce0fa9a26e2a8d7702129afd1da8f2b6d6ec83cb2128e3694e5e6d05aa2043e3bd385a3d048b9597b1b4cdd108cfa9c63f1ea54b3c135a7d40c278406f4fd450c21bc327417315ed8f2b2c3d3a0b1a9276d07a61639c1cfa16c0592dd20260fc13962f80804cee873c98904d82b32055952b83749eba93954884f8a3c1bc9759072ccfb666dc1b9e6784cf9c1fed2fe5ac68f0a1375337c62f65d0ffbcdd67f43c06df3848897e06cc4b8b1b7e37d35c9f84a27d1a321df0c75ee2841686fd9a8a23fd179395bf2c79a28f8268867619dce21fdba1facdbe61e7eccbadf4e5dbb09d67ed56673d129de1966438fed32d9adf76f62ccd6e13c24c09cb0f6e1bffab0b74f3f94ddac05d86e84240a20ab7fe5c3ae31a8ab8d03e7beb370120a83f78fde9afd15d1bd42d9e3ea978a98257340054853390e04d31161b0446158ec5fcaa07f33e653ab1346c9c95863897bc0ec8cb1d65fb053d34a94e11282dedcc5600341999fa302027eea41ddacd4175377ad1246c2d2ed484b0291a115867932ec7d84627ee8b3cd4edfd8f97d52c8061152601e0b4cb480fb64f1cbd9ef460c79d63bd31d2cd3a799bab5cbc0ec8857c7af1bf58ebe04f64ca6276411e2c57c15ac019879298f4af14fd0460e85106adf71b2e02062050b70e5834516d4a45b69f36a41b69a6d168198e2f6a8cb7b45aa5f7158b02fea77a41077cf04aa5328c0e2b06a378b98110b3bcc255d4ea1fd48079d236b7c475d676d8bf036507c1c5f99150fd58f21cdd4e785d1a4626b40036382f770b9cef53bebd92f66c28a4be42eae9eba35ec6117fd2911a415e3414e4ad156d1b5301307e97ce92579165cbb76a3947f373074fcea76bba1ae3c4b8d9cc56417c647e7f94f44e3e1eb1ffae92b8d5af02c4e089518131e9bb1ea6b1d4121459826bccff4d2d6cde6c26ee9b243d6874f6a15b743cf38928d8306a3141ffc6594dcde3fad3c97d5e1d0adc1cabfa710c46731de8f518e42a6273c18244ce5fd31b27e078a8b7bfc1f84259337dae810b1ea487d587aa78228052f7aea6416df85330d63739184b0cd280f4bb39dd3f9e0a08caf2055d86b4c4a744b72e8b4539c16881dff338d349536f7542d1980d67f6e43d1866f840457a7ee4a4e4d5324aca165403c91a26520022d75168238f96b51e3ad0e923f591ca99c284353917b65ab720131b4be2ff3541093f88d7a66247dbb08818c1d8709d0e90c2059b85c400c4b1833a05a88c63595cc1a1899eb45d51921dbd3d6cf8c176e5ff0218ec66904ff5f6a455c74678811b51b9c7507a9333a0389ce3b4a5762834b66642a3647933d504c24d1bb716a4876b665a98c18a6ef4d29ef0a44b9f924256edd0679e3a1af7cd110f293d91f5a2885b8bf64d5f58fccd76384f94ed78a36f597e8e35d766b43d24a4681616e11a9511647240c58da972e395d559d457fd6eadf9352b7f596d95557c9fa5e01b689e784813d8d2b51895ddf898bb9a591d6c5e009a1488469c4b709b49ae8fbf3484db89f09cf19c7f6d92f884b20ab57c7c487daf91955c987bd766134036fc25d1b03bdc8f70dbc8d3cfdda1b7ea54158ab95b0e5e26bcb22760d7c53d775ed489535599ddb61ca100fc9820efb3175993f9d100a9504ca550da5034d920653528eaeb0490c4576175c9356f09a4ac95fffece346ccd95631ed06a760b37dbf4ec219f8996d78183a3ab2e08359bda5c6037bc9c152609ed88c6ed2fc3fc9e40d40ec38069631aa3494f42f8e45b37a7769b70e579b82b574afbe217bbbbdb13c8acc1f385d632daf131aecd404781135c94d8bec00da9887d3b61f3f264b173a9691e057b9e9c4162ad39a60119a19ead6dd71c2e00b22ec14d9cb990fef38c9a1adf0bb8b90f1c23f6e8bdca01866ddac5498144ccc7d4b886dd055732fe70b55a881bb99a5f4f9dd95e1ad7e77ab4545df5759df8f2bbbb0ca226f4276097e722c6c3044264d41920a11d3fbb5c03b85e86a064f40b206b1a22ea20118a68c1b68968b5c78b1c8e73cfe1fe73e3ea6a6101a25e47e46a7cc1ab35a54baeeb1ed7a5317c477e1d7ce0a8da1319c79efa87a6638a5b8905bea954ba6b8ff79cfeead570f966b826abc633e5f039e29d43ecfb2910b95810489e178871657789613eecea78ac5864f42daf888de4ef92790a4f266cb9ac369d3e4c65e3e4ceed79b72d9a482f017b276de0ac9385a6076179d0bd3f96966a5372d67638f6bb2af93964247b86fc80a4f99c31a609a163e619a914e31f6e4d41c85effd4ac1b1b7f3f388946d17639b84e5b36daaf306c1daf90b49a1208f4a41a7803faf350192c9d70cd4753118798b4a55dc14e44cdf5e8bcda4b4bdeaf45b46a50acfff0e0de414f2291017478b2649fd4f4d68d07b13f651afd125f06f4f4870f17fb99b49aa63e91133a10b83959626320fa6138a479e5035839faa67e53a5e65272ed50f25020841aa7fd890157ca446e82e98a95cfeb7fc1450b0900fbfa0c06566e0b872ef08bee671acdda7d0e212d1dfb7687307358b70e1077345ea3babf69d8dcb41994e6feee3d50e2cc478200bd412e24355342c0521c8941149ca3a931c67b1625fa3a205a3adfb9956bbbd26f9e32c5691edddda7de477b871058ec821c6a0fa80c2feb15fa5f7eef959f4655bf78b058fdf896f05af37519424e9b8b23d9d63cb40c5337546aa2dec0791c9c91fd8704b99fcdf981d2d5356e355cb5dbdfe8d4f474935a6702a62e723551336ccaa528c393ef59d52dfe8f69f607f34643613a5a1fb55d61fde0520f5ff792afed11901bdc8a05f5ccc5db80578a8091485a6b3cea46bc0e13c62070e4a2ae75a6af78f0847825c768a32341eb55f8ebab411f37a1464c629a7dd0dcf980e940d96d89d14fd3d2d2968e86b3b46cdc08194e2c61efa0362b8c57dd38b7d38607d2635a7d1f4187f3fcf93787b211f8593f19faa64da97878c84f75fa8cdc8ccf0967114e0bf3786b827ed01edc2049f8ff71b1539689350cd2752b109e3cdc1596745ece79e8974c979ecb5578841442392fddf24627976b816155c6d5d442938453a6faf4a2e9a1a7dc7855f870d8c78a36eb283525ca7a26cc7166143ffd18c1f891e9d79401a8a8ca052d46e16d4fec0addb10a6566928e7b5ac644a5376064f3f2eef531bd51061758560a5247acdc8b825d622f9b8d8e806a3942a6ce4e873116458735246c53c830701de3928e54e8ff9b8285ed9e7acd43f836c1e3009ceaa73934b3a653568f04dff4f4199edb7fab1ae489e38b0bf0f1e9d3aecd14ad923430ba299adca9dffcc38b29c1d7f92284de97c63e10f553c47bf535fa82ef0e04796892b48279c44a8200e34b975738589d3c720e4645ff8df24cf91bc0802fe40a0ba59aac413118e5cf0714b9c9af0945cc6725e82f64e54d5636c543676f831fb2984421ad96fef870069abda9aa4de11b4edcc95b3d473327680f0b8cf355c905dd0411f5addcca53975b68286a04c1d5ec8e60269860a4739ca1e6004407d648fabf5907a8bda961cfc81036a1a7fe422c8628f4e4d8d272a6e34533e044212b5cb16e62c3eea095f781ae365c258bd9e29c2712823b66c251505d347dab928adb5b1a9d093639ff29082762d645c6ef9115a333a99e64d786a407b06b9a88a4e97faf50e67148745440166e18cf1e767637aea3c950e165399f678771130957bc8ea7b41995afd1ee20a5c40e46a5c0b5f44fff49a04302ea232404e009a7700f45a5d4cbb2415e2802350eac91d4aa41d026041e69d0b9560ee71c232c2886545b21e166eb975f4e90055c6216d0c82b100c7122908bd5fcd6a324bbf958d594b95e482c5b23547161", 0x1000}, {&(0x7f0000001340)="47eb533be9d78620be7b0630acf2dd87387da96c3926fff2edd82887dfdb15dd364dfde06541ba5d6e927ea4624d64dd9c9ca02bce2e056c39d1434b6e6e", 0x3e}, {&(0x7f0000001380)="7947f5d6d73ad42a03", 0x9}], 0x8, &(0x7f00000013c0)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00}}}], 0x20, 0x4000080}}, {{&(0x7f0000005280)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005680)=[{&(0x7f0000005300)="9232c9fdb83f770e30ba20b3ef43a2c748855e57539ae28b77d43a6dc5f7c8f44f860d958e445a0874f711cb71b5eebd906b487a5866094bdf042995381b88ffa3b0faed31549b5095c6b586f02c3cafc842dd4bfd441e7a0601e2f5f97a2e0809a102c4efc5655075a6e2e0cd5ad1801361dc7e637dad8ad0bca5916e21932d", 0x80}, {&(0x7f0000005380)="36cbe3daff5ed51ea81c7031e13e61485391ede72a089f068e821ae975a1e6cc05e5cf54688ae440430feecb474a98fde9e6420213d8b955de9918610cf8b1beb7eb7df52a6b4ca060395256fb62d1e80f574b07cc85179e", 0x58}, {&(0x7f0000005400)="fb38adab891ae9ae3bb1dd51bc231ee916a0816fe877b0b74a759153a1324ba848c00ec25207677fd6d7ff935f72509a646661d654f45969aed9", 0x3a}, {&(0x7f0000005440)="b5ab70f1d9236d11373af0c2f50db23afcbe1555fd71fb199770ea5ef812ab3111f579dc5194d531380c6e0a3cf47d68001bdc22396b3e389fd7b103eb37070e29da3043abc8976053c235f3c14456e2482e98e2b57a1daa5981", 0x5a}, {&(0x7f00000054c0)="6a0a55b3cfed00958f5a069c3457cdacd37100a77b9246980de5", 0x1a}, {&(0x7f0000005500)="1088afcb10167dd01fa53f8ed035f3956113ec49726fbfe491020699ce0f525a41f136cf757c9f929ff327a96068c614f74e733569442bdb6fbc86c7f109934ba5db3d56c7", 0x45}, {&(0x7f0000005580)="9b61d239a9bd3b4a40238ded4492a4ad472cd8bfe629338722d43ba4cb2ae4abfec42b7eb8bce65715f905d200e61fd6adf6ac9daa5ef33336addb443964a3bdbe08e0856b509be93041e8adfb223949bcb497a1696a3113c536b30cbd35822d5f52bc0fa0b11188ded4f4f0e22611497fe7f7a559102ae6ef89c5c9f3261e1f4e5db46b343bf0df4ebf33a657bbfd6c7df88c3127efb4eea4c06a957fc4a740f78d323c87b2399edc86e0127bd6c768bdaa9000d7d45f033da3acb0fc0638c20391e94807d2561de1601e75819607aa0d", 0xd1}], 0x7, &(0x7f0000005780)=[@rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0x40, 0x4080}}, {{&(0x7f00000057c0)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000005e00)=[{&(0x7f0000005840)="28d1be28df7f3837baee5d5c614a7029601828e49a9ef614b96ab26d7aa7e7f0fdc7ff4b79bd7445f562432b8353df4f771405c8e1536c4300d42bf81761c9d3546547911471b99140f5b9f86178a9bcc68959296676b883b4", 0x59}, {&(0x7f00000058c0)="2995598d289152010d666e5d561bf9435f29a5b09acd1dcf7b83bd95f4fe2e551e2323fcd4988c438dcb41450f3f653210e0cd0d7a972a19fd2215e53dfd2880a6aa0721cc982584aa7137eeb99705e2bfde682b742071d07396021dc9132952f5137c84d9fc7132642537faf8af618f221324116f5491308275449207aa7d27ea6de4ffd4704a29f240ac0a420c70697591b03c1eb49e9db3b7a6c19d579dcede4650f41359d39b84a1d9c69eee6f2d42b79a77cd5e3b0253baeff4bd82df", 0xbf}, {&(0x7f0000005980)="ef4b66b7e099d96c3a57e6f31370a8c5e80a7eea0b91f02704a11eb5486c5e0b75b38a1be02fad8c52316e7f8de8de6f77c2d826662eb1ea1fb03edda018eb95ae56970bc2becc2435c1643a2adb5b13c59b75d58c743a572322f5f785637572eedc63a68b5252a8e31051039edf67a702f7f1c47bb255d64b283cb598765df6d057d2438b51371c71739aa831637085f9c65573efe08217ee2f7aeabef497ad8229960a9f3578b38d8f4f059a", 0xad}, {&(0x7f0000005a40)="ef0365eb7847facde3e28af98735ee2550c7be205197684579d57c4fb2507e074e451e4af1e0319d4d7b78c4788c9dad458c560ce00606edca3fcd45f32fcdf606e25bf00a2ae57e04facd26754ef986791b96fd3a35b59f2a8c8cc0a2073c67d29485792c50263d6fb7f71a7510bed1f85336acdedda6afbec270dd41357b61e70012a9ffef698003974033fb2f8b07c8a094", 0x93}, {&(0x7f0000005b00)="aeea22d99e9c3a02625bbe0f6fc0ef5d5dc238ee2b17a7a5834203c36274210632af9c1884392208b655c165f0696f6ca6beece3e57cfbb640307a565d39558f240f688b1e", 0x45}, {&(0x7f0000005b80)="ee06b397e02b6cf1c8f0a0263225685af9ca132157a774fd47f175444b732e1d1d3c5d1df6b3da1bb93549818d7d5bb9ffaf90c39cf12f05133b13f221f02b9716bc32ca5ee8394eba7d2ab6d3a4cf58fa85281bdd43ce9c52688b06137da7376a05d8baadc7dc539c080a9353f798e9434a7ae0decd226f4f1c78fda92eb697611d98e970272dbcabf93231360ae88c742067a704cfa31e90d348b2c46884eba26e0d1707d54991944c715c190dab1f7ccb56fb5ae54583904346a186af603de6257e96ffd099a2009ddfdf5c7e032aaf52a725c65059c8c997191fe13f87506b6b4c82ad6d06122d3651bacdcda581142c084b81d0991df9f9", 0xfa}, {&(0x7f0000005c80)="7265da25b7f3537dc367077a43bfa669be0f998f9c5d4aa2a3ea3915fdb104605d01c36ebf6588f7e41caf546a136b3cd0d7a38f0c19c1c382062cc49c469a852c5dc26101a7828717a385dc5e634fa7ba66888ee613050ee93a716a2bf1c45f0408", 0x62}, {&(0x7f0000005d00)="4c7d8ecd2451b3409805f1d1713ee5ed2f6fc44cfd540729985a99eed3247c334ddfcc56141d3d33fe03f63064a4bdb1e45609c1bf950125cfae80e85a6694c26685f1f5b0d4bbdd4fc0763cf42199e7fb6423e8db4f7f5e8c3fa20c3c791683adb2eb65102a01953d14c8fbfe5ac36041159339054e422a2a6b9ffe853f9182e62c9ff2a07f06384f11395750452164bf832e8b4aacc2ecf8c1980f0320e3fc2d1af480c0039efc90308e5ea2f0e1ee5888eacc0915f29c1d5e42a3c171f44eaccc0b910047fb4decdd1b070384057282c8fd19ea4e5ef18398a45fd98ef85172092b33efadeab0802c1780e29df3dc5705bbdd", 0xf4}], 0x8, &(0x7f0000007780)=[@rights={{0x34, 0x1, 0x1, [r5, r5, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r2]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c}}, @cred={{0x1c}}], 0xa0, 0x6000010}}, {{&(0x7f0000007840)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000007c00)=[{&(0x7f00000078c0)="e13c379865c0dc16570878fdb3c3a443b24cfdf93000d7088e2b7d4628410e4ae21fcef46ed1a0760a755e9f35c29d1964c7d85c8aee5f80ba6f04161c4447307380f50582593fba618444ac39c4c7fd9000e640cc9e77b6f530021383ff7a437c0fa49fe24c55f496345dee0910004f9dfcab3216c955bf61aa6a170b407bd170149280972b161152ab29b85f9e982f644fb1", 0x93}, {&(0x7f0000007980)="d0062a967ce6cf5ddd6857494232f99823d5727d8ec3babce5925a3f987aaf46441eef64a67895adb4f5016a79ef09853667c42c5951e217c1e76654df2e194834f04cbc035a236af82865699cda15ae53161a", 0x53}, {&(0x7f0000007a00)="1031f790d6d84ee69fb447a22f000c36eabbcb11f6605fe6ef137341511f3d396d0edf35d3a9096d9c87af4b8a34592b6cfc2963c31905b9f27633db01cc291e8c2bde791722fb6cf2c609b7a80e4c4d36fb1d642034d061166291e497d9c884cbdcab605310980b8f36d4c71e80c261bd009bda639f83c43f59bbb1f1857e010c56f865172566d7edec8f80630ff337891015aee597fc9574877fbe6818d706fc582efbde76d31636377c9d121efdc93df93afcbd9ec1d815f10fd426a37144069c506736307656eeadf0882e1f019d490837c1fc6e", 0xd6}, {&(0x7f0000007b00)="d166273d68c70baedd61c4141d6e20667b66e1aaf53e4dc831cb7d3e7ac0439ab4c7043d1e8447ac07376fd563c864573497217973fc556049646f103bb2c1bdcb7d0cfbf601e0244518540aa82f865df99b4f3b468f36d6382b55ad72755582c948f95f2845f0e30223a3ae1b4457e6e359edd2284e765f2d31c4c90eaf705910dfce7650d872066491fbb47fc71b3990a3dbdbb7fd2ea055708d9d8ba8fdcc6c4c2bcf977d762561444d276098b3c5176249dc6fcba7421aa1db85e519d5a98e629af5c1ae28f927297975bdf38684d4083a2d6c2ef44b4488a27bd37c567076f1de2156", 0xe5}], 0x4, &(0x7f0000007d00)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c}}], 0x40, 0x4000000}}, {{0x0, 0x0, &(0x7f0000008f80)=[{&(0x7f0000007d40)="6c5600be047dd65c6abf71064860f49a2b8139510ee36ccc3a3e03fcf20dc1ec6052ac6b1751908fd2f1fbea559ce4ca7a287a53b8c4935c59be46f60126aa5de70d4587385c0e813f9d0b68ef91afe262fd8906f5bdff91b4d5308ffe818afce3769f6ac58d67b1e4ca42d3735c006a437682190cfc963d4444aae96b257c9f0b5ad24d8c514f92ece163", 0x8b}, {&(0x7f0000007e00)="09e8c658e3", 0x5}, {&(0x7f0000007e40)="d7aa53820d4e4856e7d2493fb2eea50319256cb5eab0ef65f5abd2bd71988410fb12b09c65d9023f57e9f24af0cf09baf389cc6d14c1be3dcddc32835d8f3c7c0223100be52c09f82ff7bee6ff4b7ae5f9759bd14118f0a15260aa4c93f1dff1491fd1da4aa9b7f7449012941c8db71c4532be2efef90bf79847936ddfc899c47bda3a78587edc83abe169f1cf2740a145c181b8862545154423ba7eafdbf8adfe1fa7a1ac3ff0a9e3557afc681e8508f264daf8a650f25a73470dffbb07ac55fb228115aef16ff1cf4a85113af7042718416cb10ef50847425e6bb06d8ced3b0a99bb955de24d73f8ead82abbd175a3698ad2677d3a8d69221e6806fdb119d18e870d44d22ebe8a47287f26e1f0cf43e8b5527d6b27f27d2bf32c0def4099cc335dd2cf3084419849f6b1203d5c3e9879df0c2fa9bd488f46cd2440037fb88ed1a11b48e14fc7805689e20f2cbccaa63a3d235f9e4da529c677b7f63e28a36f32755311f15a43ac073fabc4b82670f6d7c5403f7ffd6f29b3db3c66051bbb0a9fd0701737def3fca9755359acd6ac87ecf444ba141aa5a9c6651335487c01cbecd495b95098b4843220c882f1702c3a94ca06553e0db6bd836ef3e7b4154f3f2c7c03c6f622da1ee5df9e0dbebf8483b265e1f21cf751648bfbcbbe6249db70f3538070ad0102c934a2b0181b84de7dcadd8bb77fb37e323e7312537d74960800c349185e7e6137c70a2bad8d360d2752cd2518acc1bf6e6caa25092cd7aecfd59d8a830c6aa87d790e69cc77b4cd007e172814a3a4e042038c6d343a4958d4d6be23b71815e3c42e5127f68d90d00820bd827ec43855d0691de1c676a46ba2508ebf30ade7a38cfc10b66ae5e42bbc949e2a3ec1e1bf3958d9fd1d5c3d366c098861a518823cc612a6252d360fd6af936c3e84d9f61cc1d9dcf9b1e8e853aeabfd0029e71d12d5a1844b1380c361fa4187a6d6d1403906e5dd6d5c73d162755a65a551fff605fa4e960210746c319571ebaa01c0021a7366794c7ed65783ff5dedde3a71f87afd46f5ec9be6a3ea2131750b0695f21647ecee215ff31431dc9d727e38f6705c6287b86f7b71027d886cdbbbf06950d9d47fd409e6b5398c0849d4e2d40a1bb38eb8f1bb600131fec711414e997915b1ebdce4bed75964f0d89a39ac85f7f018d92cdcb72805afedc25fa926a1f1a57f05e3965725a7a7615e8f2d0155ac82c39df9e943c2b746e85357a30c2b58a064ce7f281da5aa7eb05f19666e5bc20279082f09fa3a799ad5b04b16b70b636011829336e729adee9da850afb41fd4a076734abcec266eb28e8decce5c9e768c47d94c587b893c2332936f9499973014ed414690a12582e4c83a3a9ba4254e6e1fb8d68bfd082b3076d165e102e2e0b4ffc3e9b9d2f85482de70f4a2a7f35417a241625a2a3517e76ed7f5c62e5b9e4a774968b57112d01f4ec5a6a4c8bd46ad2ddfd07aa02391c141a90470a2b213446fbeb31ee1c8a63abc3f6e2bc7fecb5b803e8a84af1eaadca2f11a91b1fc9a7bdee68e8dfcda5b37e2bbb626f02c397622564c3e2f349c9cb7ee85a9c2841f52dd460f0e44e55bb5ceb42bb546ae176cf02f471ff270996515bdf0e2271995011edddde9f4955a787f2f76427b11ffa2457c959d3d3484d26fac6f6fcdd02146253fd4bb2d75ba7df6bd65d32d79582a70e0902c8262cad954df1cacff0a86191944e903c2606d68e0c7319ad35a79f04d451a43aefe63b950d1c29c40bda78b35325ffcb9331702df0a3da365dcd8fc75d89fe26bbae1a830896df4cb8e1167ec43c6ad6dabf879e1af5f9c9d009cd8515d27d511e4e43295a92b4cf5c7b44ba77c76d38a1490c356b395af7262b42db7d638009cb7202a3a1a2c4d6539f74559c633761f95c195fdd366269747efb1c3cbd5afedf0ee8d137f2e355fe79c95d8aa0ebbbaa0371a2424c941992bd5f9275c1b19f5fa1ee8be18890e8950cacafba9200380f3a1982c26fe3f7ba02e47edfac29cc04df94b50196823c77302177c71584cc543e37294ce559510be76a14c08d62ce0d51c1cdc86ea6729dafb1bc76ac9d4ef39a9b22cab8328d757aaeae8986d07a96cdf1ec7f92ea0f5955df2f87d4e147e2799386a9ce77aa8a41eb80ec96947256622b4aa30b9f2c33a7c4f6fc0958b08d96d70351d58ca93411b5941399c4137aacf2b0d5144f833ce14891997eec8fa93c8ac6cd044d0714436d3047e0773dbb6450694bc9497915216b3f0a0900af9f139fe9a2ebcd340ba509987bc205eac377d2f6cf39a9581359166fb2b8046c2bd103d53ba23f6f2a594ca75a925aedf4b6279c329956cf3ad6f45b7da7afce19c34db272c44500d55ac4a09852dd0212ad0438947b8b03b161c0c2d7b87bf771c84dc060740595001e9256dc8b0878162df9b601978171a301153e75c171b113c8aebd1073c31154047ec4a0f89bc44899fbf6f1d8eaa416d59c8c7c682629c03e55e4d3e3ba9b1f538a26e8e1a8b4903fa08e5d90cb54acaea44f8e28496bce0e319711004e76b1b64ed2f00ec17eed2b2c15052c957d4195b349d2b3c5ea2a513aff23feb1753acbe62ce34da9cc75d4d197e2f6d858e19cf6c06647ac0a6f2b92411d260fa746a4f8c8c9083fbc5da996a880823886252223cdc4d6a8e0aa5b15edecc8f38951e0ee2c42200912aa6f0a5e77e0619bea6f03c46eb7db0c36f0eb92c58d807cea8da271bf0db17b401c66ef6547aa989049a05113dfc4d66e2c0ce17f06d4ff72ac8dfd7032b74af65a9985c343c9f40ec96c2cf7c846a28b97c04bf2a5a1242f02938b002760d15302548045a16c581e00a42956b1209afe621cce66e5d094a6fb447c38a6243b0964e3678b662031db40db514c7dbe0cf2c758ed73a6f1c73c06b374cce0e656cd9fdbfa05c772dc267362c58f8d4dc519885df6dd37aa0af7f0344cd0a32e5cb82c4dba920dfe1adb19fb7e01d4959c46096b7b665a91529acd1dd356faba027c8a76455cbc52334f1b9bf4c211c8bd4334bcf87e1d3b6ca7dab6375788fa139dad0beb023c4c306aaa7277ab2ebfb24f3535c752b4f785df57af5ba4e5f58660876a375c1f06a59e55ccbc8abfad409ed00619cb227bb64da9d22c1319ba885e3112cc1b285ef858991c30b5849ee32bfa3fc527f2b2f44d4b60c6cf52b63b58b32402d55974ebfb235e1132bff58a9490c4d7548ab231a2d2b13c7c33b33348029ab149e1e9820667ce2c24b49d95f3573553db80fb20506d97b7dc44e5c43aec8d6a84f51894d8514539464ea20a2f6c4cec7dc8d8d6d0953813be1b51965f157f4fdfc7dbb0e0847cb0a4f6ccfe9b0e01219e5ca91d7e6530d45fba8925cbe687b90c21bf4df14f0cac0ba0667800ae1187459b2303f99dee8bf39390b5e86f49b215038a7cf25b1498eb2d732474c8ac3fe9c3a1870c50d765b554fb259720dd18ce2b0dd912d618059340f054b1f2d8775d6bb65d4a972e85b4ba7c0afa258896abf3a8a0d8616796f2cbfa64e3642f0f951ea1b0d936c55e60be9739422658a7b5999e9d63511fdf8e9a5eed3c4445f99065c66f799d950d1ef42b35a6fb802a1eff23528b5333c50c410a215f44e419b81ed16c3e84654e5eebff83f08cdcf8a7958509f9cc9a9f7022f7715c0b288010361947976bec4560b71ff50c73fc829dea10e6e774be9ec4deb64ff86bd3e635a05c72bc34f0b556d921c6638e659c87ce9e745e49b68d420db77bed24d40b5ffdf8fb54b4c3d99cf1f72407eca8174ec86749876c537e194158ba3e366626e9bf1e726d36a7e54c198a3b40b2734e3dd7de7c90f7ced93a4ae1412ef29c33735f8da89630b97f004d536cef28482523afaf0568d68be0a78d77bf3fb72df6a3d760407b8e98cf2fecdf8801ef5f213be15f1c5b4bae608d1070e67e77fdab6cad1f7de502acb4b57420bf74967ba208a70b64c5365a1fcccc34ba15bd154b5c8aa560fc5d7f56dec6c9585272110f3217172a054ab51ac2fdcf2b8e3051f4fb5a89d2556a8359e2365e4024801dfdd98512147ae58d1f055631a495c14b411d501bc3c998b13ac28801fe52931d1dc81f3262ea7a512569e47f151d98e2412d82feeee1f60192c237d1f2686a8f68f07892c14c99ee0a183efc168054c925e027af47eebf7001896ae7b7cfbd8635eec57fff06e9e75cec0918153951d411aae6f55ce1d1dc1e93c360ad37b6bb9865229d8ee7a2dcc51f66c5641b00bf8dc056b3989357628f844833502e8969430a3e4462ab902783fc93015450ae2f38e4dd685b6d32b163b5884608075b80bbd66a8632440d184005b5d8e2b24d1dc90dcef455fbe3cc0eda38c73eef9e53b14ef53b7dc263f47212d92baccc8171a62de3c7e060caa915d95a271141d6d8178e89e7fd23653a11e441139a947a79ae639ff48ba21ff29c13209be8a015eb5a4030a2a7170d5dbd7bccb9614346acd53ca98b60e74fb8b01169786fa1fa9189e6a28ce8ab7c8581b5b9b92dfd80eaaf9f19c02a2d28ef4eb13833f89a8ce7670ff11e86ccad4e44d04fbae013a393bbe64b482c24079f4e260ddf7ba3aeee6be0396b43a6985f2e2c5b4f5dc20bb21b965e1de233ab7c69b7069acd40c3280e4637a04af4e6c58bc0dcf2619684b0530228a0b1995375639d76ce5206c3fc6d10c359f9533c1bebbea6c974fa938ef41b64132c630d7c188d5912b80afa724178bcc46d3c77c4639c41f806e61d950788bf45a70c6b23246ef2613d9c2ba2bd877cf0233c0f2b36364a40a5994f8234c4adf7dcffd019ff8615009821002c82557ef4b9c1fc2fcf5847eaa195b56137e4e591aef496542c8445251bd35455eeec43d380bbac5a8badd084f69003ef8cd47074d2433ed677b81409edbe1b8ec434b12e3b1faa47e4a4f2ecc9c9d5cdf4b72bc4e81f7dd800dce23e1d7330c15bdb18ae22a6852d09229522fd1485f00beedf284d49a82b2165fe4da7c85164b294291f5a8c11a59498a32d2b2209e90825e57f8efa74f84ef6b894c21f1ccaaf187217b79b80a0517cb59c07a3eae5974406204bdb3f4aafaf2f43f12bb63bf426b8e2facf4fc28b8f42cd3dc8ca8832983c4567b4aef758abcfa216805f50af35dd11f13723ff2fb76046b1ebbb64979aefd86d65ed72e0be7c4247f12a0b58af4ad04bda18102fa56ef7c2d54ed93a4159c4f09d8e0b0a082f86ca4ff966b03d10636402f9087705bff1f19d54fa73c2b434344b54c223e5d4e1d6cd781b7e16bc6da8378d40cab8dbae9e6837c9e254294cd04b12465b1530eb8cdfb5300e2569c2dbe56d3b53dd8653716420160df5568995726f454e62ab04c4e7b60fd6ae7bc7d3c9df29d0db2f2c4b38b30103dc54534c837b5066ccccabb7a80970f909446c3c2c48c9d89eb198a865a2c8a0ea60ae3bbf3aced66f4c313fb68246c5d0af59c6d42a6d76fafe7d160cedc1d24234ab16964bb979921a100df0e0c8ce6a38774a5e7a3ac835ae3138ab30a252c7e68eab44bc979c9685c24d85d818756af4e92b9971d9218787f14ceb802e16ccb27743494620ad88c82702bd478051e705b7016861f1a75c00267ce7d4f0ff6f82c77fdf361d776966ed9e1d400281f0c2d76043769af87e268a8b165facd01c0e995d78517cd6dfb963cfae84ba1f6158d30edc7ae1aea2ffd2814240fd14f3b708c7723999bf9902a236d5ba1ef241d8e73531dceaf31ef7a1a4d8d742d447134e0b12a056e1f4e50cda56b77735b50", 0x1000}, {&(0x7f0000008e40)="6db5ff569b996759d65fe2814ce2c8baa045996caccdf1be9370e93c9989354c0ec33f17b824955c5a68e35a4f8f", 0x2e}, {&(0x7f0000008e80)="f4bc3753896456771a055fb519f27384be0522cbf354217e9e8feb3d9c771cf46c93170ca60504565dfcad4df9e2a3bf51e0442229d66387b6f6c8b8b30b46ae4117840db791cf3277444dfafbd36930bd1bff045f5efcd457a188e3c7d7ba06fbaad66fe16a6cc388426cc7173fea3ce55d4d7a028c94971e79d71c9303d5db6674974b07e7ba521b85c2afc4a636598811245c77c391e77befb792649709ce784e9ce39ca127ab8f13a25672b1bb08aa09f6f8b043f8bc03de1a6860d3299f400d0c800ce6f1ce4455990a4bb8598636b0fbd9383650210a9db6ef1eaea853d3665365536762acd741381e79a01e8e", 0xf0}], 0x5, &(0x7f0000009000)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x4}}], 0x8, 0x10) sendfile(r3, r6, 0x0, 0x1) [ 316.260556][ T4845] netlink: 'syz-executor.5': attribute type 2 has an invalid length. 21:36:15 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000080)={&(0x7f00000001c0)=@can_delroute={0x178, 0x19, 0x4, 0x70bd2d, 0x25dfdbfb, {0x1d, 0x1, 0x2}, [@CGW_SRC_IF={0x8}, @CGW_MOD_AND={0x15, 0x1, {{{0x4, 0x0, 0x0, 0x1}, 0x4, 0x2, 0x0, 0x0, "a7824931d7025634"}, 0x4}}, @CGW_MOD_SET={0x15, 0x4, {{{0x1, 0x1, 0x1, 0x1}, 0x3, 0x0, 0x0, 0x0, "fb92a312d1804209"}, 0x2}}, @CGW_FILTER={0xc, 0xb, {{0x3}, {0x0, 0x0, 0x1, 0x1}}}, @CGW_CS_CRC8={0x11e, 0x6, {0x2, 0x50, 0x5, 0xff, 0xe0, "fd8833130ee5c4c0883433dcd8acc6fe6a87db9f5d13861f7d80aa4c370f6a6f759f8684531ff3580d5e3200fb0e52e81c42f6cf21ef3c8badd00945dd2b1adc925b03060c29111526687ca4f72e1832f9c179f9e36e4d51a52dc4298d7f1e108db3175aed5f3a397361ddd2efae782ba4897075173d00bd295752b9d97bc5ef26909dea6d1ebdeee861162ae271ac30301f11a56a09ac6da74f415e3cfd1b7763af0409656144dcf9a62a6bd3bce0d83d35fcde8ce5bc5522b31600682727eed2fe9a9615d6ae2fd31496094cd52686289751d1c7b1ef3106e113607e017c1e702f76e545023b0135de8ce8c1f20bebb8541185a39c943efc3fccd4f9f6979e", 0x2, "c46a53188664af174a550e71304d5fd5ec8a8dae"}}]}, 0x178}, 0x1, 0x0, 0x0, 0x4000000}, 0x58c0) sendmsg$nl_route(r0, &(0x7f0000000180)={&(0x7f0000000040), 0xc, &(0x7f0000000140)={&(0x7f00000000c0)=@ipmr_newroute={0x34, 0x18, 0x1, 0x0, 0x0, {}, [@RTA_SRC={0x4, 0x2, @broadcast}, @RTA_SPORT={0x6}, @RTA_DPORT={0x6}]}, 0x34}}, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="4400000b93b6d16ea4c95bd97f0033cf428f0df6", @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b00010062726964676500001400028005002500000000000800050001000000"], 0x44}}, 0x0) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000003c0)={&(0x7f0000000380)=@ipv6_delrule={0x30, 0x21, 0x400, 0x1, 0x25dfdbfe, {0xa, 0x10, 0x10, 0x80, 0x81, 0x0, 0x0, 0x5, 0x2}, [@FRA_DST={0x14, 0x1, @local}]}, 0x30}, 0x1, 0x0, 0x0, 0x44000800}, 0x0) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000080)={&(0x7f00000001c0)=@can_delroute={0x178, 0x19, 0x4, 0x70bd2d, 0x25dfdbfb, {0x1d, 0x1, 0x2}, [@CGW_SRC_IF={0x8}, @CGW_MOD_AND={0x15, 0x1, {{{0x4, 0x0, 0x0, 0x1}, 0x4, 0x2, 0x0, 0x0, "a7824931d7025634"}, 0x4}}, @CGW_MOD_SET={0x15, 0x4, {{{0x1, 0x1, 0x1, 0x1}, 0x3, 0x0, 0x0, 0x0, "fb92a312d1804209"}, 0x2}}, @CGW_FILTER={0xc, 0xb, {{0x3}, {0x0, 0x0, 0x1, 0x1}}}, @CGW_CS_CRC8={0x11e, 0x6, {0x2, 0x50, 0x5, 0xff, 0xe0, "fd8833130ee5c4c0883433dcd8acc6fe6a87db9f5d13861f7d80aa4c370f6a6f759f8684531ff3580d5e3200fb0e52e81c42f6cf21ef3c8badd00945dd2b1adc925b03060c29111526687ca4f72e1832f9c179f9e36e4d51a52dc4298d7f1e108db3175aed5f3a397361ddd2efae782ba4897075173d00bd295752b9d97bc5ef26909dea6d1ebdeee861162ae271ac30301f11a56a09ac6da74f415e3cfd1b7763af0409656144dcf9a62a6bd3bce0d83d35fcde8ce5bc5522b31600682727eed2fe9a9615d6ae2fd31496094cd52686289751d1c7b1ef3106e113607e017c1e702f76e545023b0135de8ce8c1f20bebb8541185a39c943efc3fccd4f9f6979e", 0x2, "c46a53188664af174a550e71304d5fd5ec8a8dae"}}]}, 0x178}, 0x1, 0x0, 0x0, 0x4000000}, 0x58c0) (async) sendmsg$nl_route(r0, &(0x7f0000000180)={&(0x7f0000000040), 0xc, &(0x7f0000000140)={&(0x7f00000000c0)=@ipmr_newroute={0x34, 0x18, 0x1, 0x0, 0x0, {}, [@RTA_SRC={0x4, 0x2, @broadcast}, @RTA_SPORT={0x6}, @RTA_DPORT={0x6}]}, 0x34}}, 0x0) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="4400000b93b6d16ea4c95bd97f0033cf428f0df6", @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b00010062726964676500001400028005002500000000000800050001000000"], 0x44}}, 0x0) (async) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000003c0)={&(0x7f0000000380)=@ipv6_delrule={0x30, 0x21, 0x400, 0x1, 0x25dfdbfe, {0xa, 0x10, 0x10, 0x80, 0x81, 0x0, 0x0, 0x5, 0x2}, [@FRA_DST={0x14, 0x1, @local}]}, 0x30}, 0x1, 0x0, 0x0, 0x44000800}, 0x0) (async) [ 316.310980][ T27] audit: type=1800 audit(1659562575.405:12): pid=4861 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1181 res=0 errno=0 [ 316.336320][ T27] audit: type=1804 audit(1659562575.425:13): pid=4861 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir3004073123/syzkaller.WqAN9U/36/file0" dev="sda1" ino=1181 res=1 errno=0 21:36:15 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x7c8673f943f4c29f, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$TIOCSPGRP(0xffffffffffffffff, 0x5410, &(0x7f0000000000)=r0) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(0x0, 0x2, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000040)=0x7) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) setuid(0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000004b64ffec850000006d000000850000000e00000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r5 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r6 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000009040)=[{{&(0x7f00000002c0)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000000100)=[{&(0x7f0000000340)="b522e80d604503df86e169fd74d95e0085cede348d954718e665b4fd1448d847d6250d5ad1a1f8492c14f3211b72e7a5410ff3dce73be8822cad97650c895ad65e176fdb6e6fc8a8086b279a5e27b5489096876006cac6cc9c1350179f8a76830d7ea8374875dcbaf0e90f2dfcfd0266adcb12832ef684e69ae3286dfd252a09cbf74047e59ddd5e279b60696809281c22953620cc05acb3209c41c9e74e7271c836d5a241a718b6ae16", 0xaa}], 0x1, &(0x7f0000000440)=[@rights={{0x14, 0x1, 0x1, [r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, r4, r5, r3, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x40, 0x4}}, {{0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000002200)="002ed3248c749f217e535fe9d2d7f7cbbf86b709e808c23bda867d1bcf79c8f6d8567d5f22f109ca5c1433298f1690128b30c319fa5295457f4c7304db4479b2acce86cdcee597ebef48ba2797d0bac5504d29800b3263225bafdf820c608ba9519ecc554bbbec394f9af81dd2aa887ad0fb5349927d13fd8aaff6e71b8d9feb5330523e33f0546bc6d745b79b7bf59ee522afbcc36436553c27f00139942abacb6e1a0589b3da169cea7e336a4bacad74f9371f4b9851efb4925b430bb79949e00656b78829cbe19f2a5780a06261dc8dcf82cbdfc1ab9deac8a7deb084e87af222460759f54a9acc90dc8f5e9b9759fcc799e7f7276a5b6dabc9be5e716bef2617a973174676adf0c196a0b3245fa03ab9bda37ebffb650ee30c3adb80ef8b9312ee98f493f472413501bdef72b7c59b20cb2678812806e73098680edae53add2b6a25df59db13dcc89270751adb0880ec6d5a8358ff04200501b5e0a5f301d2a15b38deef145f6e23bc6deb020fe02d63fc496352629add08506487c631d26a06fd1f044aa887dc605b9362416e3f1064a3f67fc551b2969c0404e889942adabbe9827737b7febdcf2006bcbe67db7f70b45f6bc83d5a16f56313057abb77455718ed24b93313af88d6979a26a50cace7c0680511487eb7c915909af38cfda56984f2bbcf46fbfcafc5b8178a6ec461f43776ab4edd48cae0a29629509ca92046845c65e9f669cf6695dd7f67a0080eba5d442ba7bcdf3299b294e216ff89e58bdc7dcb46221f07070e2e26223a3ae39b60a98c43d6b99984bafc1991ddf1b9ba2db9b9e247d756ed847e94a11ce281cd1c4a729c22bb3b2a16870ab9a3dc375311f9cf227a7d587fefd38dd770b38889ab4441a02aefe6eb3e8ce6b3f8e836abc31f3b6c1dbeaf1032e07a17d8bc022e20f772998f27d34f6537d7dcf31b0e973171db16b041fb51c49cd5a24fe477043cf5b4db5a13ad9c522d674867b87a4bc6001b58018df50f1235bd8ef48b7299a1ab6b37b6bdc2a66ff1253a11f93cfe26f3595a7d0f56fc81b00c8f91721f54264757f2258323edb1ff4d414439337bf9c02986647a3348130de2d6fd11a25765d0f5b6d9aafb2aaaa09519b1810f6572e66ef6885c098a1a53f644f38c586756bc3f77e40de8aee6beb20e9c2d5c2aa3b99fd6dda24976141998b1ebd9b853a124e1243eb58220abe2ef009043f92a403490e849137dd2cacaac6a5add95f4f78fb9ca87886064b9ca537c6203c576229fd736136c24e7a92efe9e79930801d13ba0637305ef487940ba6052b5e86d5300514eac6bef65bfda51b2e473087bf2b5c9da1bd047fc06a541c8a42186d33d1be5c93bc8366a0a3d2f7628951c77952a537df3de96457399fbee605f9270b9a5f513bf931e1e39d2329479225ee0f5a6b8aa0c14ac5a01693aa1ba6c2d09d79e7e0ff0e25343f36dbeb51cc4aae7db658967e07b6f975b19879d4d4369ba458a8928c98933d1c245c73b255d69cfcd77f7b7753f261f1ab446834299f6dc5a128b8672e0bcae66fd4921d3fd2193a04f077d1fa883eb0c3d69355a0c1f3daf070ed88d0e1c18fe2a4a90099ffe576f6cdb4dc87cac2f66ace1abf340697272c3d6dbea8e906f93dfec8eb6469f2620aee3adefacf1dfe4c3c0dc90334e35bb8a1ee83ac9f274c60ee2d643d38304b7c59c730ae89506edc994f58f1bc71975c1d74458735036d0947cb17b2caa31177ebc10b921b475f6f0f1275e5e40df96d197703ca2efc925eeb1d3ab638db2682c3f843b92e2835510ae25af88b99051d0bd69ec086571f6d60c898631706afe8b7ad9229e7fa5705ab6256d971070e7f7bd8af4d58a82cc19a77b29c0dd0b66b1c140e68c2fa2c3e77fd835625b90c327d274c6cb3ca7cf2743d8f562ee1c23b104b00995cd6daeb43e8d5a06791a54c9d56cf853f196f9ef146647fc63850da5bee7838938c6b99343fb121804703ddd6263aad206c6835df1d4384ba7c02eb23abae8d23d772e46ee89bb127043dfc085c150382205f87d74abb64886ef599daf5c9dbdea9e57b50f731a3cfec33948aee68687ba5fd09a33efd22510bea92e8c5ecdb9d809012310dfb541a3ccd1efb4cf7cde085ea4f58f6bbb6660111b36340a752cea6809e04f038993d0e0b2ba7becf02bf8a25ea6c39299b804ac451babd83a33046c16389fb0aa0c04ad85e455b5a1590889e2a0d0deba8a0ea59b3a75b0698a1bfd1cc80708dabc3196b05bc580d304aa6974f67cf9fb934251367cd2df8973253e110ac8fe44236bc5baa2c1f4935cd9c1db6c695b5204ed5580dd31b6e768ea4caf808c62aab0b7a90f96cd8771b65bfb0c80cf69597be8d2e83494d7a3d1f1217bc9e0336e2e2802d2ba38ad9aa480a4747767c187dca51092e73ea569d3242f4362b3ceb7d58536f768753c6bbad6e8c9a146181218936e301496776233b7200cb145272f3b9782817f0a76ed5d286be9eeb1c6255467c47bb49da47c6dbded2264d11f9e099c1c9c391f6fd467a0b077ecb692d70c9888a64f2e85d48631e66cf29b53ae60d17a6d1c5f034c8a6ad40093e91bdd553d1c2c41f40fd656cffe7ad4c82f3cfb69a47632aab153585341ecce9bb26b676f9ac3f0e00013b687007a231c2b81b4239421f3e5bee7eee41c151d934e2fb58d6a51357be39212024a1b9192d7f36275d54c3d68258c71eab76657fcb62287bb1d5ad1d7b314a0591ee38b5904ccb40bacfabaa95ba3e079c148bea2d6955c4b4cb4d66b424368122f58b305c2c800f7fada685436f95a6a1e1e57c8facb1b5b93dbb54ff9c5a3818f7b0d9d58311788d04c9278414969fa3a7efd867e73d6fbc634bc39f3482ad457b2d7776dd9959847840175eddd9f73b66b960f876824f9f6b94b96bd2dbe06f766865fd1cfd6d0d1d15436b50d8ee50280a0e16e78be1e7aa9f97b2cbd25946bf810729e5c80220e0be01170eddfb473f3093f83959c0c85dbab3c1fdd3dc15d213bd125453c4821553edcd02b0b58e5a73eb6b5e3866068afcdcc20f2ec5afb54b4ce3d5a3463134ea7ea1d3c9a9ce4eaec6f4c610107110fc1eed1b0a76f067f6d5fd672541e6c792052aab7bf0ace155f8454970f064228cc9932cec91e8acb10bce6f9012106ee75cbfe9f1d29ed9bc10f57c7b55677d70b1e3b9ee4a71a9eabb973ab83c56b29a83dc0b0209f8d0f4b76f6d31aea7005e16a1c123a8a75045e31f4ad9bd9ce806d69d497c9cf49ce1999ff497fa52a2ec2a6dfc102ceb6181e65c75dee5af15e2f88017704a6cf98ac9e72e9634400e667cb98e9c5aff2b4c6c710aa0f41a0fab36f688ae5917d59aad797f3c4449dc2a8858ddeaacdd6d7c529dd8d32b8a9befb1b11877dee3849d8cea931dec4ee7183c4b0565df2c4d842916415b500ce840fd119aa5cc15a8e3ecfab9298508f5442b6c0740b9916b9b21bab48cba67e43ba73412a04e95bd41b20cb3ee1eee15c592065603fbf84f1318a0609bba327350e8b8020b3e533a85e5fec9b876b723b6a585d11a167447f2e9902b93d8ba2b53f30aaad899b0d729a62dcfa67a01f3c005b5261093f8218695043abdfc6e42aae3c0dfc8bfcd234a634c751f8e78da4ebafad3caaf827fcd4dc61004179809382f99f3a2c20ed0ee11931e3b88135a6ad284ea5f99322dc3604d089713390935ea91502e4002df03a443ae7a6d5765c33a6b8935f3c4355d117b02c8b0bc99f3896622c5261386de74c9101872872f554b848cf8d7455bea9a99d8001af9643a739d13f3c5f7264bab109233430a9c8ff3b8e3e3ec7b96b00dd2c2cb5a65c7065b3a3a0297f8c20f836b0485450822a80da517feb610a97a641660787034320392a4c71b82566c2a7e66e8c6a2352f5022e7d6d7baf3ae8769cb921ff9aba19268895f8ad865130ee7afa03c14e9a64a410e1521c8f1b7bd171d43018d31a3f8eab13116bd754e19dbde852b121eeb1c4e10bd61b16c7e3f18d2ec872ffd6026fea4eca669894e90b2ba31756b8508bb2be9783e147bf99c854c4b4a823abdde36ed86f4486a36d532cd8ea74e13971fd7abb508c59048c212ff2d5c07455e3c5083e8162a90b5deed0612fd1b63a8c45175764fb087957d3aeaa805b7886a17d56304c765d0d025d1b9200c40295fe0f402297ee2e13382bca5b1865d42a5c3768c674d0bc21644297d0f170526904f5f3924e6d00565149d6c3e301fe0e7d459162ce6e24abe366507244cc7575c7e4e981a9637dfda9530cfc248d38a861c61bd9d92ed63d78b8222f51728eeffdcfe6fca191c43f044c9ac2c6a93f9155d7e63be53b7864379b9db0b61ffa307460f40b52d1efc9866ca4c7a3f6d957fd3c4502bfbc4ebe2642de29b534e53b405acdfcef31ab17c2820ee4e0a2f86e90bc5d6b211fefb95afba44f2b54c860ab3935d0e2aec79f0cbe96d8b8b0580ce8ae0b76464c5f8eabc0e880ebbd4e1841937245e87a8aa5df3950d0a2a8514abd85e5518485e9175a7004916301911f34cacbfc29e0983943062ea504345595f3a7244206971c1f4e7d66b201eedb305e03effc26b11311f27bf2c35cfd3af1a29a5820e4afa66d3d9edbd74b0b74f363358e61f043c4e3558d04d074f362b91d00b628be09d5e1b75b5d2f30543600a89d555a17a1e8413d56e54ee4f8cefe55b1728725201ee4383afde317162c6a12302866274746100b7802a437ba621a699fac66c47838b2706ddb3131c748ce592bb9b27e6ef73734c3fcff2850eefe61c8f0c6a97683dc053d7d11a62e3d5c12a19daf88b03b6a8accd0d567ff6f07ef564c473bb903a83dcaa6e989da9f09d1c9bae2915c14428038efb0f3ea9350882ce23cab800f74b10bdc67265af9ddfc7c1d6933cb4482dfaf35b83a86ac6f02a3a33a41af84068c70df1819e66ec7936e6275cf609ca8407e6f3c737544bff66641715fcfbd7100c2dc21951338c637baf2bd1ced28fd40ec485b33c3911670ba65dbd74d51c64070200595778960c85d224d17ed1d0e0c82b67595057f93381164c92ad3c34d84d526d6be3762d2f44843c1f42576702e0efee0e41525a9afa492f7d44bf32a765ceb4671ad2f2aff532056c94175e2067c69ffbe6a6faa95750493e154ab70ef57f34e71b63febce48c591586eb58728a00043bbe6c09234f8dc83eb00157206287c86f46230e368e4629f192b838915e19149df63319c4616cc799fe01b3a855e62a4e5d825d4aa5528d26e5697d1f6bff0bc091fc9899959e83e8823849f7d84fe610d02e758a8387385e9084f91c4234897c872f356759fe5a9c12eee476929fe5af9c18e855269ab2aebea759caa50937fcae75df54b1d0c76420505836d457dab5cc5e2c6e03cb68fbb708695cc6e15243aeb0c7c07eda029e4340c6b8b7335b8647035dd96280d8b7b3de5b5c8769983d3f929046d4c6928709a93b40e0ae649eb580989df3e06823a982e48b77b2d6039d3664c2ab57cdf609f222d3d63ac9a54f46a1748eacf1c35ca96e9c6d4a5d7463fb5959c41cfeab17653edc22583185ae750d3c25c5e03ca321121eb08ccb341577d9a82154a261751def3f7f012c31028318bc700c94ae7961850fe825e8af5d3d6869d9a1bd248f2329d0f74d196eb467cdb2a370870efc48d0f6b4d5966617c0ad6aef580ae3fedb18c5b6a0cd272677cc4202f817706d5716f8058daf1458d1217b234a557abfa5e26a787b8b9d9c3c4597269863f418788e433a3fdb83209", 0x1000}, {&(0x7f0000000480)="8477f73f40761305ac872e0aa8b2a0eb6a636f8980dc4de9fbafa92ea82f2c44d8996d5a38afe678a5982e960bbf61be5f0a85169998d3a057651a0d7d6e79434519ddd08c5e6fb8d780c2d7c3342faa4d0294cc7dae2fb0f4d941a0d487a329adb3f9f0f8171abfed", 0x69}, {&(0x7f0000000500)="a812a9dee002c41028e782fcc00568", 0xf}, {&(0x7f0000000540)="00775553334ebd5c887ed74e3d6071817ceda36b14688d33e47061f0d02d7fd2c701cc94aa9f930607a7f1d0cf4034bfa5ce632c7440fd795b3d10b78d7cacd9b0d306baf47105369437e7d44dc8916072bb119499dac277c66dedb4eb35a304c2daeca921572110f7cee2fdbfc96a62bd6cda0614ad43cc54e69744c1d9a24d5eb25aa80f62c526056931040bba1a61dc", 0x91}, {&(0x7f0000000600)="61ff8ed13b364e444fa1", 0xa}, {&(0x7f0000000640)="3fd014249e78c84676e855a86bbd2e8295ef028457cfd459370b246316f3010b7ecad54c8b1b1d", 0x27}, {&(0x7f0000000680)="03c2dff0434fb6fad4d54e56212bddcefbbbade43f3b1d4b76e7c8d8e83a", 0x1e}, {&(0x7f00000006c0)="3db2d5b21ecb36382e37d6aee09158707e5d39ad7ff64709725ea3dcf68ce20af1c03709703e7dd78ecb7c061303ab378811c7bdac316a82ccb48abb71481dfb45c598971bb1d1e9ca75357dcddc4cc9170ff6ca5ce69e4eddea94eb3b80c0281274cd7f9c0c320985268227229d039b16a4452ce2870538acebb8b66eb67fb0c413672fcbc2a33790b76f710f792c6df293a0f1005888ac4e06e0e0dbc9b72e2f08557e7796bbca97d3f0d491", 0xad}], 0x8, &(0x7f00000008c0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, 0xee00}}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0xa8, 0x10}}, {{0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000980)="e4455000257293b9a9587447ed4f07379542b86d5b74be921093d348f25c1ea9ec6dd281a4a23c45fff312348372594c97c0a38b3ffbdd46f7bfc89d01cc1d9cbc5f40e5faa7db20cb268233b1059a052d66e6d4", 0x54}, {&(0x7f0000000a00)="9d8b56f0d7a09f7a5bcbfe818ec7343e1429b97ce1f54eca8d3559dc177b60e7c11b243eb729463f61fbbb7fa2f666168006d98f44c83b6254a762a0831b779be43ba4f3701323c99920bbbccef1c1999d01b3ab0ceffed399df30d4281268141c87d4edd564334effc4b425463587507f1c8c9eee63cf", 0x77}, {&(0x7f0000000a80)="95edd7c7b6958667bc9174499f3cbbd0ca7cd9297c3f8bb5b5ea256f92c1aa3556845b3175d861a82d440aae3144df1c822c66e4ee666e69089c2d738aaedbe171c11b47393125c15592d7acb21983", 0x4f}, {&(0x7f0000000b00)="e1f4c3fce9c5d7598a2bc0d8b0a6ecbb04f16235940bf568c11cd39b0aa615b5c4cfbd23f10139c3d4caec6b41679a6010", 0x31}, {&(0x7f0000000b40)="a3fc1691750711884304c5bd86de3a2f8eeed2272b5724b093df4698f9edc88f054429ab970962112b1f7154de88f46ed8355c039fdf325515792d0acadef30a670bf4975df787db7062c5b3a5a52c72df130efb5c2be73a1177cf0b6b5e06672ce918f7904fc9252cb108e7edfc394006f4ef", 0x73}, {&(0x7f0000000bc0)="b0185f6f72418f", 0x7}, {&(0x7f0000000c00)="71d19b29b623beaf03f43c2b0e638f97aced7559a32def8bad873be5f5d0ad7d35cd944470c7655adbf6b67da857555e1f5edbde14dbb7659ec7950d40b60d6605d0282205b228b7ac71de47e9645c39dcccaeebbc5be3e1f4ee2892ebba70900ea1a45d1f283b2aac6bf59c12040b4dc13da388a2b9", 0x76}, {&(0x7f0000000c80)="433096843973dac6bdce5183b74e404f87b89b8583350b1dfb705d7ec50e491e85bc3218fa9ccc4022c21b", 0x2b}, {&(0x7f0000000cc0)="cd9c01b2c83c9c290d8ff9565d2f0a63aea8ebc3fd93d9653b6697fef9046cfcce1175b9120571ba14d58e8e284863928c08d7499936c81ccafd3503e59bfca6430610f95dd2a09d1a91e566f9edde1a575a858e20634ee3fb5c2a32a661954711131bee1437f533b57c4a60e0f2f18613566694c047", 0x76}, {&(0x7f0000000d40)="d250e1e66dc6f688ab68440ad6b76a4b7fe978a0336f9bff390bcade90116b72e6f34cb142482ab72952ecdc42c8078c83916e1786d56ef507415eb60e9ff9e2a1985e22355c979eb1be6b02bb68fafb46c48bcacdb2e9e66002ef50ce87dd6df6ef81ae37d3fe7f4bae6f977a739fe244ce5a", 0x73}], 0xa, &(0x7f0000000f40)=[@rights={{0x34, 0x1, 0x1, [r6, r3, 0xffffffffffffffff, r6, r6, r6, r1, 0xffffffffffffffff, r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x60, 0x4004}}, {{&(0x7f0000000fc0)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000005200)=[{&(0x7f0000001040)="25adc37deaf18dfb14bb72f11216240c552ebceef6712b6e05d9ea8a9afac4276fca9fc93544cf1483039704b1fc1efd947d5145fff969618b5cf396b4dd7843619758c20db067c38c", 0x49}, {&(0x7f00000010c0)="bba78018aade8ddd3b74b5a97cb8862d2441274346e1e06dc7c433655b22faf6ca5eef10b09f32f39a45b7326631178533f60c1fc35337c09499fc669c8f115a41db1a71303ba11712dcb1315b2bf5daa530861f6b78cc8e2efceb0fe90a164d796b8a2b93d738bbb7d045371c2891f3158009f40775b70cc90b7489777367f2f5a8ce0cbf2dd793a2e045fa45253f561efde942ea3d3d1e995b2609cd51881147b7fa6f70a5256b9fe03c5fc76c9a1145dba5ebe96cab0a6f0ce9174e57308c255eabb44e660e4f24182ab9c42b80f845c38a2d72a237f64433fcec572548a70c9ad90fccb03bd31b9d5b02", 0xec}, {&(0x7f00000011c0)="2d2a2c60d9844bb14d1b4e70be59eb12e9e8db02050374ce9e2cd1684f551ed3d82c5909af651940e6ca640dc61493fb1636ab31dfec7d6e79135ef9c128e2616433896e656a70f3eb41", 0x4a}, {&(0x7f0000003200)="d0fec79e5410c360ae5f3bd4eec57981e0e8fe55c4b957e44b09d735905e5dfb797359c332cbd745d5394b82d9b8c0d58bd96f3dbf18ad9714e9804d5bdcc03c41bc91514ca83374614a47e1c485e93b0f813acbcd20f129a237175f2319cb8a883bc7b60cdb082483fad4a7b88feaa2d92b6beee43c9101a1aa4079db8b9fc05b5d4fcd60e663c1941ac2697c65e77a2291f945fb4270cc21e542d8994e38bcafbd87b553594f5ebc82d53d2a7f22a49b811bde3cc669edbca3d0e676b2527b19c99661edcb4e10727560ee130896aff6d5a707c35d2528b2c7f1b88fb9cd7c0bc70fe5ef51655fdd21083658f5d3139ffe1d9611fad3a1a98c47a3bee2727cc5bfe71261528703e2bbb5f2e5ab43ff30c3947c7ccc5424f70622488556880689bbd5b9fd44d202c3d9e613aa4508d9b400a17e055a0e1d26b6a612460d1d1bf885d03a9caf285d3746dd1a93130f266e5841c54758c8f7c8980bdc7ac0ec85cb20db7ba7e7922164434f2a3cd54b26b57e156ce692fb739c508803a4a49fd4acf079e5596f6725d8d966f84920c2bce8ed51654e6ada6a364c268c74f0ee5fee8984eeeec94e2ff9f978e5b9df487de2ee14a5b33c9c399cfaa06f995088f0f5239262953735d992e20f70c7b31119e8b3dbdc3d92b6387c1d7fcffafc1fe4072761cc666f12738fc01615d1ba7292a88cbf54a9797fd80215184c6a54e12b38e7a52a30ea0a9f51e55f634019e5102f0fec123fc22c0b4f9308d04155699ceb42ad7c587fd25799c5a54e1aeda6dd245c93021207f3371b04bfb178b80b1c6db016d7293639fb9b952fb97140ce45fd5aea04c40a1492cd2a321ffc07e7df2435f796d50bb97657036cf9a1f442cc6ec976a034feccdd2a3b78df8899d1c4990f424837bdd7d0ade7d262bb64792aad1c2e39fd07077c0f5927c2d40a5d0378793e9e0d82df3cb57e2eea115d2cfde02854510fdff2f06710599cfe8469d1b8aaa52081bc601f3370a159ff83f2621b6012779f2738d684d35ceafb66736d7737813cc3a0534b523f87fb34e2774176016c5c0fd73b3358d199b0640976224f304212aef8d83c5bd85242cb8df97dac53c5e2f099d7c64322ccd6159395fed9c571dadd8dd29e80af811cd9d8056072924a71da7da7841f8a7e3507e76ab2a5344183547866d059233b17a64bcbab1a8a4627d2fdd7e387e239ee9ce4bd9304e56c4b574b0ef74e831d17ca400617a3b9b273622a2fb17d794cf1502afacc88448373e506008fb7114e2224917385c43b8e47a246dbfe8753fa196fd87f72b07e56cae825643ec3ed73bad5e430cb5cba3e86f6d579a7d4c05aa9abfee3f71ebca3fb38a1005633b63a957249aa1f4fce168cb37d30fc70bc7345fd9f579e5395456be6074d11b0eacba50bbe225b5ac99ccfa69d0a8a9878cbfbec234165cafaf05a265d07352dd1b7528fac87581164d6f64f4a327436fc47ec92547deea13fb65b1926736aa95292938927ac7db2b5a1ae6c94c54fbcff7f7c18f8bd0d87d35fb1e1ecf1364535a04fef7979133f6589ebfcd35169e5716fa56c88760393c0b47712dc9c29c9e7457a0782f4eca3f1f7ab0d83565d8a57545e6d34ddf25a51350bf33481c87622c766dff7081f281c47967bd93e1c9376c2c6da30ade036db12b87edc417694b60d6b593e1d7dcc9b821ad5fdb83268f50c70c1bdc3550154501491af4cd0ab41bafc9deeca52c1955cd8fa047f2b92ac95c32f430e442e92164e4a8b4edde4421f2ea977ca05bb81cf4372ee835d6ad7ada0b068c19bd49967aa5185dac009c663dd591821218d1e4bff39184e6e46866eb6d7f97e4002b68458b2af6a65e4d755476f84b6994fb3b6558352fcf73d053c8efafc9424b533f1644ec0e0188f43fbb45f8f39330ef3306f881c204908dfe50559669bc944817837e3d50fad4138b33b326505235758a2a510e9a3df4b96bd5b0d9c81ceb114cbd539e022d60d0c732d3772944f85a4c20f889ab9a053f558ce4e4aa9ad536a9f9b0fe1aa973fce8e6812a6dbc76b7c02e5b555bfc959cda4aa4f16d2226239e6d966e3f406b6860dd6b1c8d4670eb3c8b23ec161c94af7330a2698ba5296450842dffa94363ce1cfba54a2c9d27fbcd9b8952589d531df5b8e0629e97a83124cb769d72c474ade928384e0341e55131f5e7fcb2dae80636f0edb3c1040de311a84a13a6f8224801ce0008118ce0e194238d5e2acda22581d53e6c6230a2e951e9d5cd063ade209ab484c1c57efee52039702594b78905a3fe8d8a0f4042efe4e56cc90524d1bbf3275b2e1beac2d1a78c781154945a98925458faf54a6620eb4bbcb84544c31dd2a4682ba1a338353c33869fe2fdfd68d898b25f4801c23e455a3fc79d1ffd6f4454748c85ee812dc559c6f614b8f08af74faf189aa6e8820f314c1517e89b09e47ac2c440375135ae5f45dbc417e5e0ae57b0b8eba2eb844bfbbe7c08ad8ec115d13012fb7e26fdddc841b1d1628adffa8aaea0283ffad91745794d79c1e8c3e4ab5cd24a6b615062d22b4210a953c564f534048353672a528b10ecc9cd8f03a600dfda68ed1d53a0914892165022eba444b240ec5476025688dc323c0901c4186c6cab0ccdf8cfdd8918be02ece858fa95bb10eb72b8855fc541ddc19543ff4389800f9c282237afe886f1aff98d48976096e3021c163b2722a76ec7b2e1dffd194ca4649a4591964370ec87b92516e6c244217decf6675b812f94917be23d241e81b5f288e0f5354dec01cc3dadebcf99eade491a26a8b1439717e0e8cc8bbeaa760f6ac02c72ac504fe6431ca1f6dfa5449ad12b48adf2f1ed47f934f8bd1371cee9fde3fd37a544755a161decd44e0ab5eabdc0b4d0e79ec65c5b456f73b68ba50c6caee7cb0772aad54a0f5eb31e99acb9f4709effcdf9306a928c01b4a2d001b15af44ea3a5767726f95e6cf234587a5b7f92517de7ce80f1d58a1e3fd7499eeede044043addfdb34df9f16f78d08defb42b4ff1d9b54169b72778ad17122e3ce52c0c3fa8b47c204a8b9ab8ae0314d51039a0b33dfea0c2de9c2419f06a768a86ff30dba6eb480d23c69e863a52b75bee50773a78b6c10871765e9bfcb6b8419906cd22690cbb6c45c2a71962ba19881063568d5ea9206e1269df9a1131ac7f6c91bfbde252964fbac4b816ed017a57b59d0e107ce6918853b063a849b47c0e63e096084e18981d045e6adc145d5d106ebc0124281e50c127a037d3128c2974bc93efe8a2aae84db155bc066b365943fa35520e6fc5387b2cdd509433dd15decf145b63d4f13d50482887ca00c5388ed5446788a9f53f27fd4782f72c3647b65d9a6803f3629806264605a18ba75f9b71ec8ed6799272d44f6b8530ba2d9db2966a41561efb6a63734d64cefc6b5376711b9fb26759c248bc227bd418bc00bb63e20edbbd5188c127e0cbde5e3c8e8450cd5f554433ae6cceb3e3df0d011d6827cddd75120a41a13640fbee455767c7f9c58f231fbe2a98859a019c52fbbb134b9286d18be6183b6eab3d69101a9fdca12ef472300dc982cae8e2b7e782cbc1a05af72774b4f45904e502d1146ef793ed33470bc16011e234c3823c1efc79bd38fdcc547806de6c85017ff3cdb13a0d055ffd7afddb1b675c3e1e78f1139650effcfd7dd474c49dacf6fdbe8f8727c3f1849f3a92f2c5bce397b358021db3d86c1517e2dcf04be189db14c7d8d894f29369e7767cdfc85dba7c3d410945f8266560683f4da33fc6754557b61954f93cf99f593e36b102138c3468affcfc866825b606d90acecc32dea2f29f1aa062b7b489faec58a660a519c9c4c953f72a7c6595d1993242e6fb65bf235bb09af1d19377beb62a5474f9c9afee130173934df4050537d79bde74242052b09f66d0cb4deb46c4cf2ba9f7d892c42ed386a526dbd10a9b5d781bec48696e1d099fddb912189470de36bc66cf6380fe88ccaf919aba56b1187ccc57a4dcdde4f7388589218f8a2afe9975f1d6659b91257930a79fc51cdfcd932bd52c14540b796b6a4cedfe0d796365fd174e0f9e47730b968ba4878ced532b10ca1b4d73c8b6602e21946e393f002cb27281c1ae2754014c518682518921652d79b27782a9776389f25bb76ed805861e6ca4c5da8a942f33c85154022d2f73014a3b13fe6974348b5cac8d3eafcf49f6c979619a1fd66156bf511d8ced4ef0ac86ec1f6a4f70b3929c68f46b4a2ca5163667ebefdd894d4d873bd4cddcb194b7e8462e7eea7e54ea056993b86c9199e49b97a0f56b6c9f2134ae5bc6031557edd0d8a371226a610af5f43b264ece0ce4e9a02c497c1e26070587ef8da77b1fd8f3a7cb51c656f094a85729dd7570421552f1a6782fdfb24bd01ca860161117d4e39c13ceababc456d2d594384dec9615f5be0ecb3c8e452c0ba6e526812d58be02fd50e1b2b56a9f84beec934e4e650d448e9d8a91c4301e661e60c2b146de99387401b57bd88e0e52b183fd4e653ccd89b7d0f074bc0eb379ef5934424dca23cb63a2846912bbf2244cf18f9520f52fe5e1ef6c0187280df871c36f1aa01a2a7fa48e2872f76b53e928399309cd164d67032960749569d9f8fcd134b9ee6b6c8c7bbea10932828a46269412038eb3a8441cafdd7ae705bd10bb6f6dc23b5dcbc33d893f0f0bce56d6bda8481faa76fd079a9d6cc41a94de708ac6d55990b5084aa8c387f9170ff89a7c45a5b7fbef19a1a395df523aea3e88ae5c61b5104fb7397243561796b07e98bc636c3042ba0fad756142a13250eb32a3df2f96c507825e5f2d2bd5db6bfe3f233b5504b7eabe8e657d4f6a7f65fb393f159dabca1bbcb2206b8282ca4aba3ff6a98bc14abbd06f9d1092daf40935ae18ce63cae29012f99d0cdc69df275ba177fcd298a74ae272db02e9f775a94696acd9dee2c030bf4b3355b72362b54aa166ab036f47538dac4152b57c7344bcd96c7ac3b56efa9000df86d3d8d71f5c35b06baa39400dd8115156483638654bdb9b29c2427690fde3571b1952af7262699dfa1e3c0b32264524d8a81570628ea8f34996970f57fde92604ecdd77ac314664f61101ffa7eb6f3598a111466496336f4922564cb3d75fcf21805da724f0a81c66c9f24ff5ea4fd967afc3b6b8e42df4836682882f8ae751e784ac033d46df6dca2efea2aaf1238aa8a94afce371852eb0e2d0248fde665ab644a65b130d52621d8a0eeee06dad58989b6234151bd6e757c09cd81f9f6c836bbc3e9f4adb0b42511b5060f786d10869486aae0c3202869e7e00f0664cdfc3bdb59f61142d058340272d47ce754de9bee67c53801c6902295c4a4ee08b01aef6ce8e0b82976e5d69c928f13b8447d0cffa8fe78a984b8ee5adf70364d83bb3d6c05bf12b8a98cd2abee237a675dfd2c31ca07abc6ad32d0c15bf5736b2cad34d4aa080c44bb7e1875264ae5dbe01138778824651a52d1898b0ff6d6b33672dd7a1d394d0abbdc7824cb00af4f7f30fad9c67636435ac178928044f1ab828d81977bb910d8fa1d63da211f886362484beab9e41e1add1a64324beb3aaf499e612a1c059f47eedcbd368dec03d3181fb39097e90999cbcaec4d29b5ea519e0f1afb03212b3aed73953870256e7cc15cec50dee8f8a7c7feb71e7e058e356e6fe343e24d6ad4b563ddca336ebaff5b15c122735045d4d6d1a21ebf248038095b96b40b0c60dbf12128deaa7061e4f291141d0c3974130af3cc033abb904352153ad39dab7422b1047617d", 0x1000}, {&(0x7f0000001240)="d6b43e9dcd350438c23771ab0c7f13f7f1a83489e67f55c55ed17f317c5c12e5e3f31d89cabee53d9eb731a43cc15f3e5d9e87e6604fa1a2865598c3d2f00c457c85bd760dda39dfac46e78ac5c34108d84e0e29ff4bd9c5ced2a636c634367660dc00812ee71d1fb682eb6dd5b268f66f5d29719b234b722812c8b74423659e1929328723e825f027ee36ed2ab491979d01a37b96b1a38041b82277b7219048f4f348a17266ebf6e0a35ba0d51032e1cf1dfc5271112bd56aea491970898b4906e18ea87e3a0847337a0620acc7c6c9154f68a1b8824812afb08aa42fdad2b6b1d92e55cd", 0xe5}, {&(0x7f0000004200)="e3a769d22ac3c7a58bd394cd7f700d734c7201571194a340d53d8a9b17e7e7ea44b2aec6626ebc8fc49971f33c2f49323d457799d9534d8845db671b0539ff722e61fadc7bcb3c9de791e9ec17d5407cacfb20fbcd2dfce4852e6d827647da39ee143a46bbd654e5812f5b7dd2ff05c3777970a66cfc69b6e7aa122bc97a074399fcdfbbf61e6be84033294b22afac69d698093ed1840f27f783e5a2f4e274f0a041aa78b6b18e99064700d45bb7b9d0aeef71839e34a9898badae3fe2fa15d82c59424b7c063c4871cd0cbf5c03747a98b6e1feb1ce96690654dba8f0b3f3d9a7102d6dd723347fe3edf32f68d82e8634fe4d6efe6c05f74b1188721f491ce5ce5e745d408d7fec96a288df87df2875ba1dfaf1d580aa93bb5998a2bc0efb8af237e4e8386978fa26d371c9c0ee953340828e51fc4d1db14121ac9928418c979f5866638b2157ce1dfe46a7cbcc47bf8441eee58382e98cc6f9d2baafaf16712ce8bc54a687323205d9dba65d2d8a064a3676b89cfdbb2a99bfcd29b3d637c7fbe9257d257ff35b5f1b34f8aa1f3f6614182d5c1708034edc5ebdf30907ed4a20083d46ff31c26cc57f6945f29585fb4639047d68c3f70b1ec3be0eaf9497651695793647e03c81d899d6ae8abcbfe3aad3900880b37d9d25724f3ba77a232afd8423b6b01ac506c62fc577cc3c261beb6fc872913dc24ea8167517178ec856746bec77239004a3f9ee8c1f23c2c95e9df1d52b7fd0d674dfdf43fb4573d6081815bed00107617ab1b7ab0ab4e8e465753c505472c3b27fdbb47cef03c835c8ad46a23b19c2163200aac2651c71533c472afd953d5ed708a84c54141c92ae2b66ee1418a84a28745f5bc7522abd2262e42d40cde84ac7076f9075f38e4418cfb8f8fcd826588d80c40ab30a59fc08740d7282fed073083836c7363a32a9916ec70ff4a92754a6ebe0c54ad4c94984994541030a74fc15489b3202e08dcccf7410807fbf53bda8793b7a41900db4570fdf863ce632b097242beac5a02992ff58df8a8e8626eb9cbed14fbd71eb53e3fac307c2f43abf41bd89abd1ba5a412cc65d96e77f231fd7c896a9ead0ced05e7745e5ef8baccc198f50a72d6f19399bf6b7df3d5232bc194742ec9fa0ffbaed6fbefa136f9f987068ce8c609cbda7c18c76a2aa2878a643966ccee4e5c7324f6ac7fab5a1a81fb96144891ce2ae3856229abc873d23bc4a6eab312bdbf34407694860e0e99953dee3cef7fe83612548159ac81679376044eedbe05a35e123785851474af8254309cea270a3db4be593a7cd73d50e1f284225377c6e0207796816afb6f4782b10e06ce4b280fa84dfbbb0820295aa92a62e1b2176d95f0d17d319aa86381bbd0fe8413908a3f467447c52f905036165250cf74060e36fbf68f814700de6a68e2a3a781c8e43c678d89d0303004dc226fd2c063cf3f1c44fdf3c73ff621350421b2af58c55b799646636740dbf1c366be94df2292656b72bd91c46c948e8bd05af593eba9127461a22e5ebf3e1b1c38a649e379794042cd8e3c3adfb3e143b663bf5ecace1e5fc739089c3d6b372d931acc2b24fd1a93fa57897f4136fe8070df931294eef2c714fca4d207e0631e2f0fbcd8f9a7902b26c458bbd51eb1d883deadf1fa357d05efe17eb259ff48364ba3c760a7865d6bf4c9f22dbd1ca09126cf731ea728b908b94b6a4cf05c3cf9dc2538540c8ab04aab7a7429fdec3cf7ef45aad9eac966967a326e68c12a65f5f734b90ac4cec12fcf16fb98ac57c03d4d56e5e42be769b161951d7c02464b70efa34151a3e67630c10fc72e345060bc1be3b45c7393ed37e911e544cf47e22670eea946670cde5c44ebc7516fb49a54ee7020d79ddeec77f492b31fcd058ce0fa9a26e2a8d7702129afd1da8f2b6d6ec83cb2128e3694e5e6d05aa2043e3bd385a3d048b9597b1b4cdd108cfa9c63f1ea54b3c135a7d40c278406f4fd450c21bc327417315ed8f2b2c3d3a0b1a9276d07a61639c1cfa16c0592dd20260fc13962f80804cee873c98904d82b32055952b83749eba93954884f8a3c1bc9759072ccfb666dc1b9e6784cf9c1fed2fe5ac68f0a1375337c62f65d0ffbcdd67f43c06df3848897e06cc4b8b1b7e37d35c9f84a27d1a321df0c75ee2841686fd9a8a23fd179395bf2c79a28f8268867619dce21fdba1facdbe61e7eccbadf4e5dbb09d67ed56673d129de1966438fed32d9adf76f62ccd6e13c24c09cb0f6e1bffab0b74f3f94ddac05d86e84240a20ab7fe5c3ae31a8ab8d03e7beb370120a83f78fde9afd15d1bd42d9e3ea978a98257340054853390e04d31161b0446158ec5fcaa07f33e653ab1346c9c95863897bc0ec8cb1d65fb053d34a94e11282dedcc5600341999fa302027eea41ddacd4175377ad1246c2d2ed484b0291a115867932ec7d84627ee8b3cd4edfd8f97d52c8061152601e0b4cb480fb64f1cbd9ef460c79d63bd31d2cd3a799bab5cbc0ec8857c7af1bf58ebe04f64ca6276411e2c57c15ac019879298f4af14fd0460e85106adf71b2e02062050b70e5834516d4a45b69f36a41b69a6d168198e2f6a8cb7b45aa5f7158b02fea77a41077cf04aa5328c0e2b06a378b98110b3bcc255d4ea1fd48079d236b7c475d676d8bf036507c1c5f99150fd58f21cdd4e785d1a4626b40036382f770b9cef53bebd92f66c28a4be42eae9eba35ec6117fd2911a415e3414e4ad156d1b5301307e97ce92579165cbb76a3947f373074fcea76bba1ae3c4b8d9cc56417c647e7f94f44e3e1eb1ffae92b8d5af02c4e089518131e9bb1ea6b1d4121459826bccff4d2d6cde6c26ee9b243d6874f6a15b743cf38928d8306a3141ffc6594dcde3fad3c97d5e1d0adc1cabfa710c46731de8f518e42a6273c18244ce5fd31b27e078a8b7bfc1f84259337dae810b1ea487d587aa78228052f7aea6416df85330d63739184b0cd280f4bb39dd3f9e0a08caf2055d86b4c4a744b72e8b4539c16881dff338d349536f7542d1980d67f6e43d1866f840457a7ee4a4e4d5324aca165403c91a26520022d75168238f96b51e3ad0e923f591ca99c284353917b65ab720131b4be2ff3541093f88d7a66247dbb08818c1d8709d0e90c2059b85c400c4b1833a05a88c63595cc1a1899eb45d51921dbd3d6cf8c176e5ff0218ec66904ff5f6a455c74678811b51b9c7507a9333a0389ce3b4a5762834b66642a3647933d504c24d1bb716a4876b665a98c18a6ef4d29ef0a44b9f924256edd0679e3a1af7cd110f293d91f5a2885b8bf64d5f58fccd76384f94ed78a36f597e8e35d766b43d24a4681616e11a9511647240c58da972e395d559d457fd6eadf9352b7f596d95557c9fa5e01b689e784813d8d2b51895ddf898bb9a591d6c5e009a1488469c4b709b49ae8fbf3484db89f09cf19c7f6d92f884b20ab57c7c487daf91955c987bd766134036fc25d1b03bdc8f70dbc8d3cfdda1b7ea54158ab95b0e5e26bcb22760d7c53d775ed489535599ddb61ca100fc9820efb3175993f9d100a9504ca550da5034d920653528eaeb0490c4576175c9356f09a4ac95fffece346ccd95631ed06a760b37dbf4ec219f8996d78183a3ab2e08359bda5c6037bc9c152609ed88c6ed2fc3fc9e40d40ec38069631aa3494f42f8e45b37a7769b70e579b82b574afbe217bbbbdb13c8acc1f385d632daf131aecd404781135c94d8bec00da9887d3b61f3f264b173a9691e057b9e9c4162ad39a60119a19ead6dd71c2e00b22ec14d9cb990fef38c9a1adf0bb8b90f1c23f6e8bdca01866ddac5498144ccc7d4b886dd055732fe70b55a881bb99a5f4f9dd95e1ad7e77ab4545df5759df8f2bbbb0ca226f4276097e722c6c3044264d41920a11d3fbb5c03b85e86a064f40b206b1a22ea20118a68c1b68968b5c78b1c8e73cfe1fe73e3ea6a6101a25e47e46a7cc1ab35a54baeeb1ed7a5317c477e1d7ce0a8da1319c79efa87a6638a5b8905bea954ba6b8ff79cfeead570f966b826abc633e5f039e29d43ecfb2910b95810489e178871657789613eecea78ac5864f42daf888de4ef92790a4f266cb9ac369d3e4c65e3e4ceed79b72d9a482f017b276de0ac9385a6076179d0bd3f96966a5372d67638f6bb2af93964247b86fc80a4f99c31a609a163e619a914e31f6e4d41c85effd4ac1b1b7f3f388946d17639b84e5b36daaf306c1daf90b49a1208f4a41a7803faf350192c9d70cd4753118798b4a55dc14e44cdf5e8bcda4b4bdeaf45b46a50acfff0e0de414f2291017478b2649fd4f4d68d07b13f651afd125f06f4f4870f17fb99b49aa63e91133a10b83959626320fa6138a479e5035839faa67e53a5e65272ed50f25020841aa7fd890157ca446e82e98a95cfeb7fc1450b0900fbfa0c06566e0b872ef08bee671acdda7d0e212d1dfb7687307358b70e1077345ea3babf69d8dcb41994e6feee3d50e2cc478200bd412e24355342c0521c8941149ca3a931c67b1625fa3a205a3adfb9956bbbd26f9e32c5691edddda7de477b871058ec821c6a0fa80c2feb15fa5f7eef959f4655bf78b058fdf896f05af37519424e9b8b23d9d63cb40c5337546aa2dec0791c9c91fd8704b99fcdf981d2d5356e355cb5dbdfe8d4f474935a6702a62e723551336ccaa528c393ef59d52dfe8f69f607f34643613a5a1fb55d61fde0520f5ff792afed11901bdc8a05f5ccc5db80578a8091485a6b3cea46bc0e13c62070e4a2ae75a6af78f0847825c768a32341eb55f8ebab411f37a1464c629a7dd0dcf980e940d96d89d14fd3d2d2968e86b3b46cdc08194e2c61efa0362b8c57dd38b7d38607d2635a7d1f4187f3fcf93787b211f8593f19faa64da97878c84f75fa8cdc8ccf0967114e0bf3786b827ed01edc2049f8ff71b1539689350cd2752b109e3cdc1596745ece79e8974c979ecb5578841442392fddf24627976b816155c6d5d442938453a6faf4a2e9a1a7dc7855f870d8c78a36eb283525ca7a26cc7166143ffd18c1f891e9d79401a8a8ca052d46e16d4fec0addb10a6566928e7b5ac644a5376064f3f2eef531bd51061758560a5247acdc8b825d622f9b8d8e806a3942a6ce4e873116458735246c53c830701de3928e54e8ff9b8285ed9e7acd43f836c1e3009ceaa73934b3a653568f04dff4f4199edb7fab1ae489e38b0bf0f1e9d3aecd14ad923430ba299adca9dffcc38b29c1d7f92284de97c63e10f553c47bf535fa82ef0e04796892b48279c44a8200e34b975738589d3c720e4645ff8df24cf91bc0802fe40a0ba59aac413118e5cf0714b9c9af0945cc6725e82f64e54d5636c543676f831fb2984421ad96fef870069abda9aa4de11b4edcc95b3d473327680f0b8cf355c905dd0411f5addcca53975b68286a04c1d5ec8e60269860a4739ca1e6004407d648fabf5907a8bda961cfc81036a1a7fe422c8628f4e4d8d272a6e34533e044212b5cb16e62c3eea095f781ae365c258bd9e29c2712823b66c251505d347dab928adb5b1a9d093639ff29082762d645c6ef9115a333a99e64d786a407b06b9a88a4e97faf50e67148745440166e18cf1e767637aea3c950e165399f678771130957bc8ea7b41995afd1ee20a5c40e46a5c0b5f44fff49a04302ea232404e009a7700f45a5d4cbb2415e2802350eac91d4aa41d026041e69d0b9560ee71c232c2886545b21e166eb975f4e90055c6216d0c82b100c7122908bd5fcd6a324bbf958d594b95e482c5b23547161", 0x1000}, {&(0x7f0000001340)="47eb533be9d78620be7b0630acf2dd87387da96c3926fff2edd82887dfdb15dd364dfde06541ba5d6e927ea4624d64dd9c9ca02bce2e056c39d1434b6e6e", 0x3e}, {&(0x7f0000001380)="7947f5d6d73ad42a03", 0x9}], 0x8, &(0x7f00000013c0)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00}}}], 0x20, 0x4000080}}, {{&(0x7f0000005280)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005680)=[{&(0x7f0000005300)="9232c9fdb83f770e30ba20b3ef43a2c748855e57539ae28b77d43a6dc5f7c8f44f860d958e445a0874f711cb71b5eebd906b487a5866094bdf042995381b88ffa3b0faed31549b5095c6b586f02c3cafc842dd4bfd441e7a0601e2f5f97a2e0809a102c4efc5655075a6e2e0cd5ad1801361dc7e637dad8ad0bca5916e21932d", 0x80}, {&(0x7f0000005380)="36cbe3daff5ed51ea81c7031e13e61485391ede72a089f068e821ae975a1e6cc05e5cf54688ae440430feecb474a98fde9e6420213d8b955de9918610cf8b1beb7eb7df52a6b4ca060395256fb62d1e80f574b07cc85179e", 0x58}, {&(0x7f0000005400)="fb38adab891ae9ae3bb1dd51bc231ee916a0816fe877b0b74a759153a1324ba848c00ec25207677fd6d7ff935f72509a646661d654f45969aed9", 0x3a}, {&(0x7f0000005440)="b5ab70f1d9236d11373af0c2f50db23afcbe1555fd71fb199770ea5ef812ab3111f579dc5194d531380c6e0a3cf47d68001bdc22396b3e389fd7b103eb37070e29da3043abc8976053c235f3c14456e2482e98e2b57a1daa5981", 0x5a}, {&(0x7f00000054c0)="6a0a55b3cfed00958f5a069c3457cdacd37100a77b9246980de5", 0x1a}, {&(0x7f0000005500)="1088afcb10167dd01fa53f8ed035f3956113ec49726fbfe491020699ce0f525a41f136cf757c9f929ff327a96068c614f74e733569442bdb6fbc86c7f109934ba5db3d56c7", 0x45}, {&(0x7f0000005580)="9b61d239a9bd3b4a40238ded4492a4ad472cd8bfe629338722d43ba4cb2ae4abfec42b7eb8bce65715f905d200e61fd6adf6ac9daa5ef33336addb443964a3bdbe08e0856b509be93041e8adfb223949bcb497a1696a3113c536b30cbd35822d5f52bc0fa0b11188ded4f4f0e22611497fe7f7a559102ae6ef89c5c9f3261e1f4e5db46b343bf0df4ebf33a657bbfd6c7df88c3127efb4eea4c06a957fc4a740f78d323c87b2399edc86e0127bd6c768bdaa9000d7d45f033da3acb0fc0638c20391e94807d2561de1601e75819607aa0d", 0xd1}], 0x7, &(0x7f0000005780)=[@rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0x40, 0x4080}}, {{&(0x7f00000057c0)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000005e00)=[{&(0x7f0000005840)="28d1be28df7f3837baee5d5c614a7029601828e49a9ef614b96ab26d7aa7e7f0fdc7ff4b79bd7445f562432b8353df4f771405c8e1536c4300d42bf81761c9d3546547911471b99140f5b9f86178a9bcc68959296676b883b4", 0x59}, {&(0x7f00000058c0)="2995598d289152010d666e5d561bf9435f29a5b09acd1dcf7b83bd95f4fe2e551e2323fcd4988c438dcb41450f3f653210e0cd0d7a972a19fd2215e53dfd2880a6aa0721cc982584aa7137eeb99705e2bfde682b742071d07396021dc9132952f5137c84d9fc7132642537faf8af618f221324116f5491308275449207aa7d27ea6de4ffd4704a29f240ac0a420c70697591b03c1eb49e9db3b7a6c19d579dcede4650f41359d39b84a1d9c69eee6f2d42b79a77cd5e3b0253baeff4bd82df", 0xbf}, {&(0x7f0000005980)="ef4b66b7e099d96c3a57e6f31370a8c5e80a7eea0b91f02704a11eb5486c5e0b75b38a1be02fad8c52316e7f8de8de6f77c2d826662eb1ea1fb03edda018eb95ae56970bc2becc2435c1643a2adb5b13c59b75d58c743a572322f5f785637572eedc63a68b5252a8e31051039edf67a702f7f1c47bb255d64b283cb598765df6d057d2438b51371c71739aa831637085f9c65573efe08217ee2f7aeabef497ad8229960a9f3578b38d8f4f059a", 0xad}, {&(0x7f0000005a40)="ef0365eb7847facde3e28af98735ee2550c7be205197684579d57c4fb2507e074e451e4af1e0319d4d7b78c4788c9dad458c560ce00606edca3fcd45f32fcdf606e25bf00a2ae57e04facd26754ef986791b96fd3a35b59f2a8c8cc0a2073c67d29485792c50263d6fb7f71a7510bed1f85336acdedda6afbec270dd41357b61e70012a9ffef698003974033fb2f8b07c8a094", 0x93}, {&(0x7f0000005b00)="aeea22d99e9c3a02625bbe0f6fc0ef5d5dc238ee2b17a7a5834203c36274210632af9c1884392208b655c165f0696f6ca6beece3e57cfbb640307a565d39558f240f688b1e", 0x45}, {&(0x7f0000005b80)="ee06b397e02b6cf1c8f0a0263225685af9ca132157a774fd47f175444b732e1d1d3c5d1df6b3da1bb93549818d7d5bb9ffaf90c39cf12f05133b13f221f02b9716bc32ca5ee8394eba7d2ab6d3a4cf58fa85281bdd43ce9c52688b06137da7376a05d8baadc7dc539c080a9353f798e9434a7ae0decd226f4f1c78fda92eb697611d98e970272dbcabf93231360ae88c742067a704cfa31e90d348b2c46884eba26e0d1707d54991944c715c190dab1f7ccb56fb5ae54583904346a186af603de6257e96ffd099a2009ddfdf5c7e032aaf52a725c65059c8c997191fe13f87506b6b4c82ad6d06122d3651bacdcda581142c084b81d0991df9f9", 0xfa}, {&(0x7f0000005c80)="7265da25b7f3537dc367077a43bfa669be0f998f9c5d4aa2a3ea3915fdb104605d01c36ebf6588f7e41caf546a136b3cd0d7a38f0c19c1c382062cc49c469a852c5dc26101a7828717a385dc5e634fa7ba66888ee613050ee93a716a2bf1c45f0408", 0x62}, {&(0x7f0000005d00)="4c7d8ecd2451b3409805f1d1713ee5ed2f6fc44cfd540729985a99eed3247c334ddfcc56141d3d33fe03f63064a4bdb1e45609c1bf950125cfae80e85a6694c26685f1f5b0d4bbdd4fc0763cf42199e7fb6423e8db4f7f5e8c3fa20c3c791683adb2eb65102a01953d14c8fbfe5ac36041159339054e422a2a6b9ffe853f9182e62c9ff2a07f06384f11395750452164bf832e8b4aacc2ecf8c1980f0320e3fc2d1af480c0039efc90308e5ea2f0e1ee5888eacc0915f29c1d5e42a3c171f44eaccc0b910047fb4decdd1b070384057282c8fd19ea4e5ef18398a45fd98ef85172092b33efadeab0802c1780e29df3dc5705bbdd", 0xf4}], 0x8, &(0x7f0000007780)=[@rights={{0x34, 0x1, 0x1, [r5, r5, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r2]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c}}, @cred={{0x1c}}], 0xa0, 0x6000010}}, {{&(0x7f0000007840)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000007c00)=[{&(0x7f00000078c0)="e13c379865c0dc16570878fdb3c3a443b24cfdf93000d7088e2b7d4628410e4ae21fcef46ed1a0760a755e9f35c29d1964c7d85c8aee5f80ba6f04161c4447307380f50582593fba618444ac39c4c7fd9000e640cc9e77b6f530021383ff7a437c0fa49fe24c55f496345dee0910004f9dfcab3216c955bf61aa6a170b407bd170149280972b161152ab29b85f9e982f644fb1", 0x93}, {&(0x7f0000007980)="d0062a967ce6cf5ddd6857494232f99823d5727d8ec3babce5925a3f987aaf46441eef64a67895adb4f5016a79ef09853667c42c5951e217c1e76654df2e194834f04cbc035a236af82865699cda15ae53161a", 0x53}, {&(0x7f0000007a00)="1031f790d6d84ee69fb447a22f000c36eabbcb11f6605fe6ef137341511f3d396d0edf35d3a9096d9c87af4b8a34592b6cfc2963c31905b9f27633db01cc291e8c2bde791722fb6cf2c609b7a80e4c4d36fb1d642034d061166291e497d9c884cbdcab605310980b8f36d4c71e80c261bd009bda639f83c43f59bbb1f1857e010c56f865172566d7edec8f80630ff337891015aee597fc9574877fbe6818d706fc582efbde76d31636377c9d121efdc93df93afcbd9ec1d815f10fd426a37144069c506736307656eeadf0882e1f019d490837c1fc6e", 0xd6}, {&(0x7f0000007b00)="d166273d68c70baedd61c4141d6e20667b66e1aaf53e4dc831cb7d3e7ac0439ab4c7043d1e8447ac07376fd563c864573497217973fc556049646f103bb2c1bdcb7d0cfbf601e0244518540aa82f865df99b4f3b468f36d6382b55ad72755582c948f95f2845f0e30223a3ae1b4457e6e359edd2284e765f2d31c4c90eaf705910dfce7650d872066491fbb47fc71b3990a3dbdbb7fd2ea055708d9d8ba8fdcc6c4c2bcf977d762561444d276098b3c5176249dc6fcba7421aa1db85e519d5a98e629af5c1ae28f927297975bdf38684d4083a2d6c2ef44b4488a27bd37c567076f1de2156", 0xe5}], 0x4, &(0x7f0000007d00)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c}}], 0x40, 0x4000000}}, {{0x0, 0x0, &(0x7f0000008f80)=[{&(0x7f0000007d40)="6c5600be047dd65c6abf71064860f49a2b8139510ee36ccc3a3e03fcf20dc1ec6052ac6b1751908fd2f1fbea559ce4ca7a287a53b8c4935c59be46f60126aa5de70d4587385c0e813f9d0b68ef91afe262fd8906f5bdff91b4d5308ffe818afce3769f6ac58d67b1e4ca42d3735c006a437682190cfc963d4444aae96b257c9f0b5ad24d8c514f92ece163", 0x8b}, {&(0x7f0000007e00)="09e8c658e3", 0x5}, {&(0x7f0000007e40)="d7aa53820d4e4856e7d2493fb2eea50319256cb5eab0ef65f5abd2bd71988410fb12b09c65d9023f57e9f24af0cf09baf389cc6d14c1be3dcddc32835d8f3c7c0223100be52c09f82ff7bee6ff4b7ae5f9759bd14118f0a15260aa4c93f1dff1491fd1da4aa9b7f7449012941c8db71c4532be2efef90bf79847936ddfc899c47bda3a78587edc83abe169f1cf2740a145c181b8862545154423ba7eafdbf8adfe1fa7a1ac3ff0a9e3557afc681e8508f264daf8a650f25a73470dffbb07ac55fb228115aef16ff1cf4a85113af7042718416cb10ef50847425e6bb06d8ced3b0a99bb955de24d73f8ead82abbd175a3698ad2677d3a8d69221e6806fdb119d18e870d44d22ebe8a47287f26e1f0cf43e8b5527d6b27f27d2bf32c0def4099cc335dd2cf3084419849f6b1203d5c3e9879df0c2fa9bd488f46cd2440037fb88ed1a11b48e14fc7805689e20f2cbccaa63a3d235f9e4da529c677b7f63e28a36f32755311f15a43ac073fabc4b82670f6d7c5403f7ffd6f29b3db3c66051bbb0a9fd0701737def3fca9755359acd6ac87ecf444ba141aa5a9c6651335487c01cbecd495b95098b4843220c882f1702c3a94ca06553e0db6bd836ef3e7b4154f3f2c7c03c6f622da1ee5df9e0dbebf8483b265e1f21cf751648bfbcbbe6249db70f3538070ad0102c934a2b0181b84de7dcadd8bb77fb37e323e7312537d74960800c349185e7e6137c70a2bad8d360d2752cd2518acc1bf6e6caa25092cd7aecfd59d8a830c6aa87d790e69cc77b4cd007e172814a3a4e042038c6d343a4958d4d6be23b71815e3c42e5127f68d90d00820bd827ec43855d0691de1c676a46ba2508ebf30ade7a38cfc10b66ae5e42bbc949e2a3ec1e1bf3958d9fd1d5c3d366c098861a518823cc612a6252d360fd6af936c3e84d9f61cc1d9dcf9b1e8e853aeabfd0029e71d12d5a1844b1380c361fa4187a6d6d1403906e5dd6d5c73d162755a65a551fff605fa4e960210746c319571ebaa01c0021a7366794c7ed65783ff5dedde3a71f87afd46f5ec9be6a3ea2131750b0695f21647ecee215ff31431dc9d727e38f6705c6287b86f7b71027d886cdbbbf06950d9d47fd409e6b5398c0849d4e2d40a1bb38eb8f1bb600131fec711414e997915b1ebdce4bed75964f0d89a39ac85f7f018d92cdcb72805afedc25fa926a1f1a57f05e3965725a7a7615e8f2d0155ac82c39df9e943c2b746e85357a30c2b58a064ce7f281da5aa7eb05f19666e5bc20279082f09fa3a799ad5b04b16b70b636011829336e729adee9da850afb41fd4a076734abcec266eb28e8decce5c9e768c47d94c587b893c2332936f9499973014ed414690a12582e4c83a3a9ba4254e6e1fb8d68bfd082b3076d165e102e2e0b4ffc3e9b9d2f85482de70f4a2a7f35417a241625a2a3517e76ed7f5c62e5b9e4a774968b57112d01f4ec5a6a4c8bd46ad2ddfd07aa02391c141a90470a2b213446fbeb31ee1c8a63abc3f6e2bc7fecb5b803e8a84af1eaadca2f11a91b1fc9a7bdee68e8dfcda5b37e2bbb626f02c397622564c3e2f349c9cb7ee85a9c2841f52dd460f0e44e55bb5ceb42bb546ae176cf02f471ff270996515bdf0e2271995011edddde9f4955a787f2f76427b11ffa2457c959d3d3484d26fac6f6fcdd02146253fd4bb2d75ba7df6bd65d32d79582a70e0902c8262cad954df1cacff0a86191944e903c2606d68e0c7319ad35a79f04d451a43aefe63b950d1c29c40bda78b35325ffcb9331702df0a3da365dcd8fc75d89fe26bbae1a830896df4cb8e1167ec43c6ad6dabf879e1af5f9c9d009cd8515d27d511e4e43295a92b4cf5c7b44ba77c76d38a1490c356b395af7262b42db7d638009cb7202a3a1a2c4d6539f74559c633761f95c195fdd366269747efb1c3cbd5afedf0ee8d137f2e355fe79c95d8aa0ebbbaa0371a2424c941992bd5f9275c1b19f5fa1ee8be18890e8950cacafba9200380f3a1982c26fe3f7ba02e47edfac29cc04df94b50196823c77302177c71584cc543e37294ce559510be76a14c08d62ce0d51c1cdc86ea6729dafb1bc76ac9d4ef39a9b22cab8328d757aaeae8986d07a96cdf1ec7f92ea0f5955df2f87d4e147e2799386a9ce77aa8a41eb80ec96947256622b4aa30b9f2c33a7c4f6fc0958b08d96d70351d58ca93411b5941399c4137aacf2b0d5144f833ce14891997eec8fa93c8ac6cd044d0714436d3047e0773dbb6450694bc9497915216b3f0a0900af9f139fe9a2ebcd340ba509987bc205eac377d2f6cf39a9581359166fb2b8046c2bd103d53ba23f6f2a594ca75a925aedf4b6279c329956cf3ad6f45b7da7afce19c34db272c44500d55ac4a09852dd0212ad0438947b8b03b161c0c2d7b87bf771c84dc060740595001e9256dc8b0878162df9b601978171a301153e75c171b113c8aebd1073c31154047ec4a0f89bc44899fbf6f1d8eaa416d59c8c7c682629c03e55e4d3e3ba9b1f538a26e8e1a8b4903fa08e5d90cb54acaea44f8e28496bce0e319711004e76b1b64ed2f00ec17eed2b2c15052c957d4195b349d2b3c5ea2a513aff23feb1753acbe62ce34da9cc75d4d197e2f6d858e19cf6c06647ac0a6f2b92411d260fa746a4f8c8c9083fbc5da996a880823886252223cdc4d6a8e0aa5b15edecc8f38951e0ee2c42200912aa6f0a5e77e0619bea6f03c46eb7db0c36f0eb92c58d807cea8da271bf0db17b401c66ef6547aa989049a05113dfc4d66e2c0ce17f06d4ff72ac8dfd7032b74af65a9985c343c9f40ec96c2cf7c846a28b97c04bf2a5a1242f02938b002760d15302548045a16c581e00a42956b1209afe621cce66e5d094a6fb447c38a6243b0964e3678b662031db40db514c7dbe0cf2c758ed73a6f1c73c06b374cce0e656cd9fdbfa05c772dc267362c58f8d4dc519885df6dd37aa0af7f0344cd0a32e5cb82c4dba920dfe1adb19fb7e01d4959c46096b7b665a91529acd1dd356faba027c8a76455cbc52334f1b9bf4c211c8bd4334bcf87e1d3b6ca7dab6375788fa139dad0beb023c4c306aaa7277ab2ebfb24f3535c752b4f785df57af5ba4e5f58660876a375c1f06a59e55ccbc8abfad409ed00619cb227bb64da9d22c1319ba885e3112cc1b285ef858991c30b5849ee32bfa3fc527f2b2f44d4b60c6cf52b63b58b32402d55974ebfb235e1132bff58a9490c4d7548ab231a2d2b13c7c33b33348029ab149e1e9820667ce2c24b49d95f3573553db80fb20506d97b7dc44e5c43aec8d6a84f51894d8514539464ea20a2f6c4cec7dc8d8d6d0953813be1b51965f157f4fdfc7dbb0e0847cb0a4f6ccfe9b0e01219e5ca91d7e6530d45fba8925cbe687b90c21bf4df14f0cac0ba0667800ae1187459b2303f99dee8bf39390b5e86f49b215038a7cf25b1498eb2d732474c8ac3fe9c3a1870c50d765b554fb259720dd18ce2b0dd912d618059340f054b1f2d8775d6bb65d4a972e85b4ba7c0afa258896abf3a8a0d8616796f2cbfa64e3642f0f951ea1b0d936c55e60be9739422658a7b5999e9d63511fdf8e9a5eed3c4445f99065c66f799d950d1ef42b35a6fb802a1eff23528b5333c50c410a215f44e419b81ed16c3e84654e5eebff83f08cdcf8a7958509f9cc9a9f7022f7715c0b288010361947976bec4560b71ff50c73fc829dea10e6e774be9ec4deb64ff86bd3e635a05c72bc34f0b556d921c6638e659c87ce9e745e49b68d420db77bed24d40b5ffdf8fb54b4c3d99cf1f72407eca8174ec86749876c537e194158ba3e366626e9bf1e726d36a7e54c198a3b40b2734e3dd7de7c90f7ced93a4ae1412ef29c33735f8da89630b97f004d536cef28482523afaf0568d68be0a78d77bf3fb72df6a3d760407b8e98cf2fecdf8801ef5f213be15f1c5b4bae608d1070e67e77fdab6cad1f7de502acb4b57420bf74967ba208a70b64c5365a1fcccc34ba15bd154b5c8aa560fc5d7f56dec6c9585272110f3217172a054ab51ac2fdcf2b8e3051f4fb5a89d2556a8359e2365e4024801dfdd98512147ae58d1f055631a495c14b411d501bc3c998b13ac28801fe52931d1dc81f3262ea7a512569e47f151d98e2412d82feeee1f60192c237d1f2686a8f68f07892c14c99ee0a183efc168054c925e027af47eebf7001896ae7b7cfbd8635eec57fff06e9e75cec0918153951d411aae6f55ce1d1dc1e93c360ad37b6bb9865229d8ee7a2dcc51f66c5641b00bf8dc056b3989357628f844833502e8969430a3e4462ab902783fc93015450ae2f38e4dd685b6d32b163b5884608075b80bbd66a8632440d184005b5d8e2b24d1dc90dcef455fbe3cc0eda38c73eef9e53b14ef53b7dc263f47212d92baccc8171a62de3c7e060caa915d95a271141d6d8178e89e7fd23653a11e441139a947a79ae639ff48ba21ff29c13209be8a015eb5a4030a2a7170d5dbd7bccb9614346acd53ca98b60e74fb8b01169786fa1fa9189e6a28ce8ab7c8581b5b9b92dfd80eaaf9f19c02a2d28ef4eb13833f89a8ce7670ff11e86ccad4e44d04fbae013a393bbe64b482c24079f4e260ddf7ba3aeee6be0396b43a6985f2e2c5b4f5dc20bb21b965e1de233ab7c69b7069acd40c3280e4637a04af4e6c58bc0dcf2619684b0530228a0b1995375639d76ce5206c3fc6d10c359f9533c1bebbea6c974fa938ef41b64132c630d7c188d5912b80afa724178bcc46d3c77c4639c41f806e61d950788bf45a70c6b23246ef2613d9c2ba2bd877cf0233c0f2b36364a40a5994f8234c4adf7dcffd019ff8615009821002c82557ef4b9c1fc2fcf5847eaa195b56137e4e591aef496542c8445251bd35455eeec43d380bbac5a8badd084f69003ef8cd47074d2433ed677b81409edbe1b8ec434b12e3b1faa47e4a4f2ecc9c9d5cdf4b72bc4e81f7dd800dce23e1d7330c15bdb18ae22a6852d09229522fd1485f00beedf284d49a82b2165fe4da7c85164b294291f5a8c11a59498a32d2b2209e90825e57f8efa74f84ef6b894c21f1ccaaf187217b79b80a0517cb59c07a3eae5974406204bdb3f4aafaf2f43f12bb63bf426b8e2facf4fc28b8f42cd3dc8ca8832983c4567b4aef758abcfa216805f50af35dd11f13723ff2fb76046b1ebbb64979aefd86d65ed72e0be7c4247f12a0b58af4ad04bda18102fa56ef7c2d54ed93a4159c4f09d8e0b0a082f86ca4ff966b03d10636402f9087705bff1f19d54fa73c2b434344b54c223e5d4e1d6cd781b7e16bc6da8378d40cab8dbae9e6837c9e254294cd04b12465b1530eb8cdfb5300e2569c2dbe56d3b53dd8653716420160df5568995726f454e62ab04c4e7b60fd6ae7bc7d3c9df29d0db2f2c4b38b30103dc54534c837b5066ccccabb7a80970f909446c3c2c48c9d89eb198a865a2c8a0ea60ae3bbf3aced66f4c313fb68246c5d0af59c6d42a6d76fafe7d160cedc1d24234ab16964bb979921a100df0e0c8ce6a38774a5e7a3ac835ae3138ab30a252c7e68eab44bc979c9685c24d85d818756af4e92b9971d9218787f14ceb802e16ccb27743494620ad88c82702bd478051e705b7016861f1a75c00267ce7d4f0ff6f82c77fdf361d776966ed9e1d400281f0c2d76043769af87e268a8b165facd01c0e995d78517cd6dfb963cfae84ba1f6158d30edc7ae1aea2ffd2814240fd14f3b708c7723999bf9902a236d5ba1ef241d8e73531dceaf31ef7a1a4d8d742d447134e0b12a056e1f4e50cda56b77735b50", 0x1000}, {&(0x7f0000008e40)="6db5ff569b996759d65fe2814ce2c8baa045996caccdf1be9370e93c9989354c0ec33f17b824955c5a68e35a4f8f", 0x2e}, {&(0x7f0000008e80)="f4bc3753896456771a055fb519f27384be0522cbf354217e9e8feb3d9c771cf46c93170ca60504565dfcad4df9e2a3bf51e0442229d66387b6f6c8b8b30b46ae4117840db791cf3277444dfafbd36930bd1bff045f5efcd457a188e3c7d7ba06fbaad66fe16a6cc388426cc7173fea3ce55d4d7a028c94971e79d71c9303d5db6674974b07e7ba521b85c2afc4a636598811245c77c391e77befb792649709ce784e9ce39ca127ab8f13a25672b1bb08aa09f6f8b043f8bc03de1a6860d3299f400d0c800ce6f1ce4455990a4bb8598636b0fbd9383650210a9db6ef1eaea853d3665365536762acd741381e79a01e8e", 0xf0}], 0x5, &(0x7f0000009000)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x4}}], 0x8, 0x10) sendfile(r3, r6, 0x0, 0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async) getpid() (async) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x7c8673f943f4c29f, 0x0, &(0x7f0000000200)) (async) ioctl$TIOCSPGRP(0xffffffffffffffff, 0x5410, &(0x7f0000000000)=r0) (async) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) sched_setscheduler(0x0, 0x2, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000040)=0x7) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) (async) setuid(0x0) (async) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000004b64ffec850000006d000000850000000e00000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) (async) open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) (async) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) (async) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000009040)=[{{&(0x7f00000002c0)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000000100)=[{&(0x7f0000000340)="b522e80d604503df86e169fd74d95e0085cede348d954718e665b4fd1448d847d6250d5ad1a1f8492c14f3211b72e7a5410ff3dce73be8822cad97650c895ad65e176fdb6e6fc8a8086b279a5e27b5489096876006cac6cc9c1350179f8a76830d7ea8374875dcbaf0e90f2dfcfd0266adcb12832ef684e69ae3286dfd252a09cbf74047e59ddd5e279b60696809281c22953620cc05acb3209c41c9e74e7271c836d5a241a718b6ae16", 0xaa}], 0x1, &(0x7f0000000440)=[@rights={{0x14, 0x1, 0x1, [r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, r4, r5, r3, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x40, 0x4}}, {{0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000002200)="002ed3248c749f217e535fe9d2d7f7cbbf86b709e808c23bda867d1bcf79c8f6d8567d5f22f109ca5c1433298f1690128b30c319fa5295457f4c7304db4479b2acce86cdcee597ebef48ba2797d0bac5504d29800b3263225bafdf820c608ba9519ecc554bbbec394f9af81dd2aa887ad0fb5349927d13fd8aaff6e71b8d9feb5330523e33f0546bc6d745b79b7bf59ee522afbcc36436553c27f00139942abacb6e1a0589b3da169cea7e336a4bacad74f9371f4b9851efb4925b430bb79949e00656b78829cbe19f2a5780a06261dc8dcf82cbdfc1ab9deac8a7deb084e87af222460759f54a9acc90dc8f5e9b9759fcc799e7f7276a5b6dabc9be5e716bef2617a973174676adf0c196a0b3245fa03ab9bda37ebffb650ee30c3adb80ef8b9312ee98f493f472413501bdef72b7c59b20cb2678812806e73098680edae53add2b6a25df59db13dcc89270751adb0880ec6d5a8358ff04200501b5e0a5f301d2a15b38deef145f6e23bc6deb020fe02d63fc496352629add08506487c631d26a06fd1f044aa887dc605b9362416e3f1064a3f67fc551b2969c0404e889942adabbe9827737b7febdcf2006bcbe67db7f70b45f6bc83d5a16f56313057abb77455718ed24b93313af88d6979a26a50cace7c0680511487eb7c915909af38cfda56984f2bbcf46fbfcafc5b8178a6ec461f43776ab4edd48cae0a29629509ca92046845c65e9f669cf6695dd7f67a0080eba5d442ba7bcdf3299b294e216ff89e58bdc7dcb46221f07070e2e26223a3ae39b60a98c43d6b99984bafc1991ddf1b9ba2db9b9e247d756ed847e94a11ce281cd1c4a729c22bb3b2a16870ab9a3dc375311f9cf227a7d587fefd38dd770b38889ab4441a02aefe6eb3e8ce6b3f8e836abc31f3b6c1dbeaf1032e07a17d8bc022e20f772998f27d34f6537d7dcf31b0e973171db16b041fb51c49cd5a24fe477043cf5b4db5a13ad9c522d674867b87a4bc6001b58018df50f1235bd8ef48b7299a1ab6b37b6bdc2a66ff1253a11f93cfe26f3595a7d0f56fc81b00c8f91721f54264757f2258323edb1ff4d414439337bf9c02986647a3348130de2d6fd11a25765d0f5b6d9aafb2aaaa09519b1810f6572e66ef6885c098a1a53f644f38c586756bc3f77e40de8aee6beb20e9c2d5c2aa3b99fd6dda24976141998b1ebd9b853a124e1243eb58220abe2ef009043f92a403490e849137dd2cacaac6a5add95f4f78fb9ca87886064b9ca537c6203c576229fd736136c24e7a92efe9e79930801d13ba0637305ef487940ba6052b5e86d5300514eac6bef65bfda51b2e473087bf2b5c9da1bd047fc06a541c8a42186d33d1be5c93bc8366a0a3d2f7628951c77952a537df3de96457399fbee605f9270b9a5f513bf931e1e39d2329479225ee0f5a6b8aa0c14ac5a01693aa1ba6c2d09d79e7e0ff0e25343f36dbeb51cc4aae7db658967e07b6f975b19879d4d4369ba458a8928c98933d1c245c73b255d69cfcd77f7b7753f261f1ab446834299f6dc5a128b8672e0bcae66fd4921d3fd2193a04f077d1fa883eb0c3d69355a0c1f3daf070ed88d0e1c18fe2a4a90099ffe576f6cdb4dc87cac2f66ace1abf340697272c3d6dbea8e906f93dfec8eb6469f2620aee3adefacf1dfe4c3c0dc90334e35bb8a1ee83ac9f274c60ee2d643d38304b7c59c730ae89506edc994f58f1bc71975c1d74458735036d0947cb17b2caa31177ebc10b921b475f6f0f1275e5e40df96d197703ca2efc925eeb1d3ab638db2682c3f843b92e2835510ae25af88b99051d0bd69ec086571f6d60c898631706afe8b7ad9229e7fa5705ab6256d971070e7f7bd8af4d58a82cc19a77b29c0dd0b66b1c140e68c2fa2c3e77fd835625b90c327d274c6cb3ca7cf2743d8f562ee1c23b104b00995cd6daeb43e8d5a06791a54c9d56cf853f196f9ef146647fc63850da5bee7838938c6b99343fb121804703ddd6263aad206c6835df1d4384ba7c02eb23abae8d23d772e46ee89bb127043dfc085c150382205f87d74abb64886ef599daf5c9dbdea9e57b50f731a3cfec33948aee68687ba5fd09a33efd22510bea92e8c5ecdb9d809012310dfb541a3ccd1efb4cf7cde085ea4f58f6bbb6660111b36340a752cea6809e04f038993d0e0b2ba7becf02bf8a25ea6c39299b804ac451babd83a33046c16389fb0aa0c04ad85e455b5a1590889e2a0d0deba8a0ea59b3a75b0698a1bfd1cc80708dabc3196b05bc580d304aa6974f67cf9fb934251367cd2df8973253e110ac8fe44236bc5baa2c1f4935cd9c1db6c695b5204ed5580dd31b6e768ea4caf808c62aab0b7a90f96cd8771b65bfb0c80cf69597be8d2e83494d7a3d1f1217bc9e0336e2e2802d2ba38ad9aa480a4747767c187dca51092e73ea569d3242f4362b3ceb7d58536f768753c6bbad6e8c9a146181218936e301496776233b7200cb145272f3b9782817f0a76ed5d286be9eeb1c6255467c47bb49da47c6dbded2264d11f9e099c1c9c391f6fd467a0b077ecb692d70c9888a64f2e85d48631e66cf29b53ae60d17a6d1c5f034c8a6ad40093e91bdd553d1c2c41f40fd656cffe7ad4c82f3cfb69a47632aab153585341ecce9bb26b676f9ac3f0e00013b687007a231c2b81b4239421f3e5bee7eee41c151d934e2fb58d6a51357be39212024a1b9192d7f36275d54c3d68258c71eab76657fcb62287bb1d5ad1d7b314a0591ee38b5904ccb40bacfabaa95ba3e079c148bea2d6955c4b4cb4d66b424368122f58b305c2c800f7fada685436f95a6a1e1e57c8facb1b5b93dbb54ff9c5a3818f7b0d9d58311788d04c9278414969fa3a7efd867e73d6fbc634bc39f3482ad457b2d7776dd9959847840175eddd9f73b66b960f876824f9f6b94b96bd2dbe06f766865fd1cfd6d0d1d15436b50d8ee50280a0e16e78be1e7aa9f97b2cbd25946bf810729e5c80220e0be01170eddfb473f3093f83959c0c85dbab3c1fdd3dc15d213bd125453c4821553edcd02b0b58e5a73eb6b5e3866068afcdcc20f2ec5afb54b4ce3d5a3463134ea7ea1d3c9a9ce4eaec6f4c610107110fc1eed1b0a76f067f6d5fd672541e6c792052aab7bf0ace155f8454970f064228cc9932cec91e8acb10bce6f9012106ee75cbfe9f1d29ed9bc10f57c7b55677d70b1e3b9ee4a71a9eabb973ab83c56b29a83dc0b0209f8d0f4b76f6d31aea7005e16a1c123a8a75045e31f4ad9bd9ce806d69d497c9cf49ce1999ff497fa52a2ec2a6dfc102ceb6181e65c75dee5af15e2f88017704a6cf98ac9e72e9634400e667cb98e9c5aff2b4c6c710aa0f41a0fab36f688ae5917d59aad797f3c4449dc2a8858ddeaacdd6d7c529dd8d32b8a9befb1b11877dee3849d8cea931dec4ee7183c4b0565df2c4d842916415b500ce840fd119aa5cc15a8e3ecfab9298508f5442b6c0740b9916b9b21bab48cba67e43ba73412a04e95bd41b20cb3ee1eee15c592065603fbf84f1318a0609bba327350e8b8020b3e533a85e5fec9b876b723b6a585d11a167447f2e9902b93d8ba2b53f30aaad899b0d729a62dcfa67a01f3c005b5261093f8218695043abdfc6e42aae3c0dfc8bfcd234a634c751f8e78da4ebafad3caaf827fcd4dc61004179809382f99f3a2c20ed0ee11931e3b88135a6ad284ea5f99322dc3604d089713390935ea91502e4002df03a443ae7a6d5765c33a6b8935f3c4355d117b02c8b0bc99f3896622c5261386de74c9101872872f554b848cf8d7455bea9a99d8001af9643a739d13f3c5f7264bab109233430a9c8ff3b8e3e3ec7b96b00dd2c2cb5a65c7065b3a3a0297f8c20f836b0485450822a80da517feb610a97a641660787034320392a4c71b82566c2a7e66e8c6a2352f5022e7d6d7baf3ae8769cb921ff9aba19268895f8ad865130ee7afa03c14e9a64a410e1521c8f1b7bd171d43018d31a3f8eab13116bd754e19dbde852b121eeb1c4e10bd61b16c7e3f18d2ec872ffd6026fea4eca669894e90b2ba31756b8508bb2be9783e147bf99c854c4b4a823abdde36ed86f4486a36d532cd8ea74e13971fd7abb508c59048c212ff2d5c07455e3c5083e8162a90b5deed0612fd1b63a8c45175764fb087957d3aeaa805b7886a17d56304c765d0d025d1b9200c40295fe0f402297ee2e13382bca5b1865d42a5c3768c674d0bc21644297d0f170526904f5f3924e6d00565149d6c3e301fe0e7d459162ce6e24abe366507244cc7575c7e4e981a9637dfda9530cfc248d38a861c61bd9d92ed63d78b8222f51728eeffdcfe6fca191c43f044c9ac2c6a93f9155d7e63be53b7864379b9db0b61ffa307460f40b52d1efc9866ca4c7a3f6d957fd3c4502bfbc4ebe2642de29b534e53b405acdfcef31ab17c2820ee4e0a2f86e90bc5d6b211fefb95afba44f2b54c860ab3935d0e2aec79f0cbe96d8b8b0580ce8ae0b76464c5f8eabc0e880ebbd4e1841937245e87a8aa5df3950d0a2a8514abd85e5518485e9175a7004916301911f34cacbfc29e0983943062ea504345595f3a7244206971c1f4e7d66b201eedb305e03effc26b11311f27bf2c35cfd3af1a29a5820e4afa66d3d9edbd74b0b74f363358e61f043c4e3558d04d074f362b91d00b628be09d5e1b75b5d2f30543600a89d555a17a1e8413d56e54ee4f8cefe55b1728725201ee4383afde317162c6a12302866274746100b7802a437ba621a699fac66c47838b2706ddb3131c748ce592bb9b27e6ef73734c3fcff2850eefe61c8f0c6a97683dc053d7d11a62e3d5c12a19daf88b03b6a8accd0d567ff6f07ef564c473bb903a83dcaa6e989da9f09d1c9bae2915c14428038efb0f3ea9350882ce23cab800f74b10bdc67265af9ddfc7c1d6933cb4482dfaf35b83a86ac6f02a3a33a41af84068c70df1819e66ec7936e6275cf609ca8407e6f3c737544bff66641715fcfbd7100c2dc21951338c637baf2bd1ced28fd40ec485b33c3911670ba65dbd74d51c64070200595778960c85d224d17ed1d0e0c82b67595057f93381164c92ad3c34d84d526d6be3762d2f44843c1f42576702e0efee0e41525a9afa492f7d44bf32a765ceb4671ad2f2aff532056c94175e2067c69ffbe6a6faa95750493e154ab70ef57f34e71b63febce48c591586eb58728a00043bbe6c09234f8dc83eb00157206287c86f46230e368e4629f192b838915e19149df63319c4616cc799fe01b3a855e62a4e5d825d4aa5528d26e5697d1f6bff0bc091fc9899959e83e8823849f7d84fe610d02e758a8387385e9084f91c4234897c872f356759fe5a9c12eee476929fe5af9c18e855269ab2aebea759caa50937fcae75df54b1d0c76420505836d457dab5cc5e2c6e03cb68fbb708695cc6e15243aeb0c7c07eda029e4340c6b8b7335b8647035dd96280d8b7b3de5b5c8769983d3f929046d4c6928709a93b40e0ae649eb580989df3e06823a982e48b77b2d6039d3664c2ab57cdf609f222d3d63ac9a54f46a1748eacf1c35ca96e9c6d4a5d7463fb5959c41cfeab17653edc22583185ae750d3c25c5e03ca321121eb08ccb341577d9a82154a261751def3f7f012c31028318bc700c94ae7961850fe825e8af5d3d6869d9a1bd248f2329d0f74d196eb467cdb2a370870efc48d0f6b4d5966617c0ad6aef580ae3fedb18c5b6a0cd272677cc4202f817706d5716f8058daf1458d1217b234a557abfa5e26a787b8b9d9c3c4597269863f418788e433a3fdb83209", 0x1000}, {&(0x7f0000000480)="8477f73f40761305ac872e0aa8b2a0eb6a636f8980dc4de9fbafa92ea82f2c44d8996d5a38afe678a5982e960bbf61be5f0a85169998d3a057651a0d7d6e79434519ddd08c5e6fb8d780c2d7c3342faa4d0294cc7dae2fb0f4d941a0d487a329adb3f9f0f8171abfed", 0x69}, {&(0x7f0000000500)="a812a9dee002c41028e782fcc00568", 0xf}, {&(0x7f0000000540)="00775553334ebd5c887ed74e3d6071817ceda36b14688d33e47061f0d02d7fd2c701cc94aa9f930607a7f1d0cf4034bfa5ce632c7440fd795b3d10b78d7cacd9b0d306baf47105369437e7d44dc8916072bb119499dac277c66dedb4eb35a304c2daeca921572110f7cee2fdbfc96a62bd6cda0614ad43cc54e69744c1d9a24d5eb25aa80f62c526056931040bba1a61dc", 0x91}, {&(0x7f0000000600)="61ff8ed13b364e444fa1", 0xa}, {&(0x7f0000000640)="3fd014249e78c84676e855a86bbd2e8295ef028457cfd459370b246316f3010b7ecad54c8b1b1d", 0x27}, {&(0x7f0000000680)="03c2dff0434fb6fad4d54e56212bddcefbbbade43f3b1d4b76e7c8d8e83a", 0x1e}, {&(0x7f00000006c0)="3db2d5b21ecb36382e37d6aee09158707e5d39ad7ff64709725ea3dcf68ce20af1c03709703e7dd78ecb7c061303ab378811c7bdac316a82ccb48abb71481dfb45c598971bb1d1e9ca75357dcddc4cc9170ff6ca5ce69e4eddea94eb3b80c0281274cd7f9c0c320985268227229d039b16a4452ce2870538acebb8b66eb67fb0c413672fcbc2a33790b76f710f792c6df293a0f1005888ac4e06e0e0dbc9b72e2f08557e7796bbca97d3f0d491", 0xad}], 0x8, &(0x7f00000008c0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, 0xee00}}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0xa8, 0x10}}, {{0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000980)="e4455000257293b9a9587447ed4f07379542b86d5b74be921093d348f25c1ea9ec6dd281a4a23c45fff312348372594c97c0a38b3ffbdd46f7bfc89d01cc1d9cbc5f40e5faa7db20cb268233b1059a052d66e6d4", 0x54}, {&(0x7f0000000a00)="9d8b56f0d7a09f7a5bcbfe818ec7343e1429b97ce1f54eca8d3559dc177b60e7c11b243eb729463f61fbbb7fa2f666168006d98f44c83b6254a762a0831b779be43ba4f3701323c99920bbbccef1c1999d01b3ab0ceffed399df30d4281268141c87d4edd564334effc4b425463587507f1c8c9eee63cf", 0x77}, {&(0x7f0000000a80)="95edd7c7b6958667bc9174499f3cbbd0ca7cd9297c3f8bb5b5ea256f92c1aa3556845b3175d861a82d440aae3144df1c822c66e4ee666e69089c2d738aaedbe171c11b47393125c15592d7acb21983", 0x4f}, {&(0x7f0000000b00)="e1f4c3fce9c5d7598a2bc0d8b0a6ecbb04f16235940bf568c11cd39b0aa615b5c4cfbd23f10139c3d4caec6b41679a6010", 0x31}, {&(0x7f0000000b40)="a3fc1691750711884304c5bd86de3a2f8eeed2272b5724b093df4698f9edc88f054429ab970962112b1f7154de88f46ed8355c039fdf325515792d0acadef30a670bf4975df787db7062c5b3a5a52c72df130efb5c2be73a1177cf0b6b5e06672ce918f7904fc9252cb108e7edfc394006f4ef", 0x73}, {&(0x7f0000000bc0)="b0185f6f72418f", 0x7}, {&(0x7f0000000c00)="71d19b29b623beaf03f43c2b0e638f97aced7559a32def8bad873be5f5d0ad7d35cd944470c7655adbf6b67da857555e1f5edbde14dbb7659ec7950d40b60d6605d0282205b228b7ac71de47e9645c39dcccaeebbc5be3e1f4ee2892ebba70900ea1a45d1f283b2aac6bf59c12040b4dc13da388a2b9", 0x76}, {&(0x7f0000000c80)="433096843973dac6bdce5183b74e404f87b89b8583350b1dfb705d7ec50e491e85bc3218fa9ccc4022c21b", 0x2b}, {&(0x7f0000000cc0)="cd9c01b2c83c9c290d8ff9565d2f0a63aea8ebc3fd93d9653b6697fef9046cfcce1175b9120571ba14d58e8e284863928c08d7499936c81ccafd3503e59bfca6430610f95dd2a09d1a91e566f9edde1a575a858e20634ee3fb5c2a32a661954711131bee1437f533b57c4a60e0f2f18613566694c047", 0x76}, {&(0x7f0000000d40)="d250e1e66dc6f688ab68440ad6b76a4b7fe978a0336f9bff390bcade90116b72e6f34cb142482ab72952ecdc42c8078c83916e1786d56ef507415eb60e9ff9e2a1985e22355c979eb1be6b02bb68fafb46c48bcacdb2e9e66002ef50ce87dd6df6ef81ae37d3fe7f4bae6f977a739fe244ce5a", 0x73}], 0xa, &(0x7f0000000f40)=[@rights={{0x34, 0x1, 0x1, [r6, r3, 0xffffffffffffffff, r6, r6, r6, r1, 0xffffffffffffffff, r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x60, 0x4004}}, {{&(0x7f0000000fc0)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000005200)=[{&(0x7f0000001040)="25adc37deaf18dfb14bb72f11216240c552ebceef6712b6e05d9ea8a9afac4276fca9fc93544cf1483039704b1fc1efd947d5145fff969618b5cf396b4dd7843619758c20db067c38c", 0x49}, {&(0x7f00000010c0)="bba78018aade8ddd3b74b5a97cb8862d2441274346e1e06dc7c433655b22faf6ca5eef10b09f32f39a45b7326631178533f60c1fc35337c09499fc669c8f115a41db1a71303ba11712dcb1315b2bf5daa530861f6b78cc8e2efceb0fe90a164d796b8a2b93d738bbb7d045371c2891f3158009f40775b70cc90b7489777367f2f5a8ce0cbf2dd793a2e045fa45253f561efde942ea3d3d1e995b2609cd51881147b7fa6f70a5256b9fe03c5fc76c9a1145dba5ebe96cab0a6f0ce9174e57308c255eabb44e660e4f24182ab9c42b80f845c38a2d72a237f64433fcec572548a70c9ad90fccb03bd31b9d5b02", 0xec}, {&(0x7f00000011c0)="2d2a2c60d9844bb14d1b4e70be59eb12e9e8db02050374ce9e2cd1684f551ed3d82c5909af651940e6ca640dc61493fb1636ab31dfec7d6e79135ef9c128e2616433896e656a70f3eb41", 0x4a}, {&(0x7f0000003200)="d0fec79e5410c360ae5f3bd4eec57981e0e8fe55c4b957e44b09d735905e5dfb797359c332cbd745d5394b82d9b8c0d58bd96f3dbf18ad9714e9804d5bdcc03c41bc91514ca83374614a47e1c485e93b0f813acbcd20f129a237175f2319cb8a883bc7b60cdb082483fad4a7b88feaa2d92b6beee43c9101a1aa4079db8b9fc05b5d4fcd60e663c1941ac2697c65e77a2291f945fb4270cc21e542d8994e38bcafbd87b553594f5ebc82d53d2a7f22a49b811bde3cc669edbca3d0e676b2527b19c99661edcb4e10727560ee130896aff6d5a707c35d2528b2c7f1b88fb9cd7c0bc70fe5ef51655fdd21083658f5d3139ffe1d9611fad3a1a98c47a3bee2727cc5bfe71261528703e2bbb5f2e5ab43ff30c3947c7ccc5424f70622488556880689bbd5b9fd44d202c3d9e613aa4508d9b400a17e055a0e1d26b6a612460d1d1bf885d03a9caf285d3746dd1a93130f266e5841c54758c8f7c8980bdc7ac0ec85cb20db7ba7e7922164434f2a3cd54b26b57e156ce692fb739c508803a4a49fd4acf079e5596f6725d8d966f84920c2bce8ed51654e6ada6a364c268c74f0ee5fee8984eeeec94e2ff9f978e5b9df487de2ee14a5b33c9c399cfaa06f995088f0f5239262953735d992e20f70c7b31119e8b3dbdc3d92b6387c1d7fcffafc1fe4072761cc666f12738fc01615d1ba7292a88cbf54a9797fd80215184c6a54e12b38e7a52a30ea0a9f51e55f634019e5102f0fec123fc22c0b4f9308d04155699ceb42ad7c587fd25799c5a54e1aeda6dd245c93021207f3371b04bfb178b80b1c6db016d7293639fb9b952fb97140ce45fd5aea04c40a1492cd2a321ffc07e7df2435f796d50bb97657036cf9a1f442cc6ec976a034feccdd2a3b78df8899d1c4990f424837bdd7d0ade7d262bb64792aad1c2e39fd07077c0f5927c2d40a5d0378793e9e0d82df3cb57e2eea115d2cfde02854510fdff2f06710599cfe8469d1b8aaa52081bc601f3370a159ff83f2621b6012779f2738d684d35ceafb66736d7737813cc3a0534b523f87fb34e2774176016c5c0fd73b3358d199b0640976224f304212aef8d83c5bd85242cb8df97dac53c5e2f099d7c64322ccd6159395fed9c571dadd8dd29e80af811cd9d8056072924a71da7da7841f8a7e3507e76ab2a5344183547866d059233b17a64bcbab1a8a4627d2fdd7e387e239ee9ce4bd9304e56c4b574b0ef74e831d17ca400617a3b9b273622a2fb17d794cf1502afacc88448373e506008fb7114e2224917385c43b8e47a246dbfe8753fa196fd87f72b07e56cae825643ec3ed73bad5e430cb5cba3e86f6d579a7d4c05aa9abfee3f71ebca3fb38a1005633b63a957249aa1f4fce168cb37d30fc70bc7345fd9f579e5395456be6074d11b0eacba50bbe225b5ac99ccfa69d0a8a9878cbfbec234165cafaf05a265d07352dd1b7528fac87581164d6f64f4a327436fc47ec92547deea13fb65b1926736aa95292938927ac7db2b5a1ae6c94c54fbcff7f7c18f8bd0d87d35fb1e1ecf1364535a04fef7979133f6589ebfcd35169e5716fa56c88760393c0b47712dc9c29c9e7457a0782f4eca3f1f7ab0d83565d8a57545e6d34ddf25a51350bf33481c87622c766dff7081f281c47967bd93e1c9376c2c6da30ade036db12b87edc417694b60d6b593e1d7dcc9b821ad5fdb83268f50c70c1bdc3550154501491af4cd0ab41bafc9deeca52c1955cd8fa047f2b92ac95c32f430e442e92164e4a8b4edde4421f2ea977ca05bb81cf4372ee835d6ad7ada0b068c19bd49967aa5185dac009c663dd591821218d1e4bff39184e6e46866eb6d7f97e4002b68458b2af6a65e4d755476f84b6994fb3b6558352fcf73d053c8efafc9424b533f1644ec0e0188f43fbb45f8f39330ef3306f881c204908dfe50559669bc944817837e3d50fad4138b33b326505235758a2a510e9a3df4b96bd5b0d9c81ceb114cbd539e022d60d0c732d3772944f85a4c20f889ab9a053f558ce4e4aa9ad536a9f9b0fe1aa973fce8e6812a6dbc76b7c02e5b555bfc959cda4aa4f16d2226239e6d966e3f406b6860dd6b1c8d4670eb3c8b23ec161c94af7330a2698ba5296450842dffa94363ce1cfba54a2c9d27fbcd9b8952589d531df5b8e0629e97a83124cb769d72c474ade928384e0341e55131f5e7fcb2dae80636f0edb3c1040de311a84a13a6f8224801ce0008118ce0e194238d5e2acda22581d53e6c6230a2e951e9d5cd063ade209ab484c1c57efee52039702594b78905a3fe8d8a0f4042efe4e56cc90524d1bbf3275b2e1beac2d1a78c781154945a98925458faf54a6620eb4bbcb84544c31dd2a4682ba1a338353c33869fe2fdfd68d898b25f4801c23e455a3fc79d1ffd6f4454748c85ee812dc559c6f614b8f08af74faf189aa6e8820f314c1517e89b09e47ac2c440375135ae5f45dbc417e5e0ae57b0b8eba2eb844bfbbe7c08ad8ec115d13012fb7e26fdddc841b1d1628adffa8aaea0283ffad91745794d79c1e8c3e4ab5cd24a6b615062d22b4210a953c564f534048353672a528b10ecc9cd8f03a600dfda68ed1d53a0914892165022eba444b240ec5476025688dc323c0901c4186c6cab0ccdf8cfdd8918be02ece858fa95bb10eb72b8855fc541ddc19543ff4389800f9c282237afe886f1aff98d48976096e3021c163b2722a76ec7b2e1dffd194ca4649a4591964370ec87b92516e6c244217decf6675b812f94917be23d241e81b5f288e0f5354dec01cc3dadebcf99eade491a26a8b1439717e0e8cc8bbeaa760f6ac02c72ac504fe6431ca1f6dfa5449ad12b48adf2f1ed47f934f8bd1371cee9fde3fd37a544755a161decd44e0ab5eabdc0b4d0e79ec65c5b456f73b68ba50c6caee7cb0772aad54a0f5eb31e99acb9f4709effcdf9306a928c01b4a2d001b15af44ea3a5767726f95e6cf234587a5b7f92517de7ce80f1d58a1e3fd7499eeede044043addfdb34df9f16f78d08defb42b4ff1d9b54169b72778ad17122e3ce52c0c3fa8b47c204a8b9ab8ae0314d51039a0b33dfea0c2de9c2419f06a768a86ff30dba6eb480d23c69e863a52b75bee50773a78b6c10871765e9bfcb6b8419906cd22690cbb6c45c2a71962ba19881063568d5ea9206e1269df9a1131ac7f6c91bfbde252964fbac4b816ed017a57b59d0e107ce6918853b063a849b47c0e63e096084e18981d045e6adc145d5d106ebc0124281e50c127a037d3128c2974bc93efe8a2aae84db155bc066b365943fa35520e6fc5387b2cdd509433dd15decf145b63d4f13d50482887ca00c5388ed5446788a9f53f27fd4782f72c3647b65d9a6803f3629806264605a18ba75f9b71ec8ed6799272d44f6b8530ba2d9db2966a41561efb6a63734d64cefc6b5376711b9fb26759c248bc227bd418bc00bb63e20edbbd5188c127e0cbde5e3c8e8450cd5f554433ae6cceb3e3df0d011d6827cddd75120a41a13640fbee455767c7f9c58f231fbe2a98859a019c52fbbb134b9286d18be6183b6eab3d69101a9fdca12ef472300dc982cae8e2b7e782cbc1a05af72774b4f45904e502d1146ef793ed33470bc16011e234c3823c1efc79bd38fdcc547806de6c85017ff3cdb13a0d055ffd7afddb1b675c3e1e78f1139650effcfd7dd474c49dacf6fdbe8f8727c3f1849f3a92f2c5bce397b358021db3d86c1517e2dcf04be189db14c7d8d894f29369e7767cdfc85dba7c3d410945f8266560683f4da33fc6754557b61954f93cf99f593e36b102138c3468affcfc866825b606d90acecc32dea2f29f1aa062b7b489faec58a660a519c9c4c953f72a7c6595d1993242e6fb65bf235bb09af1d19377beb62a5474f9c9afee130173934df4050537d79bde74242052b09f66d0cb4deb46c4cf2ba9f7d892c42ed386a526dbd10a9b5d781bec48696e1d099fddb912189470de36bc66cf6380fe88ccaf919aba56b1187ccc57a4dcdde4f7388589218f8a2afe9975f1d6659b91257930a79fc51cdfcd932bd52c14540b796b6a4cedfe0d796365fd174e0f9e47730b968ba4878ced532b10ca1b4d73c8b6602e21946e393f002cb27281c1ae2754014c518682518921652d79b27782a9776389f25bb76ed805861e6ca4c5da8a942f33c85154022d2f73014a3b13fe6974348b5cac8d3eafcf49f6c979619a1fd66156bf511d8ced4ef0ac86ec1f6a4f70b3929c68f46b4a2ca5163667ebefdd894d4d873bd4cddcb194b7e8462e7eea7e54ea056993b86c9199e49b97a0f56b6c9f2134ae5bc6031557edd0d8a371226a610af5f43b264ece0ce4e9a02c497c1e26070587ef8da77b1fd8f3a7cb51c656f094a85729dd7570421552f1a6782fdfb24bd01ca860161117d4e39c13ceababc456d2d594384dec9615f5be0ecb3c8e452c0ba6e526812d58be02fd50e1b2b56a9f84beec934e4e650d448e9d8a91c4301e661e60c2b146de99387401b57bd88e0e52b183fd4e653ccd89b7d0f074bc0eb379ef5934424dca23cb63a2846912bbf2244cf18f9520f52fe5e1ef6c0187280df871c36f1aa01a2a7fa48e2872f76b53e928399309cd164d67032960749569d9f8fcd134b9ee6b6c8c7bbea10932828a46269412038eb3a8441cafdd7ae705bd10bb6f6dc23b5dcbc33d893f0f0bce56d6bda8481faa76fd079a9d6cc41a94de708ac6d55990b5084aa8c387f9170ff89a7c45a5b7fbef19a1a395df523aea3e88ae5c61b5104fb7397243561796b07e98bc636c3042ba0fad756142a13250eb32a3df2f96c507825e5f2d2bd5db6bfe3f233b5504b7eabe8e657d4f6a7f65fb393f159dabca1bbcb2206b8282ca4aba3ff6a98bc14abbd06f9d1092daf40935ae18ce63cae29012f99d0cdc69df275ba177fcd298a74ae272db02e9f775a94696acd9dee2c030bf4b3355b72362b54aa166ab036f47538dac4152b57c7344bcd96c7ac3b56efa9000df86d3d8d71f5c35b06baa39400dd8115156483638654bdb9b29c2427690fde3571b1952af7262699dfa1e3c0b32264524d8a81570628ea8f34996970f57fde92604ecdd77ac314664f61101ffa7eb6f3598a111466496336f4922564cb3d75fcf21805da724f0a81c66c9f24ff5ea4fd967afc3b6b8e42df4836682882f8ae751e784ac033d46df6dca2efea2aaf1238aa8a94afce371852eb0e2d0248fde665ab644a65b130d52621d8a0eeee06dad58989b6234151bd6e757c09cd81f9f6c836bbc3e9f4adb0b42511b5060f786d10869486aae0c3202869e7e00f0664cdfc3bdb59f61142d058340272d47ce754de9bee67c53801c6902295c4a4ee08b01aef6ce8e0b82976e5d69c928f13b8447d0cffa8fe78a984b8ee5adf70364d83bb3d6c05bf12b8a98cd2abee237a675dfd2c31ca07abc6ad32d0c15bf5736b2cad34d4aa080c44bb7e1875264ae5dbe01138778824651a52d1898b0ff6d6b33672dd7a1d394d0abbdc7824cb00af4f7f30fad9c67636435ac178928044f1ab828d81977bb910d8fa1d63da211f886362484beab9e41e1add1a64324beb3aaf499e612a1c059f47eedcbd368dec03d3181fb39097e90999cbcaec4d29b5ea519e0f1afb03212b3aed73953870256e7cc15cec50dee8f8a7c7feb71e7e058e356e6fe343e24d6ad4b563ddca336ebaff5b15c122735045d4d6d1a21ebf248038095b96b40b0c60dbf12128deaa7061e4f291141d0c3974130af3cc033abb904352153ad39dab7422b1047617d", 0x1000}, {&(0x7f0000001240)="d6b43e9dcd350438c23771ab0c7f13f7f1a83489e67f55c55ed17f317c5c12e5e3f31d89cabee53d9eb731a43cc15f3e5d9e87e6604fa1a2865598c3d2f00c457c85bd760dda39dfac46e78ac5c34108d84e0e29ff4bd9c5ced2a636c634367660dc00812ee71d1fb682eb6dd5b268f66f5d29719b234b722812c8b74423659e1929328723e825f027ee36ed2ab491979d01a37b96b1a38041b82277b7219048f4f348a17266ebf6e0a35ba0d51032e1cf1dfc5271112bd56aea491970898b4906e18ea87e3a0847337a0620acc7c6c9154f68a1b8824812afb08aa42fdad2b6b1d92e55cd", 0xe5}, {&(0x7f0000004200)="e3a769d22ac3c7a58bd394cd7f700d734c7201571194a340d53d8a9b17e7e7ea44b2aec6626ebc8fc49971f33c2f49323d457799d9534d8845db671b0539ff722e61fadc7bcb3c9de791e9ec17d5407cacfb20fbcd2dfce4852e6d827647da39ee143a46bbd654e5812f5b7dd2ff05c3777970a66cfc69b6e7aa122bc97a074399fcdfbbf61e6be84033294b22afac69d698093ed1840f27f783e5a2f4e274f0a041aa78b6b18e99064700d45bb7b9d0aeef71839e34a9898badae3fe2fa15d82c59424b7c063c4871cd0cbf5c03747a98b6e1feb1ce96690654dba8f0b3f3d9a7102d6dd723347fe3edf32f68d82e8634fe4d6efe6c05f74b1188721f491ce5ce5e745d408d7fec96a288df87df2875ba1dfaf1d580aa93bb5998a2bc0efb8af237e4e8386978fa26d371c9c0ee953340828e51fc4d1db14121ac9928418c979f5866638b2157ce1dfe46a7cbcc47bf8441eee58382e98cc6f9d2baafaf16712ce8bc54a687323205d9dba65d2d8a064a3676b89cfdbb2a99bfcd29b3d637c7fbe9257d257ff35b5f1b34f8aa1f3f6614182d5c1708034edc5ebdf30907ed4a20083d46ff31c26cc57f6945f29585fb4639047d68c3f70b1ec3be0eaf9497651695793647e03c81d899d6ae8abcbfe3aad3900880b37d9d25724f3ba77a232afd8423b6b01ac506c62fc577cc3c261beb6fc872913dc24ea8167517178ec856746bec77239004a3f9ee8c1f23c2c95e9df1d52b7fd0d674dfdf43fb4573d6081815bed00107617ab1b7ab0ab4e8e465753c505472c3b27fdbb47cef03c835c8ad46a23b19c2163200aac2651c71533c472afd953d5ed708a84c54141c92ae2b66ee1418a84a28745f5bc7522abd2262e42d40cde84ac7076f9075f38e4418cfb8f8fcd826588d80c40ab30a59fc08740d7282fed073083836c7363a32a9916ec70ff4a92754a6ebe0c54ad4c94984994541030a74fc15489b3202e08dcccf7410807fbf53bda8793b7a41900db4570fdf863ce632b097242beac5a02992ff58df8a8e8626eb9cbed14fbd71eb53e3fac307c2f43abf41bd89abd1ba5a412cc65d96e77f231fd7c896a9ead0ced05e7745e5ef8baccc198f50a72d6f19399bf6b7df3d5232bc194742ec9fa0ffbaed6fbefa136f9f987068ce8c609cbda7c18c76a2aa2878a643966ccee4e5c7324f6ac7fab5a1a81fb96144891ce2ae3856229abc873d23bc4a6eab312bdbf34407694860e0e99953dee3cef7fe83612548159ac81679376044eedbe05a35e123785851474af8254309cea270a3db4be593a7cd73d50e1f284225377c6e0207796816afb6f4782b10e06ce4b280fa84dfbbb0820295aa92a62e1b2176d95f0d17d319aa86381bbd0fe8413908a3f467447c52f905036165250cf74060e36fbf68f814700de6a68e2a3a781c8e43c678d89d0303004dc226fd2c063cf3f1c44fdf3c73ff621350421b2af58c55b799646636740dbf1c366be94df2292656b72bd91c46c948e8bd05af593eba9127461a22e5ebf3e1b1c38a649e379794042cd8e3c3adfb3e143b663bf5ecace1e5fc739089c3d6b372d931acc2b24fd1a93fa57897f4136fe8070df931294eef2c714fca4d207e0631e2f0fbcd8f9a7902b26c458bbd51eb1d883deadf1fa357d05efe17eb259ff48364ba3c760a7865d6bf4c9f22dbd1ca09126cf731ea728b908b94b6a4cf05c3cf9dc2538540c8ab04aab7a7429fdec3cf7ef45aad9eac966967a326e68c12a65f5f734b90ac4cec12fcf16fb98ac57c03d4d56e5e42be769b161951d7c02464b70efa34151a3e67630c10fc72e345060bc1be3b45c7393ed37e911e544cf47e22670eea946670cde5c44ebc7516fb49a54ee7020d79ddeec77f492b31fcd058ce0fa9a26e2a8d7702129afd1da8f2b6d6ec83cb2128e3694e5e6d05aa2043e3bd385a3d048b9597b1b4cdd108cfa9c63f1ea54b3c135a7d40c278406f4fd450c21bc327417315ed8f2b2c3d3a0b1a9276d07a61639c1cfa16c0592dd20260fc13962f80804cee873c98904d82b32055952b83749eba93954884f8a3c1bc9759072ccfb666dc1b9e6784cf9c1fed2fe5ac68f0a1375337c62f65d0ffbcdd67f43c06df3848897e06cc4b8b1b7e37d35c9f84a27d1a321df0c75ee2841686fd9a8a23fd179395bf2c79a28f8268867619dce21fdba1facdbe61e7eccbadf4e5dbb09d67ed56673d129de1966438fed32d9adf76f62ccd6e13c24c09cb0f6e1bffab0b74f3f94ddac05d86e84240a20ab7fe5c3ae31a8ab8d03e7beb370120a83f78fde9afd15d1bd42d9e3ea978a98257340054853390e04d31161b0446158ec5fcaa07f33e653ab1346c9c95863897bc0ec8cb1d65fb053d34a94e11282dedcc5600341999fa302027eea41ddacd4175377ad1246c2d2ed484b0291a115867932ec7d84627ee8b3cd4edfd8f97d52c8061152601e0b4cb480fb64f1cbd9ef460c79d63bd31d2cd3a799bab5cbc0ec8857c7af1bf58ebe04f64ca6276411e2c57c15ac019879298f4af14fd0460e85106adf71b2e02062050b70e5834516d4a45b69f36a41b69a6d168198e2f6a8cb7b45aa5f7158b02fea77a41077cf04aa5328c0e2b06a378b98110b3bcc255d4ea1fd48079d236b7c475d676d8bf036507c1c5f99150fd58f21cdd4e785d1a4626b40036382f770b9cef53bebd92f66c28a4be42eae9eba35ec6117fd2911a415e3414e4ad156d1b5301307e97ce92579165cbb76a3947f373074fcea76bba1ae3c4b8d9cc56417c647e7f94f44e3e1eb1ffae92b8d5af02c4e089518131e9bb1ea6b1d4121459826bccff4d2d6cde6c26ee9b243d6874f6a15b743cf38928d8306a3141ffc6594dcde3fad3c97d5e1d0adc1cabfa710c46731de8f518e42a6273c18244ce5fd31b27e078a8b7bfc1f84259337dae810b1ea487d587aa78228052f7aea6416df85330d63739184b0cd280f4bb39dd3f9e0a08caf2055d86b4c4a744b72e8b4539c16881dff338d349536f7542d1980d67f6e43d1866f840457a7ee4a4e4d5324aca165403c91a26520022d75168238f96b51e3ad0e923f591ca99c284353917b65ab720131b4be2ff3541093f88d7a66247dbb08818c1d8709d0e90c2059b85c400c4b1833a05a88c63595cc1a1899eb45d51921dbd3d6cf8c176e5ff0218ec66904ff5f6a455c74678811b51b9c7507a9333a0389ce3b4a5762834b66642a3647933d504c24d1bb716a4876b665a98c18a6ef4d29ef0a44b9f924256edd0679e3a1af7cd110f293d91f5a2885b8bf64d5f58fccd76384f94ed78a36f597e8e35d766b43d24a4681616e11a9511647240c58da972e395d559d457fd6eadf9352b7f596d95557c9fa5e01b689e784813d8d2b51895ddf898bb9a591d6c5e009a1488469c4b709b49ae8fbf3484db89f09cf19c7f6d92f884b20ab57c7c487daf91955c987bd766134036fc25d1b03bdc8f70dbc8d3cfdda1b7ea54158ab95b0e5e26bcb22760d7c53d775ed489535599ddb61ca100fc9820efb3175993f9d100a9504ca550da5034d920653528eaeb0490c4576175c9356f09a4ac95fffece346ccd95631ed06a760b37dbf4ec219f8996d78183a3ab2e08359bda5c6037bc9c152609ed88c6ed2fc3fc9e40d40ec38069631aa3494f42f8e45b37a7769b70e579b82b574afbe217bbbbdb13c8acc1f385d632daf131aecd404781135c94d8bec00da9887d3b61f3f264b173a9691e057b9e9c4162ad39a60119a19ead6dd71c2e00b22ec14d9cb990fef38c9a1adf0bb8b90f1c23f6e8bdca01866ddac5498144ccc7d4b886dd055732fe70b55a881bb99a5f4f9dd95e1ad7e77ab4545df5759df8f2bbbb0ca226f4276097e722c6c3044264d41920a11d3fbb5c03b85e86a064f40b206b1a22ea20118a68c1b68968b5c78b1c8e73cfe1fe73e3ea6a6101a25e47e46a7cc1ab35a54baeeb1ed7a5317c477e1d7ce0a8da1319c79efa87a6638a5b8905bea954ba6b8ff79cfeead570f966b826abc633e5f039e29d43ecfb2910b95810489e178871657789613eecea78ac5864f42daf888de4ef92790a4f266cb9ac369d3e4c65e3e4ceed79b72d9a482f017b276de0ac9385a6076179d0bd3f96966a5372d67638f6bb2af93964247b86fc80a4f99c31a609a163e619a914e31f6e4d41c85effd4ac1b1b7f3f388946d17639b84e5b36daaf306c1daf90b49a1208f4a41a7803faf350192c9d70cd4753118798b4a55dc14e44cdf5e8bcda4b4bdeaf45b46a50acfff0e0de414f2291017478b2649fd4f4d68d07b13f651afd125f06f4f4870f17fb99b49aa63e91133a10b83959626320fa6138a479e5035839faa67e53a5e65272ed50f25020841aa7fd890157ca446e82e98a95cfeb7fc1450b0900fbfa0c06566e0b872ef08bee671acdda7d0e212d1dfb7687307358b70e1077345ea3babf69d8dcb41994e6feee3d50e2cc478200bd412e24355342c0521c8941149ca3a931c67b1625fa3a205a3adfb9956bbbd26f9e32c5691edddda7de477b871058ec821c6a0fa80c2feb15fa5f7eef959f4655bf78b058fdf896f05af37519424e9b8b23d9d63cb40c5337546aa2dec0791c9c91fd8704b99fcdf981d2d5356e355cb5dbdfe8d4f474935a6702a62e723551336ccaa528c393ef59d52dfe8f69f607f34643613a5a1fb55d61fde0520f5ff792afed11901bdc8a05f5ccc5db80578a8091485a6b3cea46bc0e13c62070e4a2ae75a6af78f0847825c768a32341eb55f8ebab411f37a1464c629a7dd0dcf980e940d96d89d14fd3d2d2968e86b3b46cdc08194e2c61efa0362b8c57dd38b7d38607d2635a7d1f4187f3fcf93787b211f8593f19faa64da97878c84f75fa8cdc8ccf0967114e0bf3786b827ed01edc2049f8ff71b1539689350cd2752b109e3cdc1596745ece79e8974c979ecb5578841442392fddf24627976b816155c6d5d442938453a6faf4a2e9a1a7dc7855f870d8c78a36eb283525ca7a26cc7166143ffd18c1f891e9d79401a8a8ca052d46e16d4fec0addb10a6566928e7b5ac644a5376064f3f2eef531bd51061758560a5247acdc8b825d622f9b8d8e806a3942a6ce4e873116458735246c53c830701de3928e54e8ff9b8285ed9e7acd43f836c1e3009ceaa73934b3a653568f04dff4f4199edb7fab1ae489e38b0bf0f1e9d3aecd14ad923430ba299adca9dffcc38b29c1d7f92284de97c63e10f553c47bf535fa82ef0e04796892b48279c44a8200e34b975738589d3c720e4645ff8df24cf91bc0802fe40a0ba59aac413118e5cf0714b9c9af0945cc6725e82f64e54d5636c543676f831fb2984421ad96fef870069abda9aa4de11b4edcc95b3d473327680f0b8cf355c905dd0411f5addcca53975b68286a04c1d5ec8e60269860a4739ca1e6004407d648fabf5907a8bda961cfc81036a1a7fe422c8628f4e4d8d272a6e34533e044212b5cb16e62c3eea095f781ae365c258bd9e29c2712823b66c251505d347dab928adb5b1a9d093639ff29082762d645c6ef9115a333a99e64d786a407b06b9a88a4e97faf50e67148745440166e18cf1e767637aea3c950e165399f678771130957bc8ea7b41995afd1ee20a5c40e46a5c0b5f44fff49a04302ea232404e009a7700f45a5d4cbb2415e2802350eac91d4aa41d026041e69d0b9560ee71c232c2886545b21e166eb975f4e90055c6216d0c82b100c7122908bd5fcd6a324bbf958d594b95e482c5b23547161", 0x1000}, {&(0x7f0000001340)="47eb533be9d78620be7b0630acf2dd87387da96c3926fff2edd82887dfdb15dd364dfde06541ba5d6e927ea4624d64dd9c9ca02bce2e056c39d1434b6e6e", 0x3e}, {&(0x7f0000001380)="7947f5d6d73ad42a03", 0x9}], 0x8, &(0x7f00000013c0)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00}}}], 0x20, 0x4000080}}, {{&(0x7f0000005280)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005680)=[{&(0x7f0000005300)="9232c9fdb83f770e30ba20b3ef43a2c748855e57539ae28b77d43a6dc5f7c8f44f860d958e445a0874f711cb71b5eebd906b487a5866094bdf042995381b88ffa3b0faed31549b5095c6b586f02c3cafc842dd4bfd441e7a0601e2f5f97a2e0809a102c4efc5655075a6e2e0cd5ad1801361dc7e637dad8ad0bca5916e21932d", 0x80}, {&(0x7f0000005380)="36cbe3daff5ed51ea81c7031e13e61485391ede72a089f068e821ae975a1e6cc05e5cf54688ae440430feecb474a98fde9e6420213d8b955de9918610cf8b1beb7eb7df52a6b4ca060395256fb62d1e80f574b07cc85179e", 0x58}, {&(0x7f0000005400)="fb38adab891ae9ae3bb1dd51bc231ee916a0816fe877b0b74a759153a1324ba848c00ec25207677fd6d7ff935f72509a646661d654f45969aed9", 0x3a}, {&(0x7f0000005440)="b5ab70f1d9236d11373af0c2f50db23afcbe1555fd71fb199770ea5ef812ab3111f579dc5194d531380c6e0a3cf47d68001bdc22396b3e389fd7b103eb37070e29da3043abc8976053c235f3c14456e2482e98e2b57a1daa5981", 0x5a}, {&(0x7f00000054c0)="6a0a55b3cfed00958f5a069c3457cdacd37100a77b9246980de5", 0x1a}, {&(0x7f0000005500)="1088afcb10167dd01fa53f8ed035f3956113ec49726fbfe491020699ce0f525a41f136cf757c9f929ff327a96068c614f74e733569442bdb6fbc86c7f109934ba5db3d56c7", 0x45}, {&(0x7f0000005580)="9b61d239a9bd3b4a40238ded4492a4ad472cd8bfe629338722d43ba4cb2ae4abfec42b7eb8bce65715f905d200e61fd6adf6ac9daa5ef33336addb443964a3bdbe08e0856b509be93041e8adfb223949bcb497a1696a3113c536b30cbd35822d5f52bc0fa0b11188ded4f4f0e22611497fe7f7a559102ae6ef89c5c9f3261e1f4e5db46b343bf0df4ebf33a657bbfd6c7df88c3127efb4eea4c06a957fc4a740f78d323c87b2399edc86e0127bd6c768bdaa9000d7d45f033da3acb0fc0638c20391e94807d2561de1601e75819607aa0d", 0xd1}], 0x7, &(0x7f0000005780)=[@rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0x40, 0x4080}}, {{&(0x7f00000057c0)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000005e00)=[{&(0x7f0000005840)="28d1be28df7f3837baee5d5c614a7029601828e49a9ef614b96ab26d7aa7e7f0fdc7ff4b79bd7445f562432b8353df4f771405c8e1536c4300d42bf81761c9d3546547911471b99140f5b9f86178a9bcc68959296676b883b4", 0x59}, {&(0x7f00000058c0)="2995598d289152010d666e5d561bf9435f29a5b09acd1dcf7b83bd95f4fe2e551e2323fcd4988c438dcb41450f3f653210e0cd0d7a972a19fd2215e53dfd2880a6aa0721cc982584aa7137eeb99705e2bfde682b742071d07396021dc9132952f5137c84d9fc7132642537faf8af618f221324116f5491308275449207aa7d27ea6de4ffd4704a29f240ac0a420c70697591b03c1eb49e9db3b7a6c19d579dcede4650f41359d39b84a1d9c69eee6f2d42b79a77cd5e3b0253baeff4bd82df", 0xbf}, {&(0x7f0000005980)="ef4b66b7e099d96c3a57e6f31370a8c5e80a7eea0b91f02704a11eb5486c5e0b75b38a1be02fad8c52316e7f8de8de6f77c2d826662eb1ea1fb03edda018eb95ae56970bc2becc2435c1643a2adb5b13c59b75d58c743a572322f5f785637572eedc63a68b5252a8e31051039edf67a702f7f1c47bb255d64b283cb598765df6d057d2438b51371c71739aa831637085f9c65573efe08217ee2f7aeabef497ad8229960a9f3578b38d8f4f059a", 0xad}, {&(0x7f0000005a40)="ef0365eb7847facde3e28af98735ee2550c7be205197684579d57c4fb2507e074e451e4af1e0319d4d7b78c4788c9dad458c560ce00606edca3fcd45f32fcdf606e25bf00a2ae57e04facd26754ef986791b96fd3a35b59f2a8c8cc0a2073c67d29485792c50263d6fb7f71a7510bed1f85336acdedda6afbec270dd41357b61e70012a9ffef698003974033fb2f8b07c8a094", 0x93}, {&(0x7f0000005b00)="aeea22d99e9c3a02625bbe0f6fc0ef5d5dc238ee2b17a7a5834203c36274210632af9c1884392208b655c165f0696f6ca6beece3e57cfbb640307a565d39558f240f688b1e", 0x45}, {&(0x7f0000005b80)="ee06b397e02b6cf1c8f0a0263225685af9ca132157a774fd47f175444b732e1d1d3c5d1df6b3da1bb93549818d7d5bb9ffaf90c39cf12f05133b13f221f02b9716bc32ca5ee8394eba7d2ab6d3a4cf58fa85281bdd43ce9c52688b06137da7376a05d8baadc7dc539c080a9353f798e9434a7ae0decd226f4f1c78fda92eb697611d98e970272dbcabf93231360ae88c742067a704cfa31e90d348b2c46884eba26e0d1707d54991944c715c190dab1f7ccb56fb5ae54583904346a186af603de6257e96ffd099a2009ddfdf5c7e032aaf52a725c65059c8c997191fe13f87506b6b4c82ad6d06122d3651bacdcda581142c084b81d0991df9f9", 0xfa}, {&(0x7f0000005c80)="7265da25b7f3537dc367077a43bfa669be0f998f9c5d4aa2a3ea3915fdb104605d01c36ebf6588f7e41caf546a136b3cd0d7a38f0c19c1c382062cc49c469a852c5dc26101a7828717a385dc5e634fa7ba66888ee613050ee93a716a2bf1c45f0408", 0x62}, {&(0x7f0000005d00)="4c7d8ecd2451b3409805f1d1713ee5ed2f6fc44cfd540729985a99eed3247c334ddfcc56141d3d33fe03f63064a4bdb1e45609c1bf950125cfae80e85a6694c26685f1f5b0d4bbdd4fc0763cf42199e7fb6423e8db4f7f5e8c3fa20c3c791683adb2eb65102a01953d14c8fbfe5ac36041159339054e422a2a6b9ffe853f9182e62c9ff2a07f06384f11395750452164bf832e8b4aacc2ecf8c1980f0320e3fc2d1af480c0039efc90308e5ea2f0e1ee5888eacc0915f29c1d5e42a3c171f44eaccc0b910047fb4decdd1b070384057282c8fd19ea4e5ef18398a45fd98ef85172092b33efadeab0802c1780e29df3dc5705bbdd", 0xf4}], 0x8, &(0x7f0000007780)=[@rights={{0x34, 0x1, 0x1, [r5, r5, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r2]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c}}, @cred={{0x1c}}], 0xa0, 0x6000010}}, {{&(0x7f0000007840)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000007c00)=[{&(0x7f00000078c0)="e13c379865c0dc16570878fdb3c3a443b24cfdf93000d7088e2b7d4628410e4ae21fcef46ed1a0760a755e9f35c29d1964c7d85c8aee5f80ba6f04161c4447307380f50582593fba618444ac39c4c7fd9000e640cc9e77b6f530021383ff7a437c0fa49fe24c55f496345dee0910004f9dfcab3216c955bf61aa6a170b407bd170149280972b161152ab29b85f9e982f644fb1", 0x93}, {&(0x7f0000007980)="d0062a967ce6cf5ddd6857494232f99823d5727d8ec3babce5925a3f987aaf46441eef64a67895adb4f5016a79ef09853667c42c5951e217c1e76654df2e194834f04cbc035a236af82865699cda15ae53161a", 0x53}, {&(0x7f0000007a00)="1031f790d6d84ee69fb447a22f000c36eabbcb11f6605fe6ef137341511f3d396d0edf35d3a9096d9c87af4b8a34592b6cfc2963c31905b9f27633db01cc291e8c2bde791722fb6cf2c609b7a80e4c4d36fb1d642034d061166291e497d9c884cbdcab605310980b8f36d4c71e80c261bd009bda639f83c43f59bbb1f1857e010c56f865172566d7edec8f80630ff337891015aee597fc9574877fbe6818d706fc582efbde76d31636377c9d121efdc93df93afcbd9ec1d815f10fd426a37144069c506736307656eeadf0882e1f019d490837c1fc6e", 0xd6}, {&(0x7f0000007b00)="d166273d68c70baedd61c4141d6e20667b66e1aaf53e4dc831cb7d3e7ac0439ab4c7043d1e8447ac07376fd563c864573497217973fc556049646f103bb2c1bdcb7d0cfbf601e0244518540aa82f865df99b4f3b468f36d6382b55ad72755582c948f95f2845f0e30223a3ae1b4457e6e359edd2284e765f2d31c4c90eaf705910dfce7650d872066491fbb47fc71b3990a3dbdbb7fd2ea055708d9d8ba8fdcc6c4c2bcf977d762561444d276098b3c5176249dc6fcba7421aa1db85e519d5a98e629af5c1ae28f927297975bdf38684d4083a2d6c2ef44b4488a27bd37c567076f1de2156", 0xe5}], 0x4, &(0x7f0000007d00)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c}}], 0x40, 0x4000000}}, {{0x0, 0x0, &(0x7f0000008f80)=[{&(0x7f0000007d40)="6c5600be047dd65c6abf71064860f49a2b8139510ee36ccc3a3e03fcf20dc1ec6052ac6b1751908fd2f1fbea559ce4ca7a287a53b8c4935c59be46f60126aa5de70d4587385c0e813f9d0b68ef91afe262fd8906f5bdff91b4d5308ffe818afce3769f6ac58d67b1e4ca42d3735c006a437682190cfc963d4444aae96b257c9f0b5ad24d8c514f92ece163", 0x8b}, {&(0x7f0000007e00)="09e8c658e3", 0x5}, {&(0x7f0000007e40)="d7aa53820d4e4856e7d2493fb2eea50319256cb5eab0ef65f5abd2bd71988410fb12b09c65d9023f57e9f24af0cf09baf389cc6d14c1be3dcddc32835d8f3c7c0223100be52c09f82ff7bee6ff4b7ae5f9759bd14118f0a15260aa4c93f1dff1491fd1da4aa9b7f7449012941c8db71c4532be2efef90bf79847936ddfc899c47bda3a78587edc83abe169f1cf2740a145c181b8862545154423ba7eafdbf8adfe1fa7a1ac3ff0a9e3557afc681e8508f264daf8a650f25a73470dffbb07ac55fb228115aef16ff1cf4a85113af7042718416cb10ef50847425e6bb06d8ced3b0a99bb955de24d73f8ead82abbd175a3698ad2677d3a8d69221e6806fdb119d18e870d44d22ebe8a47287f26e1f0cf43e8b5527d6b27f27d2bf32c0def4099cc335dd2cf3084419849f6b1203d5c3e9879df0c2fa9bd488f46cd2440037fb88ed1a11b48e14fc7805689e20f2cbccaa63a3d235f9e4da529c677b7f63e28a36f32755311f15a43ac073fabc4b82670f6d7c5403f7ffd6f29b3db3c66051bbb0a9fd0701737def3fca9755359acd6ac87ecf444ba141aa5a9c6651335487c01cbecd495b95098b4843220c882f1702c3a94ca06553e0db6bd836ef3e7b4154f3f2c7c03c6f622da1ee5df9e0dbebf8483b265e1f21cf751648bfbcbbe6249db70f3538070ad0102c934a2b0181b84de7dcadd8bb77fb37e323e7312537d74960800c349185e7e6137c70a2bad8d360d2752cd2518acc1bf6e6caa25092cd7aecfd59d8a830c6aa87d790e69cc77b4cd007e172814a3a4e042038c6d343a4958d4d6be23b71815e3c42e5127f68d90d00820bd827ec43855d0691de1c676a46ba2508ebf30ade7a38cfc10b66ae5e42bbc949e2a3ec1e1bf3958d9fd1d5c3d366c098861a518823cc612a6252d360fd6af936c3e84d9f61cc1d9dcf9b1e8e853aeabfd0029e71d12d5a1844b1380c361fa4187a6d6d1403906e5dd6d5c73d162755a65a551fff605fa4e960210746c319571ebaa01c0021a7366794c7ed65783ff5dedde3a71f87afd46f5ec9be6a3ea2131750b0695f21647ecee215ff31431dc9d727e38f6705c6287b86f7b71027d886cdbbbf06950d9d47fd409e6b5398c0849d4e2d40a1bb38eb8f1bb600131fec711414e997915b1ebdce4bed75964f0d89a39ac85f7f018d92cdcb72805afedc25fa926a1f1a57f05e3965725a7a7615e8f2d0155ac82c39df9e943c2b746e85357a30c2b58a064ce7f281da5aa7eb05f19666e5bc20279082f09fa3a799ad5b04b16b70b636011829336e729adee9da850afb41fd4a076734abcec266eb28e8decce5c9e768c47d94c587b893c2332936f9499973014ed414690a12582e4c83a3a9ba4254e6e1fb8d68bfd082b3076d165e102e2e0b4ffc3e9b9d2f85482de70f4a2a7f35417a241625a2a3517e76ed7f5c62e5b9e4a774968b57112d01f4ec5a6a4c8bd46ad2ddfd07aa02391c141a90470a2b213446fbeb31ee1c8a63abc3f6e2bc7fecb5b803e8a84af1eaadca2f11a91b1fc9a7bdee68e8dfcda5b37e2bbb626f02c397622564c3e2f349c9cb7ee85a9c2841f52dd460f0e44e55bb5ceb42bb546ae176cf02f471ff270996515bdf0e2271995011edddde9f4955a787f2f76427b11ffa2457c959d3d3484d26fac6f6fcdd02146253fd4bb2d75ba7df6bd65d32d79582a70e0902c8262cad954df1cacff0a86191944e903c2606d68e0c7319ad35a79f04d451a43aefe63b950d1c29c40bda78b35325ffcb9331702df0a3da365dcd8fc75d89fe26bbae1a830896df4cb8e1167ec43c6ad6dabf879e1af5f9c9d009cd8515d27d511e4e43295a92b4cf5c7b44ba77c76d38a1490c356b395af7262b42db7d638009cb7202a3a1a2c4d6539f74559c633761f95c195fdd366269747efb1c3cbd5afedf0ee8d137f2e355fe79c95d8aa0ebbbaa0371a2424c941992bd5f9275c1b19f5fa1ee8be18890e8950cacafba9200380f3a1982c26fe3f7ba02e47edfac29cc04df94b50196823c77302177c71584cc543e37294ce559510be76a14c08d62ce0d51c1cdc86ea6729dafb1bc76ac9d4ef39a9b22cab8328d757aaeae8986d07a96cdf1ec7f92ea0f5955df2f87d4e147e2799386a9ce77aa8a41eb80ec96947256622b4aa30b9f2c33a7c4f6fc0958b08d96d70351d58ca93411b5941399c4137aacf2b0d5144f833ce14891997eec8fa93c8ac6cd044d0714436d3047e0773dbb6450694bc9497915216b3f0a0900af9f139fe9a2ebcd340ba509987bc205eac377d2f6cf39a9581359166fb2b8046c2bd103d53ba23f6f2a594ca75a925aedf4b6279c329956cf3ad6f45b7da7afce19c34db272c44500d55ac4a09852dd0212ad0438947b8b03b161c0c2d7b87bf771c84dc060740595001e9256dc8b0878162df9b601978171a301153e75c171b113c8aebd1073c31154047ec4a0f89bc44899fbf6f1d8eaa416d59c8c7c682629c03e55e4d3e3ba9b1f538a26e8e1a8b4903fa08e5d90cb54acaea44f8e28496bce0e319711004e76b1b64ed2f00ec17eed2b2c15052c957d4195b349d2b3c5ea2a513aff23feb1753acbe62ce34da9cc75d4d197e2f6d858e19cf6c06647ac0a6f2b92411d260fa746a4f8c8c9083fbc5da996a880823886252223cdc4d6a8e0aa5b15edecc8f38951e0ee2c42200912aa6f0a5e77e0619bea6f03c46eb7db0c36f0eb92c58d807cea8da271bf0db17b401c66ef6547aa989049a05113dfc4d66e2c0ce17f06d4ff72ac8dfd7032b74af65a9985c343c9f40ec96c2cf7c846a28b97c04bf2a5a1242f02938b002760d15302548045a16c581e00a42956b1209afe621cce66e5d094a6fb447c38a6243b0964e3678b662031db40db514c7dbe0cf2c758ed73a6f1c73c06b374cce0e656cd9fdbfa05c772dc267362c58f8d4dc519885df6dd37aa0af7f0344cd0a32e5cb82c4dba920dfe1adb19fb7e01d4959c46096b7b665a91529acd1dd356faba027c8a76455cbc52334f1b9bf4c211c8bd4334bcf87e1d3b6ca7dab6375788fa139dad0beb023c4c306aaa7277ab2ebfb24f3535c752b4f785df57af5ba4e5f58660876a375c1f06a59e55ccbc8abfad409ed00619cb227bb64da9d22c1319ba885e3112cc1b285ef858991c30b5849ee32bfa3fc527f2b2f44d4b60c6cf52b63b58b32402d55974ebfb235e1132bff58a9490c4d7548ab231a2d2b13c7c33b33348029ab149e1e9820667ce2c24b49d95f3573553db80fb20506d97b7dc44e5c43aec8d6a84f51894d8514539464ea20a2f6c4cec7dc8d8d6d0953813be1b51965f157f4fdfc7dbb0e0847cb0a4f6ccfe9b0e01219e5ca91d7e6530d45fba8925cbe687b90c21bf4df14f0cac0ba0667800ae1187459b2303f99dee8bf39390b5e86f49b215038a7cf25b1498eb2d732474c8ac3fe9c3a1870c50d765b554fb259720dd18ce2b0dd912d618059340f054b1f2d8775d6bb65d4a972e85b4ba7c0afa258896abf3a8a0d8616796f2cbfa64e3642f0f951ea1b0d936c55e60be9739422658a7b5999e9d63511fdf8e9a5eed3c4445f99065c66f799d950d1ef42b35a6fb802a1eff23528b5333c50c410a215f44e419b81ed16c3e84654e5eebff83f08cdcf8a7958509f9cc9a9f7022f7715c0b288010361947976bec4560b71ff50c73fc829dea10e6e774be9ec4deb64ff86bd3e635a05c72bc34f0b556d921c6638e659c87ce9e745e49b68d420db77bed24d40b5ffdf8fb54b4c3d99cf1f72407eca8174ec86749876c537e194158ba3e366626e9bf1e726d36a7e54c198a3b40b2734e3dd7de7c90f7ced93a4ae1412ef29c33735f8da89630b97f004d536cef28482523afaf0568d68be0a78d77bf3fb72df6a3d760407b8e98cf2fecdf8801ef5f213be15f1c5b4bae608d1070e67e77fdab6cad1f7de502acb4b57420bf74967ba208a70b64c5365a1fcccc34ba15bd154b5c8aa560fc5d7f56dec6c9585272110f3217172a054ab51ac2fdcf2b8e3051f4fb5a89d2556a8359e2365e4024801dfdd98512147ae58d1f055631a495c14b411d501bc3c998b13ac28801fe52931d1dc81f3262ea7a512569e47f151d98e2412d82feeee1f60192c237d1f2686a8f68f07892c14c99ee0a183efc168054c925e027af47eebf7001896ae7b7cfbd8635eec57fff06e9e75cec0918153951d411aae6f55ce1d1dc1e93c360ad37b6bb9865229d8ee7a2dcc51f66c5641b00bf8dc056b3989357628f844833502e8969430a3e4462ab902783fc93015450ae2f38e4dd685b6d32b163b5884608075b80bbd66a8632440d184005b5d8e2b24d1dc90dcef455fbe3cc0eda38c73eef9e53b14ef53b7dc263f47212d92baccc8171a62de3c7e060caa915d95a271141d6d8178e89e7fd23653a11e441139a947a79ae639ff48ba21ff29c13209be8a015eb5a4030a2a7170d5dbd7bccb9614346acd53ca98b60e74fb8b01169786fa1fa9189e6a28ce8ab7c8581b5b9b92dfd80eaaf9f19c02a2d28ef4eb13833f89a8ce7670ff11e86ccad4e44d04fbae013a393bbe64b482c24079f4e260ddf7ba3aeee6be0396b43a6985f2e2c5b4f5dc20bb21b965e1de233ab7c69b7069acd40c3280e4637a04af4e6c58bc0dcf2619684b0530228a0b1995375639d76ce5206c3fc6d10c359f9533c1bebbea6c974fa938ef41b64132c630d7c188d5912b80afa724178bcc46d3c77c4639c41f806e61d950788bf45a70c6b23246ef2613d9c2ba2bd877cf0233c0f2b36364a40a5994f8234c4adf7dcffd019ff8615009821002c82557ef4b9c1fc2fcf5847eaa195b56137e4e591aef496542c8445251bd35455eeec43d380bbac5a8badd084f69003ef8cd47074d2433ed677b81409edbe1b8ec434b12e3b1faa47e4a4f2ecc9c9d5cdf4b72bc4e81f7dd800dce23e1d7330c15bdb18ae22a6852d09229522fd1485f00beedf284d49a82b2165fe4da7c85164b294291f5a8c11a59498a32d2b2209e90825e57f8efa74f84ef6b894c21f1ccaaf187217b79b80a0517cb59c07a3eae5974406204bdb3f4aafaf2f43f12bb63bf426b8e2facf4fc28b8f42cd3dc8ca8832983c4567b4aef758abcfa216805f50af35dd11f13723ff2fb76046b1ebbb64979aefd86d65ed72e0be7c4247f12a0b58af4ad04bda18102fa56ef7c2d54ed93a4159c4f09d8e0b0a082f86ca4ff966b03d10636402f9087705bff1f19d54fa73c2b434344b54c223e5d4e1d6cd781b7e16bc6da8378d40cab8dbae9e6837c9e254294cd04b12465b1530eb8cdfb5300e2569c2dbe56d3b53dd8653716420160df5568995726f454e62ab04c4e7b60fd6ae7bc7d3c9df29d0db2f2c4b38b30103dc54534c837b5066ccccabb7a80970f909446c3c2c48c9d89eb198a865a2c8a0ea60ae3bbf3aced66f4c313fb68246c5d0af59c6d42a6d76fafe7d160cedc1d24234ab16964bb979921a100df0e0c8ce6a38774a5e7a3ac835ae3138ab30a252c7e68eab44bc979c9685c24d85d818756af4e92b9971d9218787f14ceb802e16ccb27743494620ad88c82702bd478051e705b7016861f1a75c00267ce7d4f0ff6f82c77fdf361d776966ed9e1d400281f0c2d76043769af87e268a8b165facd01c0e995d78517cd6dfb963cfae84ba1f6158d30edc7ae1aea2ffd2814240fd14f3b708c7723999bf9902a236d5ba1ef241d8e73531dceaf31ef7a1a4d8d742d447134e0b12a056e1f4e50cda56b77735b50", 0x1000}, {&(0x7f0000008e40)="6db5ff569b996759d65fe2814ce2c8baa045996caccdf1be9370e93c9989354c0ec33f17b824955c5a68e35a4f8f", 0x2e}, {&(0x7f0000008e80)="f4bc3753896456771a055fb519f27384be0522cbf354217e9e8feb3d9c771cf46c93170ca60504565dfcad4df9e2a3bf51e0442229d66387b6f6c8b8b30b46ae4117840db791cf3277444dfafbd36930bd1bff045f5efcd457a188e3c7d7ba06fbaad66fe16a6cc388426cc7173fea3ce55d4d7a028c94971e79d71c9303d5db6674974b07e7ba521b85c2afc4a636598811245c77c391e77befb792649709ce784e9ce39ca127ab8f13a25672b1bb08aa09f6f8b043f8bc03de1a6860d3299f400d0c800ce6f1ce4455990a4bb8598636b0fbd9383650210a9db6ef1eaea853d3665365536762acd741381e79a01e8e", 0xf0}], 0x5, &(0x7f0000009000)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x4}}], 0x8, 0x10) (async) sendfile(r3, r6, 0x0, 0x1) (async) [ 316.450250][ T27] audit: type=1800 audit(1659562575.545:14): pid=4868 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1181 res=0 errno=0 [ 316.474406][ T27] audit: type=1804 audit(1659562575.575:15): pid=4868 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir3004073123/syzkaller.WqAN9U/37/file0" dev="sda1" ino=1181 res=1 errno=0 21:36:15 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x7c8673f943f4c29f, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$TIOCSPGRP(0xffffffffffffffff, 0x5410, &(0x7f0000000000)=r0) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(0x0, 0x2, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000040)=0x7) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) setuid(0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000004b64ffec850000006d000000850000000e00000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r5 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r6 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000009040)=[{{&(0x7f00000002c0)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000000100)=[{&(0x7f0000000340)="b522e80d604503df86e169fd74d95e0085cede348d954718e665b4fd1448d847d6250d5ad1a1f8492c14f3211b72e7a5410ff3dce73be8822cad97650c895ad65e176fdb6e6fc8a8086b279a5e27b5489096876006cac6cc9c1350179f8a76830d7ea8374875dcbaf0e90f2dfcfd0266adcb12832ef684e69ae3286dfd252a09cbf74047e59ddd5e279b60696809281c22953620cc05acb3209c41c9e74e7271c836d5a241a718b6ae16", 0xaa}], 0x1, &(0x7f0000000440)=[@rights={{0x14, 0x1, 0x1, [r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, r4, r5, r3, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x40, 0x4}}, {{0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000002200)="002ed3248c749f217e535fe9d2d7f7cbbf86b709e808c23bda867d1bcf79c8f6d8567d5f22f109ca5c1433298f1690128b30c319fa5295457f4c7304db4479b2acce86cdcee597ebef48ba2797d0bac5504d29800b3263225bafdf820c608ba9519ecc554bbbec394f9af81dd2aa887ad0fb5349927d13fd8aaff6e71b8d9feb5330523e33f0546bc6d745b79b7bf59ee522afbcc36436553c27f00139942abacb6e1a0589b3da169cea7e336a4bacad74f9371f4b9851efb4925b430bb79949e00656b78829cbe19f2a5780a06261dc8dcf82cbdfc1ab9deac8a7deb084e87af222460759f54a9acc90dc8f5e9b9759fcc799e7f7276a5b6dabc9be5e716bef2617a973174676adf0c196a0b3245fa03ab9bda37ebffb650ee30c3adb80ef8b9312ee98f493f472413501bdef72b7c59b20cb2678812806e73098680edae53add2b6a25df59db13dcc89270751adb0880ec6d5a8358ff04200501b5e0a5f301d2a15b38deef145f6e23bc6deb020fe02d63fc496352629add08506487c631d26a06fd1f044aa887dc605b9362416e3f1064a3f67fc551b2969c0404e889942adabbe9827737b7febdcf2006bcbe67db7f70b45f6bc83d5a16f56313057abb77455718ed24b93313af88d6979a26a50cace7c0680511487eb7c915909af38cfda56984f2bbcf46fbfcafc5b8178a6ec461f43776ab4edd48cae0a29629509ca92046845c65e9f669cf6695dd7f67a0080eba5d442ba7bcdf3299b294e216ff89e58bdc7dcb46221f07070e2e26223a3ae39b60a98c43d6b99984bafc1991ddf1b9ba2db9b9e247d756ed847e94a11ce281cd1c4a729c22bb3b2a16870ab9a3dc375311f9cf227a7d587fefd38dd770b38889ab4441a02aefe6eb3e8ce6b3f8e836abc31f3b6c1dbeaf1032e07a17d8bc022e20f772998f27d34f6537d7dcf31b0e973171db16b041fb51c49cd5a24fe477043cf5b4db5a13ad9c522d674867b87a4bc6001b58018df50f1235bd8ef48b7299a1ab6b37b6bdc2a66ff1253a11f93cfe26f3595a7d0f56fc81b00c8f91721f54264757f2258323edb1ff4d414439337bf9c02986647a3348130de2d6fd11a25765d0f5b6d9aafb2aaaa09519b1810f6572e66ef6885c098a1a53f644f38c586756bc3f77e40de8aee6beb20e9c2d5c2aa3b99fd6dda24976141998b1ebd9b853a124e1243eb58220abe2ef009043f92a403490e849137dd2cacaac6a5add95f4f78fb9ca87886064b9ca537c6203c576229fd736136c24e7a92efe9e79930801d13ba0637305ef487940ba6052b5e86d5300514eac6bef65bfda51b2e473087bf2b5c9da1bd047fc06a541c8a42186d33d1be5c93bc8366a0a3d2f7628951c77952a537df3de96457399fbee605f9270b9a5f513bf931e1e39d2329479225ee0f5a6b8aa0c14ac5a01693aa1ba6c2d09d79e7e0ff0e25343f36dbeb51cc4aae7db658967e07b6f975b19879d4d4369ba458a8928c98933d1c245c73b255d69cfcd77f7b7753f261f1ab446834299f6dc5a128b8672e0bcae66fd4921d3fd2193a04f077d1fa883eb0c3d69355a0c1f3daf070ed88d0e1c18fe2a4a90099ffe576f6cdb4dc87cac2f66ace1abf340697272c3d6dbea8e906f93dfec8eb6469f2620aee3adefacf1dfe4c3c0dc90334e35bb8a1ee83ac9f274c60ee2d643d38304b7c59c730ae89506edc994f58f1bc71975c1d74458735036d0947cb17b2caa31177ebc10b921b475f6f0f1275e5e40df96d197703ca2efc925eeb1d3ab638db2682c3f843b92e2835510ae25af88b99051d0bd69ec086571f6d60c898631706afe8b7ad9229e7fa5705ab6256d971070e7f7bd8af4d58a82cc19a77b29c0dd0b66b1c140e68c2fa2c3e77fd835625b90c327d274c6cb3ca7cf2743d8f562ee1c23b104b00995cd6daeb43e8d5a06791a54c9d56cf853f196f9ef146647fc63850da5bee7838938c6b99343fb121804703ddd6263aad206c6835df1d4384ba7c02eb23abae8d23d772e46ee89bb127043dfc085c150382205f87d74abb64886ef599daf5c9dbdea9e57b50f731a3cfec33948aee68687ba5fd09a33efd22510bea92e8c5ecdb9d809012310dfb541a3ccd1efb4cf7cde085ea4f58f6bbb6660111b36340a752cea6809e04f038993d0e0b2ba7becf02bf8a25ea6c39299b804ac451babd83a33046c16389fb0aa0c04ad85e455b5a1590889e2a0d0deba8a0ea59b3a75b0698a1bfd1cc80708dabc3196b05bc580d304aa6974f67cf9fb934251367cd2df8973253e110ac8fe44236bc5baa2c1f4935cd9c1db6c695b5204ed5580dd31b6e768ea4caf808c62aab0b7a90f96cd8771b65bfb0c80cf69597be8d2e83494d7a3d1f1217bc9e0336e2e2802d2ba38ad9aa480a4747767c187dca51092e73ea569d3242f4362b3ceb7d58536f768753c6bbad6e8c9a146181218936e301496776233b7200cb145272f3b9782817f0a76ed5d286be9eeb1c6255467c47bb49da47c6dbded2264d11f9e099c1c9c391f6fd467a0b077ecb692d70c9888a64f2e85d48631e66cf29b53ae60d17a6d1c5f034c8a6ad40093e91bdd553d1c2c41f40fd656cffe7ad4c82f3cfb69a47632aab153585341ecce9bb26b676f9ac3f0e00013b687007a231c2b81b4239421f3e5bee7eee41c151d934e2fb58d6a51357be39212024a1b9192d7f36275d54c3d68258c71eab76657fcb62287bb1d5ad1d7b314a0591ee38b5904ccb40bacfabaa95ba3e079c148bea2d6955c4b4cb4d66b424368122f58b305c2c800f7fada685436f95a6a1e1e57c8facb1b5b93dbb54ff9c5a3818f7b0d9d58311788d04c9278414969fa3a7efd867e73d6fbc634bc39f3482ad457b2d7776dd9959847840175eddd9f73b66b960f876824f9f6b94b96bd2dbe06f766865fd1cfd6d0d1d15436b50d8ee50280a0e16e78be1e7aa9f97b2cbd25946bf810729e5c80220e0be01170eddfb473f3093f83959c0c85dbab3c1fdd3dc15d213bd125453c4821553edcd02b0b58e5a73eb6b5e3866068afcdcc20f2ec5afb54b4ce3d5a3463134ea7ea1d3c9a9ce4eaec6f4c610107110fc1eed1b0a76f067f6d5fd672541e6c792052aab7bf0ace155f8454970f064228cc9932cec91e8acb10bce6f9012106ee75cbfe9f1d29ed9bc10f57c7b55677d70b1e3b9ee4a71a9eabb973ab83c56b29a83dc0b0209f8d0f4b76f6d31aea7005e16a1c123a8a75045e31f4ad9bd9ce806d69d497c9cf49ce1999ff497fa52a2ec2a6dfc102ceb6181e65c75dee5af15e2f88017704a6cf98ac9e72e9634400e667cb98e9c5aff2b4c6c710aa0f41a0fab36f688ae5917d59aad797f3c4449dc2a8858ddeaacdd6d7c529dd8d32b8a9befb1b11877dee3849d8cea931dec4ee7183c4b0565df2c4d842916415b500ce840fd119aa5cc15a8e3ecfab9298508f5442b6c0740b9916b9b21bab48cba67e43ba73412a04e95bd41b20cb3ee1eee15c592065603fbf84f1318a0609bba327350e8b8020b3e533a85e5fec9b876b723b6a585d11a167447f2e9902b93d8ba2b53f30aaad899b0d729a62dcfa67a01f3c005b5261093f8218695043abdfc6e42aae3c0dfc8bfcd234a634c751f8e78da4ebafad3caaf827fcd4dc61004179809382f99f3a2c20ed0ee11931e3b88135a6ad284ea5f99322dc3604d089713390935ea91502e4002df03a443ae7a6d5765c33a6b8935f3c4355d117b02c8b0bc99f3896622c5261386de74c9101872872f554b848cf8d7455bea9a99d8001af9643a739d13f3c5f7264bab109233430a9c8ff3b8e3e3ec7b96b00dd2c2cb5a65c7065b3a3a0297f8c20f836b0485450822a80da517feb610a97a641660787034320392a4c71b82566c2a7e66e8c6a2352f5022e7d6d7baf3ae8769cb921ff9aba19268895f8ad865130ee7afa03c14e9a64a410e1521c8f1b7bd171d43018d31a3f8eab13116bd754e19dbde852b121eeb1c4e10bd61b16c7e3f18d2ec872ffd6026fea4eca669894e90b2ba31756b8508bb2be9783e147bf99c854c4b4a823abdde36ed86f4486a36d532cd8ea74e13971fd7abb508c59048c212ff2d5c07455e3c5083e8162a90b5deed0612fd1b63a8c45175764fb087957d3aeaa805b7886a17d56304c765d0d025d1b9200c40295fe0f402297ee2e13382bca5b1865d42a5c3768c674d0bc21644297d0f170526904f5f3924e6d00565149d6c3e301fe0e7d459162ce6e24abe366507244cc7575c7e4e981a9637dfda9530cfc248d38a861c61bd9d92ed63d78b8222f51728eeffdcfe6fca191c43f044c9ac2c6a93f9155d7e63be53b7864379b9db0b61ffa307460f40b52d1efc9866ca4c7a3f6d957fd3c4502bfbc4ebe2642de29b534e53b405acdfcef31ab17c2820ee4e0a2f86e90bc5d6b211fefb95afba44f2b54c860ab3935d0e2aec79f0cbe96d8b8b0580ce8ae0b76464c5f8eabc0e880ebbd4e1841937245e87a8aa5df3950d0a2a8514abd85e5518485e9175a7004916301911f34cacbfc29e0983943062ea504345595f3a7244206971c1f4e7d66b201eedb305e03effc26b11311f27bf2c35cfd3af1a29a5820e4afa66d3d9edbd74b0b74f363358e61f043c4e3558d04d074f362b91d00b628be09d5e1b75b5d2f30543600a89d555a17a1e8413d56e54ee4f8cefe55b1728725201ee4383afde317162c6a12302866274746100b7802a437ba621a699fac66c47838b2706ddb3131c748ce592bb9b27e6ef73734c3fcff2850eefe61c8f0c6a97683dc053d7d11a62e3d5c12a19daf88b03b6a8accd0d567ff6f07ef564c473bb903a83dcaa6e989da9f09d1c9bae2915c14428038efb0f3ea9350882ce23cab800f74b10bdc67265af9ddfc7c1d6933cb4482dfaf35b83a86ac6f02a3a33a41af84068c70df1819e66ec7936e6275cf609ca8407e6f3c737544bff66641715fcfbd7100c2dc21951338c637baf2bd1ced28fd40ec485b33c3911670ba65dbd74d51c64070200595778960c85d224d17ed1d0e0c82b67595057f93381164c92ad3c34d84d526d6be3762d2f44843c1f42576702e0efee0e41525a9afa492f7d44bf32a765ceb4671ad2f2aff532056c94175e2067c69ffbe6a6faa95750493e154ab70ef57f34e71b63febce48c591586eb58728a00043bbe6c09234f8dc83eb00157206287c86f46230e368e4629f192b838915e19149df63319c4616cc799fe01b3a855e62a4e5d825d4aa5528d26e5697d1f6bff0bc091fc9899959e83e8823849f7d84fe610d02e758a8387385e9084f91c4234897c872f356759fe5a9c12eee476929fe5af9c18e855269ab2aebea759caa50937fcae75df54b1d0c76420505836d457dab5cc5e2c6e03cb68fbb708695cc6e15243aeb0c7c07eda029e4340c6b8b7335b8647035dd96280d8b7b3de5b5c8769983d3f929046d4c6928709a93b40e0ae649eb580989df3e06823a982e48b77b2d6039d3664c2ab57cdf609f222d3d63ac9a54f46a1748eacf1c35ca96e9c6d4a5d7463fb5959c41cfeab17653edc22583185ae750d3c25c5e03ca321121eb08ccb341577d9a82154a261751def3f7f012c31028318bc700c94ae7961850fe825e8af5d3d6869d9a1bd248f2329d0f74d196eb467cdb2a370870efc48d0f6b4d5966617c0ad6aef580ae3fedb18c5b6a0cd272677cc4202f817706d5716f8058daf1458d1217b234a557abfa5e26a787b8b9d9c3c4597269863f418788e433a3fdb83209", 0x1000}, {&(0x7f0000000480)="8477f73f40761305ac872e0aa8b2a0eb6a636f8980dc4de9fbafa92ea82f2c44d8996d5a38afe678a5982e960bbf61be5f0a85169998d3a057651a0d7d6e79434519ddd08c5e6fb8d780c2d7c3342faa4d0294cc7dae2fb0f4d941a0d487a329adb3f9f0f8171abfed", 0x69}, {&(0x7f0000000500)="a812a9dee002c41028e782fcc00568", 0xf}, {&(0x7f0000000540)="00775553334ebd5c887ed74e3d6071817ceda36b14688d33e47061f0d02d7fd2c701cc94aa9f930607a7f1d0cf4034bfa5ce632c7440fd795b3d10b78d7cacd9b0d306baf47105369437e7d44dc8916072bb119499dac277c66dedb4eb35a304c2daeca921572110f7cee2fdbfc96a62bd6cda0614ad43cc54e69744c1d9a24d5eb25aa80f62c526056931040bba1a61dc", 0x91}, {&(0x7f0000000600)="61ff8ed13b364e444fa1", 0xa}, {&(0x7f0000000640)="3fd014249e78c84676e855a86bbd2e8295ef028457cfd459370b246316f3010b7ecad54c8b1b1d", 0x27}, {&(0x7f0000000680)="03c2dff0434fb6fad4d54e56212bddcefbbbade43f3b1d4b76e7c8d8e83a", 0x1e}, {&(0x7f00000006c0)="3db2d5b21ecb36382e37d6aee09158707e5d39ad7ff64709725ea3dcf68ce20af1c03709703e7dd78ecb7c061303ab378811c7bdac316a82ccb48abb71481dfb45c598971bb1d1e9ca75357dcddc4cc9170ff6ca5ce69e4eddea94eb3b80c0281274cd7f9c0c320985268227229d039b16a4452ce2870538acebb8b66eb67fb0c413672fcbc2a33790b76f710f792c6df293a0f1005888ac4e06e0e0dbc9b72e2f08557e7796bbca97d3f0d491", 0xad}], 0x8, &(0x7f00000008c0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, 0xee00}}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0xa8, 0x10}}, {{0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000980)="e4455000257293b9a9587447ed4f07379542b86d5b74be921093d348f25c1ea9ec6dd281a4a23c45fff312348372594c97c0a38b3ffbdd46f7bfc89d01cc1d9cbc5f40e5faa7db20cb268233b1059a052d66e6d4", 0x54}, {&(0x7f0000000a00)="9d8b56f0d7a09f7a5bcbfe818ec7343e1429b97ce1f54eca8d3559dc177b60e7c11b243eb729463f61fbbb7fa2f666168006d98f44c83b6254a762a0831b779be43ba4f3701323c99920bbbccef1c1999d01b3ab0ceffed399df30d4281268141c87d4edd564334effc4b425463587507f1c8c9eee63cf", 0x77}, {&(0x7f0000000a80)="95edd7c7b6958667bc9174499f3cbbd0ca7cd9297c3f8bb5b5ea256f92c1aa3556845b3175d861a82d440aae3144df1c822c66e4ee666e69089c2d738aaedbe171c11b47393125c15592d7acb21983", 0x4f}, {&(0x7f0000000b00)="e1f4c3fce9c5d7598a2bc0d8b0a6ecbb04f16235940bf568c11cd39b0aa615b5c4cfbd23f10139c3d4caec6b41679a6010", 0x31}, {&(0x7f0000000b40)="a3fc1691750711884304c5bd86de3a2f8eeed2272b5724b093df4698f9edc88f054429ab970962112b1f7154de88f46ed8355c039fdf325515792d0acadef30a670bf4975df787db7062c5b3a5a52c72df130efb5c2be73a1177cf0b6b5e06672ce918f7904fc9252cb108e7edfc394006f4ef", 0x73}, {&(0x7f0000000bc0)="b0185f6f72418f", 0x7}, {&(0x7f0000000c00)="71d19b29b623beaf03f43c2b0e638f97aced7559a32def8bad873be5f5d0ad7d35cd944470c7655adbf6b67da857555e1f5edbde14dbb7659ec7950d40b60d6605d0282205b228b7ac71de47e9645c39dcccaeebbc5be3e1f4ee2892ebba70900ea1a45d1f283b2aac6bf59c12040b4dc13da388a2b9", 0x76}, {&(0x7f0000000c80)="433096843973dac6bdce5183b74e404f87b89b8583350b1dfb705d7ec50e491e85bc3218fa9ccc4022c21b", 0x2b}, {&(0x7f0000000cc0)="cd9c01b2c83c9c290d8ff9565d2f0a63aea8ebc3fd93d9653b6697fef9046cfcce1175b9120571ba14d58e8e284863928c08d7499936c81ccafd3503e59bfca6430610f95dd2a09d1a91e566f9edde1a575a858e20634ee3fb5c2a32a661954711131bee1437f533b57c4a60e0f2f18613566694c047", 0x76}, {&(0x7f0000000d40)="d250e1e66dc6f688ab68440ad6b76a4b7fe978a0336f9bff390bcade90116b72e6f34cb142482ab72952ecdc42c8078c83916e1786d56ef507415eb60e9ff9e2a1985e22355c979eb1be6b02bb68fafb46c48bcacdb2e9e66002ef50ce87dd6df6ef81ae37d3fe7f4bae6f977a739fe244ce5a", 0x73}], 0xa, &(0x7f0000000f40)=[@rights={{0x34, 0x1, 0x1, [r6, r3, 0xffffffffffffffff, r6, r6, r6, r1, 0xffffffffffffffff, r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x60, 0x4004}}, {{&(0x7f0000000fc0)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000005200)=[{&(0x7f0000001040)="25adc37deaf18dfb14bb72f11216240c552ebceef6712b6e05d9ea8a9afac4276fca9fc93544cf1483039704b1fc1efd947d5145fff969618b5cf396b4dd7843619758c20db067c38c", 0x49}, {&(0x7f00000010c0)="bba78018aade8ddd3b74b5a97cb8862d2441274346e1e06dc7c433655b22faf6ca5eef10b09f32f39a45b7326631178533f60c1fc35337c09499fc669c8f115a41db1a71303ba11712dcb1315b2bf5daa530861f6b78cc8e2efceb0fe90a164d796b8a2b93d738bbb7d045371c2891f3158009f40775b70cc90b7489777367f2f5a8ce0cbf2dd793a2e045fa45253f561efde942ea3d3d1e995b2609cd51881147b7fa6f70a5256b9fe03c5fc76c9a1145dba5ebe96cab0a6f0ce9174e57308c255eabb44e660e4f24182ab9c42b80f845c38a2d72a237f64433fcec572548a70c9ad90fccb03bd31b9d5b02", 0xec}, {&(0x7f00000011c0)="2d2a2c60d9844bb14d1b4e70be59eb12e9e8db02050374ce9e2cd1684f551ed3d82c5909af651940e6ca640dc61493fb1636ab31dfec7d6e79135ef9c128e2616433896e656a70f3eb41", 0x4a}, {&(0x7f0000003200)="d0fec79e5410c360ae5f3bd4eec57981e0e8fe55c4b957e44b09d735905e5dfb797359c332cbd745d5394b82d9b8c0d58bd96f3dbf18ad9714e9804d5bdcc03c41bc91514ca83374614a47e1c485e93b0f813acbcd20f129a237175f2319cb8a883bc7b60cdb082483fad4a7b88feaa2d92b6beee43c9101a1aa4079db8b9fc05b5d4fcd60e663c1941ac2697c65e77a2291f945fb4270cc21e542d8994e38bcafbd87b553594f5ebc82d53d2a7f22a49b811bde3cc669edbca3d0e676b2527b19c99661edcb4e10727560ee130896aff6d5a707c35d2528b2c7f1b88fb9cd7c0bc70fe5ef51655fdd21083658f5d3139ffe1d9611fad3a1a98c47a3bee2727cc5bfe71261528703e2bbb5f2e5ab43ff30c3947c7ccc5424f70622488556880689bbd5b9fd44d202c3d9e613aa4508d9b400a17e055a0e1d26b6a612460d1d1bf885d03a9caf285d3746dd1a93130f266e5841c54758c8f7c8980bdc7ac0ec85cb20db7ba7e7922164434f2a3cd54b26b57e156ce692fb739c508803a4a49fd4acf079e5596f6725d8d966f84920c2bce8ed51654e6ada6a364c268c74f0ee5fee8984eeeec94e2ff9f978e5b9df487de2ee14a5b33c9c399cfaa06f995088f0f5239262953735d992e20f70c7b31119e8b3dbdc3d92b6387c1d7fcffafc1fe4072761cc666f12738fc01615d1ba7292a88cbf54a9797fd80215184c6a54e12b38e7a52a30ea0a9f51e55f634019e5102f0fec123fc22c0b4f9308d04155699ceb42ad7c587fd25799c5a54e1aeda6dd245c93021207f3371b04bfb178b80b1c6db016d7293639fb9b952fb97140ce45fd5aea04c40a1492cd2a321ffc07e7df2435f796d50bb97657036cf9a1f442cc6ec976a034feccdd2a3b78df8899d1c4990f424837bdd7d0ade7d262bb64792aad1c2e39fd07077c0f5927c2d40a5d0378793e9e0d82df3cb57e2eea115d2cfde02854510fdff2f06710599cfe8469d1b8aaa52081bc601f3370a159ff83f2621b6012779f2738d684d35ceafb66736d7737813cc3a0534b523f87fb34e2774176016c5c0fd73b3358d199b0640976224f304212aef8d83c5bd85242cb8df97dac53c5e2f099d7c64322ccd6159395fed9c571dadd8dd29e80af811cd9d8056072924a71da7da7841f8a7e3507e76ab2a5344183547866d059233b17a64bcbab1a8a4627d2fdd7e387e239ee9ce4bd9304e56c4b574b0ef74e831d17ca400617a3b9b273622a2fb17d794cf1502afacc88448373e506008fb7114e2224917385c43b8e47a246dbfe8753fa196fd87f72b07e56cae825643ec3ed73bad5e430cb5cba3e86f6d579a7d4c05aa9abfee3f71ebca3fb38a1005633b63a957249aa1f4fce168cb37d30fc70bc7345fd9f579e5395456be6074d11b0eacba50bbe225b5ac99ccfa69d0a8a9878cbfbec234165cafaf05a265d07352dd1b7528fac87581164d6f64f4a327436fc47ec92547deea13fb65b1926736aa95292938927ac7db2b5a1ae6c94c54fbcff7f7c18f8bd0d87d35fb1e1ecf1364535a04fef7979133f6589ebfcd35169e5716fa56c88760393c0b47712dc9c29c9e7457a0782f4eca3f1f7ab0d83565d8a57545e6d34ddf25a51350bf33481c87622c766dff7081f281c47967bd93e1c9376c2c6da30ade036db12b87edc417694b60d6b593e1d7dcc9b821ad5fdb83268f50c70c1bdc3550154501491af4cd0ab41bafc9deeca52c1955cd8fa047f2b92ac95c32f430e442e92164e4a8b4edde4421f2ea977ca05bb81cf4372ee835d6ad7ada0b068c19bd49967aa5185dac009c663dd591821218d1e4bff39184e6e46866eb6d7f97e4002b68458b2af6a65e4d755476f84b6994fb3b6558352fcf73d053c8efafc9424b533f1644ec0e0188f43fbb45f8f39330ef3306f881c204908dfe50559669bc944817837e3d50fad4138b33b326505235758a2a510e9a3df4b96bd5b0d9c81ceb114cbd539e022d60d0c732d3772944f85a4c20f889ab9a053f558ce4e4aa9ad536a9f9b0fe1aa973fce8e6812a6dbc76b7c02e5b555bfc959cda4aa4f16d2226239e6d966e3f406b6860dd6b1c8d4670eb3c8b23ec161c94af7330a2698ba5296450842dffa94363ce1cfba54a2c9d27fbcd9b8952589d531df5b8e0629e97a83124cb769d72c474ade928384e0341e55131f5e7fcb2dae80636f0edb3c1040de311a84a13a6f8224801ce0008118ce0e194238d5e2acda22581d53e6c6230a2e951e9d5cd063ade209ab484c1c57efee52039702594b78905a3fe8d8a0f4042efe4e56cc90524d1bbf3275b2e1beac2d1a78c781154945a98925458faf54a6620eb4bbcb84544c31dd2a4682ba1a338353c33869fe2fdfd68d898b25f4801c23e455a3fc79d1ffd6f4454748c85ee812dc559c6f614b8f08af74faf189aa6e8820f314c1517e89b09e47ac2c440375135ae5f45dbc417e5e0ae57b0b8eba2eb844bfbbe7c08ad8ec115d13012fb7e26fdddc841b1d1628adffa8aaea0283ffad91745794d79c1e8c3e4ab5cd24a6b615062d22b4210a953c564f534048353672a528b10ecc9cd8f03a600dfda68ed1d53a0914892165022eba444b240ec5476025688dc323c0901c4186c6cab0ccdf8cfdd8918be02ece858fa95bb10eb72b8855fc541ddc19543ff4389800f9c282237afe886f1aff98d48976096e3021c163b2722a76ec7b2e1dffd194ca4649a4591964370ec87b92516e6c244217decf6675b812f94917be23d241e81b5f288e0f5354dec01cc3dadebcf99eade491a26a8b1439717e0e8cc8bbeaa760f6ac02c72ac504fe6431ca1f6dfa5449ad12b48adf2f1ed47f934f8bd1371cee9fde3fd37a544755a161decd44e0ab5eabdc0b4d0e79ec65c5b456f73b68ba50c6caee7cb0772aad54a0f5eb31e99acb9f4709effcdf9306a928c01b4a2d001b15af44ea3a5767726f95e6cf234587a5b7f92517de7ce80f1d58a1e3fd7499eeede044043addfdb34df9f16f78d08defb42b4ff1d9b54169b72778ad17122e3ce52c0c3fa8b47c204a8b9ab8ae0314d51039a0b33dfea0c2de9c2419f06a768a86ff30dba6eb480d23c69e863a52b75bee50773a78b6c10871765e9bfcb6b8419906cd22690cbb6c45c2a71962ba19881063568d5ea9206e1269df9a1131ac7f6c91bfbde252964fbac4b816ed017a57b59d0e107ce6918853b063a849b47c0e63e096084e18981d045e6adc145d5d106ebc0124281e50c127a037d3128c2974bc93efe8a2aae84db155bc066b365943fa35520e6fc5387b2cdd509433dd15decf145b63d4f13d50482887ca00c5388ed5446788a9f53f27fd4782f72c3647b65d9a6803f3629806264605a18ba75f9b71ec8ed6799272d44f6b8530ba2d9db2966a41561efb6a63734d64cefc6b5376711b9fb26759c248bc227bd418bc00bb63e20edbbd5188c127e0cbde5e3c8e8450cd5f554433ae6cceb3e3df0d011d6827cddd75120a41a13640fbee455767c7f9c58f231fbe2a98859a019c52fbbb134b9286d18be6183b6eab3d69101a9fdca12ef472300dc982cae8e2b7e782cbc1a05af72774b4f45904e502d1146ef793ed33470bc16011e234c3823c1efc79bd38fdcc547806de6c85017ff3cdb13a0d055ffd7afddb1b675c3e1e78f1139650effcfd7dd474c49dacf6fdbe8f8727c3f1849f3a92f2c5bce397b358021db3d86c1517e2dcf04be189db14c7d8d894f29369e7767cdfc85dba7c3d410945f8266560683f4da33fc6754557b61954f93cf99f593e36b102138c3468affcfc866825b606d90acecc32dea2f29f1aa062b7b489faec58a660a519c9c4c953f72a7c6595d1993242e6fb65bf235bb09af1d19377beb62a5474f9c9afee130173934df4050537d79bde74242052b09f66d0cb4deb46c4cf2ba9f7d892c42ed386a526dbd10a9b5d781bec48696e1d099fddb912189470de36bc66cf6380fe88ccaf919aba56b1187ccc57a4dcdde4f7388589218f8a2afe9975f1d6659b91257930a79fc51cdfcd932bd52c14540b796b6a4cedfe0d796365fd174e0f9e47730b968ba4878ced532b10ca1b4d73c8b6602e21946e393f002cb27281c1ae2754014c518682518921652d79b27782a9776389f25bb76ed805861e6ca4c5da8a942f33c85154022d2f73014a3b13fe6974348b5cac8d3eafcf49f6c979619a1fd66156bf511d8ced4ef0ac86ec1f6a4f70b3929c68f46b4a2ca5163667ebefdd894d4d873bd4cddcb194b7e8462e7eea7e54ea056993b86c9199e49b97a0f56b6c9f2134ae5bc6031557edd0d8a371226a610af5f43b264ece0ce4e9a02c497c1e26070587ef8da77b1fd8f3a7cb51c656f094a85729dd7570421552f1a6782fdfb24bd01ca860161117d4e39c13ceababc456d2d594384dec9615f5be0ecb3c8e452c0ba6e526812d58be02fd50e1b2b56a9f84beec934e4e650d448e9d8a91c4301e661e60c2b146de99387401b57bd88e0e52b183fd4e653ccd89b7d0f074bc0eb379ef5934424dca23cb63a2846912bbf2244cf18f9520f52fe5e1ef6c0187280df871c36f1aa01a2a7fa48e2872f76b53e928399309cd164d67032960749569d9f8fcd134b9ee6b6c8c7bbea10932828a46269412038eb3a8441cafdd7ae705bd10bb6f6dc23b5dcbc33d893f0f0bce56d6bda8481faa76fd079a9d6cc41a94de708ac6d55990b5084aa8c387f9170ff89a7c45a5b7fbef19a1a395df523aea3e88ae5c61b5104fb7397243561796b07e98bc636c3042ba0fad756142a13250eb32a3df2f96c507825e5f2d2bd5db6bfe3f233b5504b7eabe8e657d4f6a7f65fb393f159dabca1bbcb2206b8282ca4aba3ff6a98bc14abbd06f9d1092daf40935ae18ce63cae29012f99d0cdc69df275ba177fcd298a74ae272db02e9f775a94696acd9dee2c030bf4b3355b72362b54aa166ab036f47538dac4152b57c7344bcd96c7ac3b56efa9000df86d3d8d71f5c35b06baa39400dd8115156483638654bdb9b29c2427690fde3571b1952af7262699dfa1e3c0b32264524d8a81570628ea8f34996970f57fde92604ecdd77ac314664f61101ffa7eb6f3598a111466496336f4922564cb3d75fcf21805da724f0a81c66c9f24ff5ea4fd967afc3b6b8e42df4836682882f8ae751e784ac033d46df6dca2efea2aaf1238aa8a94afce371852eb0e2d0248fde665ab644a65b130d52621d8a0eeee06dad58989b6234151bd6e757c09cd81f9f6c836bbc3e9f4adb0b42511b5060f786d10869486aae0c3202869e7e00f0664cdfc3bdb59f61142d058340272d47ce754de9bee67c53801c6902295c4a4ee08b01aef6ce8e0b82976e5d69c928f13b8447d0cffa8fe78a984b8ee5adf70364d83bb3d6c05bf12b8a98cd2abee237a675dfd2c31ca07abc6ad32d0c15bf5736b2cad34d4aa080c44bb7e1875264ae5dbe01138778824651a52d1898b0ff6d6b33672dd7a1d394d0abbdc7824cb00af4f7f30fad9c67636435ac178928044f1ab828d81977bb910d8fa1d63da211f886362484beab9e41e1add1a64324beb3aaf499e612a1c059f47eedcbd368dec03d3181fb39097e90999cbcaec4d29b5ea519e0f1afb03212b3aed73953870256e7cc15cec50dee8f8a7c7feb71e7e058e356e6fe343e24d6ad4b563ddca336ebaff5b15c122735045d4d6d1a21ebf248038095b96b40b0c60dbf12128deaa7061e4f291141d0c3974130af3cc033abb904352153ad39dab7422b1047617d", 0x1000}, {&(0x7f0000001240)="d6b43e9dcd350438c23771ab0c7f13f7f1a83489e67f55c55ed17f317c5c12e5e3f31d89cabee53d9eb731a43cc15f3e5d9e87e6604fa1a2865598c3d2f00c457c85bd760dda39dfac46e78ac5c34108d84e0e29ff4bd9c5ced2a636c634367660dc00812ee71d1fb682eb6dd5b268f66f5d29719b234b722812c8b74423659e1929328723e825f027ee36ed2ab491979d01a37b96b1a38041b82277b7219048f4f348a17266ebf6e0a35ba0d51032e1cf1dfc5271112bd56aea491970898b4906e18ea87e3a0847337a0620acc7c6c9154f68a1b8824812afb08aa42fdad2b6b1d92e55cd", 0xe5}, {&(0x7f0000004200)="e3a769d22ac3c7a58bd394cd7f700d734c7201571194a340d53d8a9b17e7e7ea44b2aec6626ebc8fc49971f33c2f49323d457799d9534d8845db671b0539ff722e61fadc7bcb3c9de791e9ec17d5407cacfb20fbcd2dfce4852e6d827647da39ee143a46bbd654e5812f5b7dd2ff05c3777970a66cfc69b6e7aa122bc97a074399fcdfbbf61e6be84033294b22afac69d698093ed1840f27f783e5a2f4e274f0a041aa78b6b18e99064700d45bb7b9d0aeef71839e34a9898badae3fe2fa15d82c59424b7c063c4871cd0cbf5c03747a98b6e1feb1ce96690654dba8f0b3f3d9a7102d6dd723347fe3edf32f68d82e8634fe4d6efe6c05f74b1188721f491ce5ce5e745d408d7fec96a288df87df2875ba1dfaf1d580aa93bb5998a2bc0efb8af237e4e8386978fa26d371c9c0ee953340828e51fc4d1db14121ac9928418c979f5866638b2157ce1dfe46a7cbcc47bf8441eee58382e98cc6f9d2baafaf16712ce8bc54a687323205d9dba65d2d8a064a3676b89cfdbb2a99bfcd29b3d637c7fbe9257d257ff35b5f1b34f8aa1f3f6614182d5c1708034edc5ebdf30907ed4a20083d46ff31c26cc57f6945f29585fb4639047d68c3f70b1ec3be0eaf9497651695793647e03c81d899d6ae8abcbfe3aad3900880b37d9d25724f3ba77a232afd8423b6b01ac506c62fc577cc3c261beb6fc872913dc24ea8167517178ec856746bec77239004a3f9ee8c1f23c2c95e9df1d52b7fd0d674dfdf43fb4573d6081815bed00107617ab1b7ab0ab4e8e465753c505472c3b27fdbb47cef03c835c8ad46a23b19c2163200aac2651c71533c472afd953d5ed708a84c54141c92ae2b66ee1418a84a28745f5bc7522abd2262e42d40cde84ac7076f9075f38e4418cfb8f8fcd826588d80c40ab30a59fc08740d7282fed073083836c7363a32a9916ec70ff4a92754a6ebe0c54ad4c94984994541030a74fc15489b3202e08dcccf7410807fbf53bda8793b7a41900db4570fdf863ce632b097242beac5a02992ff58df8a8e8626eb9cbed14fbd71eb53e3fac307c2f43abf41bd89abd1ba5a412cc65d96e77f231fd7c896a9ead0ced05e7745e5ef8baccc198f50a72d6f19399bf6b7df3d5232bc194742ec9fa0ffbaed6fbefa136f9f987068ce8c609cbda7c18c76a2aa2878a643966ccee4e5c7324f6ac7fab5a1a81fb96144891ce2ae3856229abc873d23bc4a6eab312bdbf34407694860e0e99953dee3cef7fe83612548159ac81679376044eedbe05a35e123785851474af8254309cea270a3db4be593a7cd73d50e1f284225377c6e0207796816afb6f4782b10e06ce4b280fa84dfbbb0820295aa92a62e1b2176d95f0d17d319aa86381bbd0fe8413908a3f467447c52f905036165250cf74060e36fbf68f814700de6a68e2a3a781c8e43c678d89d0303004dc226fd2c063cf3f1c44fdf3c73ff621350421b2af58c55b799646636740dbf1c366be94df2292656b72bd91c46c948e8bd05af593eba9127461a22e5ebf3e1b1c38a649e379794042cd8e3c3adfb3e143b663bf5ecace1e5fc739089c3d6b372d931acc2b24fd1a93fa57897f4136fe8070df931294eef2c714fca4d207e0631e2f0fbcd8f9a7902b26c458bbd51eb1d883deadf1fa357d05efe17eb259ff48364ba3c760a7865d6bf4c9f22dbd1ca09126cf731ea728b908b94b6a4cf05c3cf9dc2538540c8ab04aab7a7429fdec3cf7ef45aad9eac966967a326e68c12a65f5f734b90ac4cec12fcf16fb98ac57c03d4d56e5e42be769b161951d7c02464b70efa34151a3e67630c10fc72e345060bc1be3b45c7393ed37e911e544cf47e22670eea946670cde5c44ebc7516fb49a54ee7020d79ddeec77f492b31fcd058ce0fa9a26e2a8d7702129afd1da8f2b6d6ec83cb2128e3694e5e6d05aa2043e3bd385a3d048b9597b1b4cdd108cfa9c63f1ea54b3c135a7d40c278406f4fd450c21bc327417315ed8f2b2c3d3a0b1a9276d07a61639c1cfa16c0592dd20260fc13962f80804cee873c98904d82b32055952b83749eba93954884f8a3c1bc9759072ccfb666dc1b9e6784cf9c1fed2fe5ac68f0a1375337c62f65d0ffbcdd67f43c06df3848897e06cc4b8b1b7e37d35c9f84a27d1a321df0c75ee2841686fd9a8a23fd179395bf2c79a28f8268867619dce21fdba1facdbe61e7eccbadf4e5dbb09d67ed56673d129de1966438fed32d9adf76f62ccd6e13c24c09cb0f6e1bffab0b74f3f94ddac05d86e84240a20ab7fe5c3ae31a8ab8d03e7beb370120a83f78fde9afd15d1bd42d9e3ea978a98257340054853390e04d31161b0446158ec5fcaa07f33e653ab1346c9c95863897bc0ec8cb1d65fb053d34a94e11282dedcc5600341999fa302027eea41ddacd4175377ad1246c2d2ed484b0291a115867932ec7d84627ee8b3cd4edfd8f97d52c8061152601e0b4cb480fb64f1cbd9ef460c79d63bd31d2cd3a799bab5cbc0ec8857c7af1bf58ebe04f64ca6276411e2c57c15ac019879298f4af14fd0460e85106adf71b2e02062050b70e5834516d4a45b69f36a41b69a6d168198e2f6a8cb7b45aa5f7158b02fea77a41077cf04aa5328c0e2b06a378b98110b3bcc255d4ea1fd48079d236b7c475d676d8bf036507c1c5f99150fd58f21cdd4e785d1a4626b40036382f770b9cef53bebd92f66c28a4be42eae9eba35ec6117fd2911a415e3414e4ad156d1b5301307e97ce92579165cbb76a3947f373074fcea76bba1ae3c4b8d9cc56417c647e7f94f44e3e1eb1ffae92b8d5af02c4e089518131e9bb1ea6b1d4121459826bccff4d2d6cde6c26ee9b243d6874f6a15b743cf38928d8306a3141ffc6594dcde3fad3c97d5e1d0adc1cabfa710c46731de8f518e42a6273c18244ce5fd31b27e078a8b7bfc1f84259337dae810b1ea487d587aa78228052f7aea6416df85330d63739184b0cd280f4bb39dd3f9e0a08caf2055d86b4c4a744b72e8b4539c16881dff338d349536f7542d1980d67f6e43d1866f840457a7ee4a4e4d5324aca165403c91a26520022d75168238f96b51e3ad0e923f591ca99c284353917b65ab720131b4be2ff3541093f88d7a66247dbb08818c1d8709d0e90c2059b85c400c4b1833a05a88c63595cc1a1899eb45d51921dbd3d6cf8c176e5ff0218ec66904ff5f6a455c74678811b51b9c7507a9333a0389ce3b4a5762834b66642a3647933d504c24d1bb716a4876b665a98c18a6ef4d29ef0a44b9f924256edd0679e3a1af7cd110f293d91f5a2885b8bf64d5f58fccd76384f94ed78a36f597e8e35d766b43d24a4681616e11a9511647240c58da972e395d559d457fd6eadf9352b7f596d95557c9fa5e01b689e784813d8d2b51895ddf898bb9a591d6c5e009a1488469c4b709b49ae8fbf3484db89f09cf19c7f6d92f884b20ab57c7c487daf91955c987bd766134036fc25d1b03bdc8f70dbc8d3cfdda1b7ea54158ab95b0e5e26bcb22760d7c53d775ed489535599ddb61ca100fc9820efb3175993f9d100a9504ca550da5034d920653528eaeb0490c4576175c9356f09a4ac95fffece346ccd95631ed06a760b37dbf4ec219f8996d78183a3ab2e08359bda5c6037bc9c152609ed88c6ed2fc3fc9e40d40ec38069631aa3494f42f8e45b37a7769b70e579b82b574afbe217bbbbdb13c8acc1f385d632daf131aecd404781135c94d8bec00da9887d3b61f3f264b173a9691e057b9e9c4162ad39a60119a19ead6dd71c2e00b22ec14d9cb990fef38c9a1adf0bb8b90f1c23f6e8bdca01866ddac5498144ccc7d4b886dd055732fe70b55a881bb99a5f4f9dd95e1ad7e77ab4545df5759df8f2bbbb0ca226f4276097e722c6c3044264d41920a11d3fbb5c03b85e86a064f40b206b1a22ea20118a68c1b68968b5c78b1c8e73cfe1fe73e3ea6a6101a25e47e46a7cc1ab35a54baeeb1ed7a5317c477e1d7ce0a8da1319c79efa87a6638a5b8905bea954ba6b8ff79cfeead570f966b826abc633e5f039e29d43ecfb2910b95810489e178871657789613eecea78ac5864f42daf888de4ef92790a4f266cb9ac369d3e4c65e3e4ceed79b72d9a482f017b276de0ac9385a6076179d0bd3f96966a5372d67638f6bb2af93964247b86fc80a4f99c31a609a163e619a914e31f6e4d41c85effd4ac1b1b7f3f388946d17639b84e5b36daaf306c1daf90b49a1208f4a41a7803faf350192c9d70cd4753118798b4a55dc14e44cdf5e8bcda4b4bdeaf45b46a50acfff0e0de414f2291017478b2649fd4f4d68d07b13f651afd125f06f4f4870f17fb99b49aa63e91133a10b83959626320fa6138a479e5035839faa67e53a5e65272ed50f25020841aa7fd890157ca446e82e98a95cfeb7fc1450b0900fbfa0c06566e0b872ef08bee671acdda7d0e212d1dfb7687307358b70e1077345ea3babf69d8dcb41994e6feee3d50e2cc478200bd412e24355342c0521c8941149ca3a931c67b1625fa3a205a3adfb9956bbbd26f9e32c5691edddda7de477b871058ec821c6a0fa80c2feb15fa5f7eef959f4655bf78b058fdf896f05af37519424e9b8b23d9d63cb40c5337546aa2dec0791c9c91fd8704b99fcdf981d2d5356e355cb5dbdfe8d4f474935a6702a62e723551336ccaa528c393ef59d52dfe8f69f607f34643613a5a1fb55d61fde0520f5ff792afed11901bdc8a05f5ccc5db80578a8091485a6b3cea46bc0e13c62070e4a2ae75a6af78f0847825c768a32341eb55f8ebab411f37a1464c629a7dd0dcf980e940d96d89d14fd3d2d2968e86b3b46cdc08194e2c61efa0362b8c57dd38b7d38607d2635a7d1f4187f3fcf93787b211f8593f19faa64da97878c84f75fa8cdc8ccf0967114e0bf3786b827ed01edc2049f8ff71b1539689350cd2752b109e3cdc1596745ece79e8974c979ecb5578841442392fddf24627976b816155c6d5d442938453a6faf4a2e9a1a7dc7855f870d8c78a36eb283525ca7a26cc7166143ffd18c1f891e9d79401a8a8ca052d46e16d4fec0addb10a6566928e7b5ac644a5376064f3f2eef531bd51061758560a5247acdc8b825d622f9b8d8e806a3942a6ce4e873116458735246c53c830701de3928e54e8ff9b8285ed9e7acd43f836c1e3009ceaa73934b3a653568f04dff4f4199edb7fab1ae489e38b0bf0f1e9d3aecd14ad923430ba299adca9dffcc38b29c1d7f92284de97c63e10f553c47bf535fa82ef0e04796892b48279c44a8200e34b975738589d3c720e4645ff8df24cf91bc0802fe40a0ba59aac413118e5cf0714b9c9af0945cc6725e82f64e54d5636c543676f831fb2984421ad96fef870069abda9aa4de11b4edcc95b3d473327680f0b8cf355c905dd0411f5addcca53975b68286a04c1d5ec8e60269860a4739ca1e6004407d648fabf5907a8bda961cfc81036a1a7fe422c8628f4e4d8d272a6e34533e044212b5cb16e62c3eea095f781ae365c258bd9e29c2712823b66c251505d347dab928adb5b1a9d093639ff29082762d645c6ef9115a333a99e64d786a407b06b9a88a4e97faf50e67148745440166e18cf1e767637aea3c950e165399f678771130957bc8ea7b41995afd1ee20a5c40e46a5c0b5f44fff49a04302ea232404e009a7700f45a5d4cbb2415e2802350eac91d4aa41d026041e69d0b9560ee71c232c2886545b21e166eb975f4e90055c6216d0c82b100c7122908bd5fcd6a324bbf958d594b95e482c5b23547161", 0x1000}, {&(0x7f0000001340)="47eb533be9d78620be7b0630acf2dd87387da96c3926fff2edd82887dfdb15dd364dfde06541ba5d6e927ea4624d64dd9c9ca02bce2e056c39d1434b6e6e", 0x3e}, {&(0x7f0000001380)="7947f5d6d73ad42a03", 0x9}], 0x8, &(0x7f00000013c0)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00}}}], 0x20, 0x4000080}}, {{&(0x7f0000005280)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005680)=[{&(0x7f0000005300)="9232c9fdb83f770e30ba20b3ef43a2c748855e57539ae28b77d43a6dc5f7c8f44f860d958e445a0874f711cb71b5eebd906b487a5866094bdf042995381b88ffa3b0faed31549b5095c6b586f02c3cafc842dd4bfd441e7a0601e2f5f97a2e0809a102c4efc5655075a6e2e0cd5ad1801361dc7e637dad8ad0bca5916e21932d", 0x80}, {&(0x7f0000005380)="36cbe3daff5ed51ea81c7031e13e61485391ede72a089f068e821ae975a1e6cc05e5cf54688ae440430feecb474a98fde9e6420213d8b955de9918610cf8b1beb7eb7df52a6b4ca060395256fb62d1e80f574b07cc85179e", 0x58}, {&(0x7f0000005400)="fb38adab891ae9ae3bb1dd51bc231ee916a0816fe877b0b74a759153a1324ba848c00ec25207677fd6d7ff935f72509a646661d654f45969aed9", 0x3a}, {&(0x7f0000005440)="b5ab70f1d9236d11373af0c2f50db23afcbe1555fd71fb199770ea5ef812ab3111f579dc5194d531380c6e0a3cf47d68001bdc22396b3e389fd7b103eb37070e29da3043abc8976053c235f3c14456e2482e98e2b57a1daa5981", 0x5a}, {&(0x7f00000054c0)="6a0a55b3cfed00958f5a069c3457cdacd37100a77b9246980de5", 0x1a}, {&(0x7f0000005500)="1088afcb10167dd01fa53f8ed035f3956113ec49726fbfe491020699ce0f525a41f136cf757c9f929ff327a96068c614f74e733569442bdb6fbc86c7f109934ba5db3d56c7", 0x45}, {&(0x7f0000005580)="9b61d239a9bd3b4a40238ded4492a4ad472cd8bfe629338722d43ba4cb2ae4abfec42b7eb8bce65715f905d200e61fd6adf6ac9daa5ef33336addb443964a3bdbe08e0856b509be93041e8adfb223949bcb497a1696a3113c536b30cbd35822d5f52bc0fa0b11188ded4f4f0e22611497fe7f7a559102ae6ef89c5c9f3261e1f4e5db46b343bf0df4ebf33a657bbfd6c7df88c3127efb4eea4c06a957fc4a740f78d323c87b2399edc86e0127bd6c768bdaa9000d7d45f033da3acb0fc0638c20391e94807d2561de1601e75819607aa0d", 0xd1}], 0x7, &(0x7f0000005780)=[@rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0x40, 0x4080}}, {{&(0x7f00000057c0)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000005e00)=[{&(0x7f0000005840)="28d1be28df7f3837baee5d5c614a7029601828e49a9ef614b96ab26d7aa7e7f0fdc7ff4b79bd7445f562432b8353df4f771405c8e1536c4300d42bf81761c9d3546547911471b99140f5b9f86178a9bcc68959296676b883b4", 0x59}, {&(0x7f00000058c0)="2995598d289152010d666e5d561bf9435f29a5b09acd1dcf7b83bd95f4fe2e551e2323fcd4988c438dcb41450f3f653210e0cd0d7a972a19fd2215e53dfd2880a6aa0721cc982584aa7137eeb99705e2bfde682b742071d07396021dc9132952f5137c84d9fc7132642537faf8af618f221324116f5491308275449207aa7d27ea6de4ffd4704a29f240ac0a420c70697591b03c1eb49e9db3b7a6c19d579dcede4650f41359d39b84a1d9c69eee6f2d42b79a77cd5e3b0253baeff4bd82df", 0xbf}, {&(0x7f0000005980)="ef4b66b7e099d96c3a57e6f31370a8c5e80a7eea0b91f02704a11eb5486c5e0b75b38a1be02fad8c52316e7f8de8de6f77c2d826662eb1ea1fb03edda018eb95ae56970bc2becc2435c1643a2adb5b13c59b75d58c743a572322f5f785637572eedc63a68b5252a8e31051039edf67a702f7f1c47bb255d64b283cb598765df6d057d2438b51371c71739aa831637085f9c65573efe08217ee2f7aeabef497ad8229960a9f3578b38d8f4f059a", 0xad}, {&(0x7f0000005a40)="ef0365eb7847facde3e28af98735ee2550c7be205197684579d57c4fb2507e074e451e4af1e0319d4d7b78c4788c9dad458c560ce00606edca3fcd45f32fcdf606e25bf00a2ae57e04facd26754ef986791b96fd3a35b59f2a8c8cc0a2073c67d29485792c50263d6fb7f71a7510bed1f85336acdedda6afbec270dd41357b61e70012a9ffef698003974033fb2f8b07c8a094", 0x93}, {&(0x7f0000005b00)="aeea22d99e9c3a02625bbe0f6fc0ef5d5dc238ee2b17a7a5834203c36274210632af9c1884392208b655c165f0696f6ca6beece3e57cfbb640307a565d39558f240f688b1e", 0x45}, {&(0x7f0000005b80)="ee06b397e02b6cf1c8f0a0263225685af9ca132157a774fd47f175444b732e1d1d3c5d1df6b3da1bb93549818d7d5bb9ffaf90c39cf12f05133b13f221f02b9716bc32ca5ee8394eba7d2ab6d3a4cf58fa85281bdd43ce9c52688b06137da7376a05d8baadc7dc539c080a9353f798e9434a7ae0decd226f4f1c78fda92eb697611d98e970272dbcabf93231360ae88c742067a704cfa31e90d348b2c46884eba26e0d1707d54991944c715c190dab1f7ccb56fb5ae54583904346a186af603de6257e96ffd099a2009ddfdf5c7e032aaf52a725c65059c8c997191fe13f87506b6b4c82ad6d06122d3651bacdcda581142c084b81d0991df9f9", 0xfa}, {&(0x7f0000005c80)="7265da25b7f3537dc367077a43bfa669be0f998f9c5d4aa2a3ea3915fdb104605d01c36ebf6588f7e41caf546a136b3cd0d7a38f0c19c1c382062cc49c469a852c5dc26101a7828717a385dc5e634fa7ba66888ee613050ee93a716a2bf1c45f0408", 0x62}, {&(0x7f0000005d00)="4c7d8ecd2451b3409805f1d1713ee5ed2f6fc44cfd540729985a99eed3247c334ddfcc56141d3d33fe03f63064a4bdb1e45609c1bf950125cfae80e85a6694c26685f1f5b0d4bbdd4fc0763cf42199e7fb6423e8db4f7f5e8c3fa20c3c791683adb2eb65102a01953d14c8fbfe5ac36041159339054e422a2a6b9ffe853f9182e62c9ff2a07f06384f11395750452164bf832e8b4aacc2ecf8c1980f0320e3fc2d1af480c0039efc90308e5ea2f0e1ee5888eacc0915f29c1d5e42a3c171f44eaccc0b910047fb4decdd1b070384057282c8fd19ea4e5ef18398a45fd98ef85172092b33efadeab0802c1780e29df3dc5705bbdd", 0xf4}], 0x8, &(0x7f0000007780)=[@rights={{0x34, 0x1, 0x1, [r5, r5, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r2]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c}}, @cred={{0x1c}}], 0xa0, 0x6000010}}, {{&(0x7f0000007840)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000007c00)=[{&(0x7f00000078c0)="e13c379865c0dc16570878fdb3c3a443b24cfdf93000d7088e2b7d4628410e4ae21fcef46ed1a0760a755e9f35c29d1964c7d85c8aee5f80ba6f04161c4447307380f50582593fba618444ac39c4c7fd9000e640cc9e77b6f530021383ff7a437c0fa49fe24c55f496345dee0910004f9dfcab3216c955bf61aa6a170b407bd170149280972b161152ab29b85f9e982f644fb1", 0x93}, {&(0x7f0000007980)="d0062a967ce6cf5ddd6857494232f99823d5727d8ec3babce5925a3f987aaf46441eef64a67895adb4f5016a79ef09853667c42c5951e217c1e76654df2e194834f04cbc035a236af82865699cda15ae53161a", 0x53}, {&(0x7f0000007a00)="1031f790d6d84ee69fb447a22f000c36eabbcb11f6605fe6ef137341511f3d396d0edf35d3a9096d9c87af4b8a34592b6cfc2963c31905b9f27633db01cc291e8c2bde791722fb6cf2c609b7a80e4c4d36fb1d642034d061166291e497d9c884cbdcab605310980b8f36d4c71e80c261bd009bda639f83c43f59bbb1f1857e010c56f865172566d7edec8f80630ff337891015aee597fc9574877fbe6818d706fc582efbde76d31636377c9d121efdc93df93afcbd9ec1d815f10fd426a37144069c506736307656eeadf0882e1f019d490837c1fc6e", 0xd6}, {&(0x7f0000007b00)="d166273d68c70baedd61c4141d6e20667b66e1aaf53e4dc831cb7d3e7ac0439ab4c7043d1e8447ac07376fd563c864573497217973fc556049646f103bb2c1bdcb7d0cfbf601e0244518540aa82f865df99b4f3b468f36d6382b55ad72755582c948f95f2845f0e30223a3ae1b4457e6e359edd2284e765f2d31c4c90eaf705910dfce7650d872066491fbb47fc71b3990a3dbdbb7fd2ea055708d9d8ba8fdcc6c4c2bcf977d762561444d276098b3c5176249dc6fcba7421aa1db85e519d5a98e629af5c1ae28f927297975bdf38684d4083a2d6c2ef44b4488a27bd37c567076f1de2156", 0xe5}], 0x4, &(0x7f0000007d00)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c}}], 0x40, 0x4000000}}, {{0x0, 0x0, &(0x7f0000008f80)=[{&(0x7f0000007d40)="6c5600be047dd65c6abf71064860f49a2b8139510ee36ccc3a3e03fcf20dc1ec6052ac6b1751908fd2f1fbea559ce4ca7a287a53b8c4935c59be46f60126aa5de70d4587385c0e813f9d0b68ef91afe262fd8906f5bdff91b4d5308ffe818afce3769f6ac58d67b1e4ca42d3735c006a437682190cfc963d4444aae96b257c9f0b5ad24d8c514f92ece163", 0x8b}, {&(0x7f0000007e00)="09e8c658e3", 0x5}, {&(0x7f0000007e40)="d7aa53820d4e4856e7d2493fb2eea50319256cb5eab0ef65f5abd2bd71988410fb12b09c65d9023f57e9f24af0cf09baf389cc6d14c1be3dcddc32835d8f3c7c0223100be52c09f82ff7bee6ff4b7ae5f9759bd14118f0a15260aa4c93f1dff1491fd1da4aa9b7f7449012941c8db71c4532be2efef90bf79847936ddfc899c47bda3a78587edc83abe169f1cf2740a145c181b8862545154423ba7eafdbf8adfe1fa7a1ac3ff0a9e3557afc681e8508f264daf8a650f25a73470dffbb07ac55fb228115aef16ff1cf4a85113af7042718416cb10ef50847425e6bb06d8ced3b0a99bb955de24d73f8ead82abbd175a3698ad2677d3a8d69221e6806fdb119d18e870d44d22ebe8a47287f26e1f0cf43e8b5527d6b27f27d2bf32c0def4099cc335dd2cf3084419849f6b1203d5c3e9879df0c2fa9bd488f46cd2440037fb88ed1a11b48e14fc7805689e20f2cbccaa63a3d235f9e4da529c677b7f63e28a36f32755311f15a43ac073fabc4b82670f6d7c5403f7ffd6f29b3db3c66051bbb0a9fd0701737def3fca9755359acd6ac87ecf444ba141aa5a9c6651335487c01cbecd495b95098b4843220c882f1702c3a94ca06553e0db6bd836ef3e7b4154f3f2c7c03c6f622da1ee5df9e0dbebf8483b265e1f21cf751648bfbcbbe6249db70f3538070ad0102c934a2b0181b84de7dcadd8bb77fb37e323e7312537d74960800c349185e7e6137c70a2bad8d360d2752cd2518acc1bf6e6caa25092cd7aecfd59d8a830c6aa87d790e69cc77b4cd007e172814a3a4e042038c6d343a4958d4d6be23b71815e3c42e5127f68d90d00820bd827ec43855d0691de1c676a46ba2508ebf30ade7a38cfc10b66ae5e42bbc949e2a3ec1e1bf3958d9fd1d5c3d366c098861a518823cc612a6252d360fd6af936c3e84d9f61cc1d9dcf9b1e8e853aeabfd0029e71d12d5a1844b1380c361fa4187a6d6d1403906e5dd6d5c73d162755a65a551fff605fa4e960210746c319571ebaa01c0021a7366794c7ed65783ff5dedde3a71f87afd46f5ec9be6a3ea2131750b0695f21647ecee215ff31431dc9d727e38f6705c6287b86f7b71027d886cdbbbf06950d9d47fd409e6b5398c0849d4e2d40a1bb38eb8f1bb600131fec711414e997915b1ebdce4bed75964f0d89a39ac85f7f018d92cdcb72805afedc25fa926a1f1a57f05e3965725a7a7615e8f2d0155ac82c39df9e943c2b746e85357a30c2b58a064ce7f281da5aa7eb05f19666e5bc20279082f09fa3a799ad5b04b16b70b636011829336e729adee9da850afb41fd4a076734abcec266eb28e8decce5c9e768c47d94c587b893c2332936f9499973014ed414690a12582e4c83a3a9ba4254e6e1fb8d68bfd082b3076d165e102e2e0b4ffc3e9b9d2f85482de70f4a2a7f35417a241625a2a3517e76ed7f5c62e5b9e4a774968b57112d01f4ec5a6a4c8bd46ad2ddfd07aa02391c141a90470a2b213446fbeb31ee1c8a63abc3f6e2bc7fecb5b803e8a84af1eaadca2f11a91b1fc9a7bdee68e8dfcda5b37e2bbb626f02c397622564c3e2f349c9cb7ee85a9c2841f52dd460f0e44e55bb5ceb42bb546ae176cf02f471ff270996515bdf0e2271995011edddde9f4955a787f2f76427b11ffa2457c959d3d3484d26fac6f6fcdd02146253fd4bb2d75ba7df6bd65d32d79582a70e0902c8262cad954df1cacff0a86191944e903c2606d68e0c7319ad35a79f04d451a43aefe63b950d1c29c40bda78b35325ffcb9331702df0a3da365dcd8fc75d89fe26bbae1a830896df4cb8e1167ec43c6ad6dabf879e1af5f9c9d009cd8515d27d511e4e43295a92b4cf5c7b44ba77c76d38a1490c356b395af7262b42db7d638009cb7202a3a1a2c4d6539f74559c633761f95c195fdd366269747efb1c3cbd5afedf0ee8d137f2e355fe79c95d8aa0ebbbaa0371a2424c941992bd5f9275c1b19f5fa1ee8be18890e8950cacafba9200380f3a1982c26fe3f7ba02e47edfac29cc04df94b50196823c77302177c71584cc543e37294ce559510be76a14c08d62ce0d51c1cdc86ea6729dafb1bc76ac9d4ef39a9b22cab8328d757aaeae8986d07a96cdf1ec7f92ea0f5955df2f87d4e147e2799386a9ce77aa8a41eb80ec96947256622b4aa30b9f2c33a7c4f6fc0958b08d96d70351d58ca93411b5941399c4137aacf2b0d5144f833ce14891997eec8fa93c8ac6cd044d0714436d3047e0773dbb6450694bc9497915216b3f0a0900af9f139fe9a2ebcd340ba509987bc205eac377d2f6cf39a9581359166fb2b8046c2bd103d53ba23f6f2a594ca75a925aedf4b6279c329956cf3ad6f45b7da7afce19c34db272c44500d55ac4a09852dd0212ad0438947b8b03b161c0c2d7b87bf771c84dc060740595001e9256dc8b0878162df9b601978171a301153e75c171b113c8aebd1073c31154047ec4a0f89bc44899fbf6f1d8eaa416d59c8c7c682629c03e55e4d3e3ba9b1f538a26e8e1a8b4903fa08e5d90cb54acaea44f8e28496bce0e319711004e76b1b64ed2f00ec17eed2b2c15052c957d4195b349d2b3c5ea2a513aff23feb1753acbe62ce34da9cc75d4d197e2f6d858e19cf6c06647ac0a6f2b92411d260fa746a4f8c8c9083fbc5da996a880823886252223cdc4d6a8e0aa5b15edecc8f38951e0ee2c42200912aa6f0a5e77e0619bea6f03c46eb7db0c36f0eb92c58d807cea8da271bf0db17b401c66ef6547aa989049a05113dfc4d66e2c0ce17f06d4ff72ac8dfd7032b74af65a9985c343c9f40ec96c2cf7c846a28b97c04bf2a5a1242f02938b002760d15302548045a16c581e00a42956b1209afe621cce66e5d094a6fb447c38a6243b0964e3678b662031db40db514c7dbe0cf2c758ed73a6f1c73c06b374cce0e656cd9fdbfa05c772dc267362c58f8d4dc519885df6dd37aa0af7f0344cd0a32e5cb82c4dba920dfe1adb19fb7e01d4959c46096b7b665a91529acd1dd356faba027c8a76455cbc52334f1b9bf4c211c8bd4334bcf87e1d3b6ca7dab6375788fa139dad0beb023c4c306aaa7277ab2ebfb24f3535c752b4f785df57af5ba4e5f58660876a375c1f06a59e55ccbc8abfad409ed00619cb227bb64da9d22c1319ba885e3112cc1b285ef858991c30b5849ee32bfa3fc527f2b2f44d4b60c6cf52b63b58b32402d55974ebfb235e1132bff58a9490c4d7548ab231a2d2b13c7c33b33348029ab149e1e9820667ce2c24b49d95f3573553db80fb20506d97b7dc44e5c43aec8d6a84f51894d8514539464ea20a2f6c4cec7dc8d8d6d0953813be1b51965f157f4fdfc7dbb0e0847cb0a4f6ccfe9b0e01219e5ca91d7e6530d45fba8925cbe687b90c21bf4df14f0cac0ba0667800ae1187459b2303f99dee8bf39390b5e86f49b215038a7cf25b1498eb2d732474c8ac3fe9c3a1870c50d765b554fb259720dd18ce2b0dd912d618059340f054b1f2d8775d6bb65d4a972e85b4ba7c0afa258896abf3a8a0d8616796f2cbfa64e3642f0f951ea1b0d936c55e60be9739422658a7b5999e9d63511fdf8e9a5eed3c4445f99065c66f799d950d1ef42b35a6fb802a1eff23528b5333c50c410a215f44e419b81ed16c3e84654e5eebff83f08cdcf8a7958509f9cc9a9f7022f7715c0b288010361947976bec4560b71ff50c73fc829dea10e6e774be9ec4deb64ff86bd3e635a05c72bc34f0b556d921c6638e659c87ce9e745e49b68d420db77bed24d40b5ffdf8fb54b4c3d99cf1f72407eca8174ec86749876c537e194158ba3e366626e9bf1e726d36a7e54c198a3b40b2734e3dd7de7c90f7ced93a4ae1412ef29c33735f8da89630b97f004d536cef28482523afaf0568d68be0a78d77bf3fb72df6a3d760407b8e98cf2fecdf8801ef5f213be15f1c5b4bae608d1070e67e77fdab6cad1f7de502acb4b57420bf74967ba208a70b64c5365a1fcccc34ba15bd154b5c8aa560fc5d7f56dec6c9585272110f3217172a054ab51ac2fdcf2b8e3051f4fb5a89d2556a8359e2365e4024801dfdd98512147ae58d1f055631a495c14b411d501bc3c998b13ac28801fe52931d1dc81f3262ea7a512569e47f151d98e2412d82feeee1f60192c237d1f2686a8f68f07892c14c99ee0a183efc168054c925e027af47eebf7001896ae7b7cfbd8635eec57fff06e9e75cec0918153951d411aae6f55ce1d1dc1e93c360ad37b6bb9865229d8ee7a2dcc51f66c5641b00bf8dc056b3989357628f844833502e8969430a3e4462ab902783fc93015450ae2f38e4dd685b6d32b163b5884608075b80bbd66a8632440d184005b5d8e2b24d1dc90dcef455fbe3cc0eda38c73eef9e53b14ef53b7dc263f47212d92baccc8171a62de3c7e060caa915d95a271141d6d8178e89e7fd23653a11e441139a947a79ae639ff48ba21ff29c13209be8a015eb5a4030a2a7170d5dbd7bccb9614346acd53ca98b60e74fb8b01169786fa1fa9189e6a28ce8ab7c8581b5b9b92dfd80eaaf9f19c02a2d28ef4eb13833f89a8ce7670ff11e86ccad4e44d04fbae013a393bbe64b482c24079f4e260ddf7ba3aeee6be0396b43a6985f2e2c5b4f5dc20bb21b965e1de233ab7c69b7069acd40c3280e4637a04af4e6c58bc0dcf2619684b0530228a0b1995375639d76ce5206c3fc6d10c359f9533c1bebbea6c974fa938ef41b64132c630d7c188d5912b80afa724178bcc46d3c77c4639c41f806e61d950788bf45a70c6b23246ef2613d9c2ba2bd877cf0233c0f2b36364a40a5994f8234c4adf7dcffd019ff8615009821002c82557ef4b9c1fc2fcf5847eaa195b56137e4e591aef496542c8445251bd35455eeec43d380bbac5a8badd084f69003ef8cd47074d2433ed677b81409edbe1b8ec434b12e3b1faa47e4a4f2ecc9c9d5cdf4b72bc4e81f7dd800dce23e1d7330c15bdb18ae22a6852d09229522fd1485f00beedf284d49a82b2165fe4da7c85164b294291f5a8c11a59498a32d2b2209e90825e57f8efa74f84ef6b894c21f1ccaaf187217b79b80a0517cb59c07a3eae5974406204bdb3f4aafaf2f43f12bb63bf426b8e2facf4fc28b8f42cd3dc8ca8832983c4567b4aef758abcfa216805f50af35dd11f13723ff2fb76046b1ebbb64979aefd86d65ed72e0be7c4247f12a0b58af4ad04bda18102fa56ef7c2d54ed93a4159c4f09d8e0b0a082f86ca4ff966b03d10636402f9087705bff1f19d54fa73c2b434344b54c223e5d4e1d6cd781b7e16bc6da8378d40cab8dbae9e6837c9e254294cd04b12465b1530eb8cdfb5300e2569c2dbe56d3b53dd8653716420160df5568995726f454e62ab04c4e7b60fd6ae7bc7d3c9df29d0db2f2c4b38b30103dc54534c837b5066ccccabb7a80970f909446c3c2c48c9d89eb198a865a2c8a0ea60ae3bbf3aced66f4c313fb68246c5d0af59c6d42a6d76fafe7d160cedc1d24234ab16964bb979921a100df0e0c8ce6a38774a5e7a3ac835ae3138ab30a252c7e68eab44bc979c9685c24d85d818756af4e92b9971d9218787f14ceb802e16ccb27743494620ad88c82702bd478051e705b7016861f1a75c00267ce7d4f0ff6f82c77fdf361d776966ed9e1d400281f0c2d76043769af87e268a8b165facd01c0e995d78517cd6dfb963cfae84ba1f6158d30edc7ae1aea2ffd2814240fd14f3b708c7723999bf9902a236d5ba1ef241d8e73531dceaf31ef7a1a4d8d742d447134e0b12a056e1f4e50cda56b77735b50", 0x1000}, {&(0x7f0000008e40)="6db5ff569b996759d65fe2814ce2c8baa045996caccdf1be9370e93c9989354c0ec33f17b824955c5a68e35a4f8f", 0x2e}, {&(0x7f0000008e80)="f4bc3753896456771a055fb519f27384be0522cbf354217e9e8feb3d9c771cf46c93170ca60504565dfcad4df9e2a3bf51e0442229d66387b6f6c8b8b30b46ae4117840db791cf3277444dfafbd36930bd1bff045f5efcd457a188e3c7d7ba06fbaad66fe16a6cc388426cc7173fea3ce55d4d7a028c94971e79d71c9303d5db6674974b07e7ba521b85c2afc4a636598811245c77c391e77befb792649709ce784e9ce39ca127ab8f13a25672b1bb08aa09f6f8b043f8bc03de1a6860d3299f400d0c800ce6f1ce4455990a4bb8598636b0fbd9383650210a9db6ef1eaea853d3665365536762acd741381e79a01e8e", 0xf0}], 0x5, &(0x7f0000009000)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x4}}], 0x8, 0x10) sendfile(r3, r6, 0x0, 0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async) getpid() (async) sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x7c8673f943f4c29f, 0x0, &(0x7f0000000200)) (async) ioctl$TIOCSPGRP(0xffffffffffffffff, 0x5410, &(0x7f0000000000)=r0) (async) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) sched_setscheduler(0x0, 0x2, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000040)=0x7) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) (async) setuid(0x0) (async) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000280)=ANY=[@ANYBLOB="1800000000000000000000004b64ffec850000006d000000850000000e00000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) (async) open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) (async) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) (async) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000009040)=[{{&(0x7f00000002c0)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000000100)=[{&(0x7f0000000340)="b522e80d604503df86e169fd74d95e0085cede348d954718e665b4fd1448d847d6250d5ad1a1f8492c14f3211b72e7a5410ff3dce73be8822cad97650c895ad65e176fdb6e6fc8a8086b279a5e27b5489096876006cac6cc9c1350179f8a76830d7ea8374875dcbaf0e90f2dfcfd0266adcb12832ef684e69ae3286dfd252a09cbf74047e59ddd5e279b60696809281c22953620cc05acb3209c41c9e74e7271c836d5a241a718b6ae16", 0xaa}], 0x1, &(0x7f0000000440)=[@rights={{0x14, 0x1, 0x1, [r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, r4, r5, r3, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x40, 0x4}}, {{0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000002200)="002ed3248c749f217e535fe9d2d7f7cbbf86b709e808c23bda867d1bcf79c8f6d8567d5f22f109ca5c1433298f1690128b30c319fa5295457f4c7304db4479b2acce86cdcee597ebef48ba2797d0bac5504d29800b3263225bafdf820c608ba9519ecc554bbbec394f9af81dd2aa887ad0fb5349927d13fd8aaff6e71b8d9feb5330523e33f0546bc6d745b79b7bf59ee522afbcc36436553c27f00139942abacb6e1a0589b3da169cea7e336a4bacad74f9371f4b9851efb4925b430bb79949e00656b78829cbe19f2a5780a06261dc8dcf82cbdfc1ab9deac8a7deb084e87af222460759f54a9acc90dc8f5e9b9759fcc799e7f7276a5b6dabc9be5e716bef2617a973174676adf0c196a0b3245fa03ab9bda37ebffb650ee30c3adb80ef8b9312ee98f493f472413501bdef72b7c59b20cb2678812806e73098680edae53add2b6a25df59db13dcc89270751adb0880ec6d5a8358ff04200501b5e0a5f301d2a15b38deef145f6e23bc6deb020fe02d63fc496352629add08506487c631d26a06fd1f044aa887dc605b9362416e3f1064a3f67fc551b2969c0404e889942adabbe9827737b7febdcf2006bcbe67db7f70b45f6bc83d5a16f56313057abb77455718ed24b93313af88d6979a26a50cace7c0680511487eb7c915909af38cfda56984f2bbcf46fbfcafc5b8178a6ec461f43776ab4edd48cae0a29629509ca92046845c65e9f669cf6695dd7f67a0080eba5d442ba7bcdf3299b294e216ff89e58bdc7dcb46221f07070e2e26223a3ae39b60a98c43d6b99984bafc1991ddf1b9ba2db9b9e247d756ed847e94a11ce281cd1c4a729c22bb3b2a16870ab9a3dc375311f9cf227a7d587fefd38dd770b38889ab4441a02aefe6eb3e8ce6b3f8e836abc31f3b6c1dbeaf1032e07a17d8bc022e20f772998f27d34f6537d7dcf31b0e973171db16b041fb51c49cd5a24fe477043cf5b4db5a13ad9c522d674867b87a4bc6001b58018df50f1235bd8ef48b7299a1ab6b37b6bdc2a66ff1253a11f93cfe26f3595a7d0f56fc81b00c8f91721f54264757f2258323edb1ff4d414439337bf9c02986647a3348130de2d6fd11a25765d0f5b6d9aafb2aaaa09519b1810f6572e66ef6885c098a1a53f644f38c586756bc3f77e40de8aee6beb20e9c2d5c2aa3b99fd6dda24976141998b1ebd9b853a124e1243eb58220abe2ef009043f92a403490e849137dd2cacaac6a5add95f4f78fb9ca87886064b9ca537c6203c576229fd736136c24e7a92efe9e79930801d13ba0637305ef487940ba6052b5e86d5300514eac6bef65bfda51b2e473087bf2b5c9da1bd047fc06a541c8a42186d33d1be5c93bc8366a0a3d2f7628951c77952a537df3de96457399fbee605f9270b9a5f513bf931e1e39d2329479225ee0f5a6b8aa0c14ac5a01693aa1ba6c2d09d79e7e0ff0e25343f36dbeb51cc4aae7db658967e07b6f975b19879d4d4369ba458a8928c98933d1c245c73b255d69cfcd77f7b7753f261f1ab446834299f6dc5a128b8672e0bcae66fd4921d3fd2193a04f077d1fa883eb0c3d69355a0c1f3daf070ed88d0e1c18fe2a4a90099ffe576f6cdb4dc87cac2f66ace1abf340697272c3d6dbea8e906f93dfec8eb6469f2620aee3adefacf1dfe4c3c0dc90334e35bb8a1ee83ac9f274c60ee2d643d38304b7c59c730ae89506edc994f58f1bc71975c1d74458735036d0947cb17b2caa31177ebc10b921b475f6f0f1275e5e40df96d197703ca2efc925eeb1d3ab638db2682c3f843b92e2835510ae25af88b99051d0bd69ec086571f6d60c898631706afe8b7ad9229e7fa5705ab6256d971070e7f7bd8af4d58a82cc19a77b29c0dd0b66b1c140e68c2fa2c3e77fd835625b90c327d274c6cb3ca7cf2743d8f562ee1c23b104b00995cd6daeb43e8d5a06791a54c9d56cf853f196f9ef146647fc63850da5bee7838938c6b99343fb121804703ddd6263aad206c6835df1d4384ba7c02eb23abae8d23d772e46ee89bb127043dfc085c150382205f87d74abb64886ef599daf5c9dbdea9e57b50f731a3cfec33948aee68687ba5fd09a33efd22510bea92e8c5ecdb9d809012310dfb541a3ccd1efb4cf7cde085ea4f58f6bbb6660111b36340a752cea6809e04f038993d0e0b2ba7becf02bf8a25ea6c39299b804ac451babd83a33046c16389fb0aa0c04ad85e455b5a1590889e2a0d0deba8a0ea59b3a75b0698a1bfd1cc80708dabc3196b05bc580d304aa6974f67cf9fb934251367cd2df8973253e110ac8fe44236bc5baa2c1f4935cd9c1db6c695b5204ed5580dd31b6e768ea4caf808c62aab0b7a90f96cd8771b65bfb0c80cf69597be8d2e83494d7a3d1f1217bc9e0336e2e2802d2ba38ad9aa480a4747767c187dca51092e73ea569d3242f4362b3ceb7d58536f768753c6bbad6e8c9a146181218936e301496776233b7200cb145272f3b9782817f0a76ed5d286be9eeb1c6255467c47bb49da47c6dbded2264d11f9e099c1c9c391f6fd467a0b077ecb692d70c9888a64f2e85d48631e66cf29b53ae60d17a6d1c5f034c8a6ad40093e91bdd553d1c2c41f40fd656cffe7ad4c82f3cfb69a47632aab153585341ecce9bb26b676f9ac3f0e00013b687007a231c2b81b4239421f3e5bee7eee41c151d934e2fb58d6a51357be39212024a1b9192d7f36275d54c3d68258c71eab76657fcb62287bb1d5ad1d7b314a0591ee38b5904ccb40bacfabaa95ba3e079c148bea2d6955c4b4cb4d66b424368122f58b305c2c800f7fada685436f95a6a1e1e57c8facb1b5b93dbb54ff9c5a3818f7b0d9d58311788d04c9278414969fa3a7efd867e73d6fbc634bc39f3482ad457b2d7776dd9959847840175eddd9f73b66b960f876824f9f6b94b96bd2dbe06f766865fd1cfd6d0d1d15436b50d8ee50280a0e16e78be1e7aa9f97b2cbd25946bf810729e5c80220e0be01170eddfb473f3093f83959c0c85dbab3c1fdd3dc15d213bd125453c4821553edcd02b0b58e5a73eb6b5e3866068afcdcc20f2ec5afb54b4ce3d5a3463134ea7ea1d3c9a9ce4eaec6f4c610107110fc1eed1b0a76f067f6d5fd672541e6c792052aab7bf0ace155f8454970f064228cc9932cec91e8acb10bce6f9012106ee75cbfe9f1d29ed9bc10f57c7b55677d70b1e3b9ee4a71a9eabb973ab83c56b29a83dc0b0209f8d0f4b76f6d31aea7005e16a1c123a8a75045e31f4ad9bd9ce806d69d497c9cf49ce1999ff497fa52a2ec2a6dfc102ceb6181e65c75dee5af15e2f88017704a6cf98ac9e72e9634400e667cb98e9c5aff2b4c6c710aa0f41a0fab36f688ae5917d59aad797f3c4449dc2a8858ddeaacdd6d7c529dd8d32b8a9befb1b11877dee3849d8cea931dec4ee7183c4b0565df2c4d842916415b500ce840fd119aa5cc15a8e3ecfab9298508f5442b6c0740b9916b9b21bab48cba67e43ba73412a04e95bd41b20cb3ee1eee15c592065603fbf84f1318a0609bba327350e8b8020b3e533a85e5fec9b876b723b6a585d11a167447f2e9902b93d8ba2b53f30aaad899b0d729a62dcfa67a01f3c005b5261093f8218695043abdfc6e42aae3c0dfc8bfcd234a634c751f8e78da4ebafad3caaf827fcd4dc61004179809382f99f3a2c20ed0ee11931e3b88135a6ad284ea5f99322dc3604d089713390935ea91502e4002df03a443ae7a6d5765c33a6b8935f3c4355d117b02c8b0bc99f3896622c5261386de74c9101872872f554b848cf8d7455bea9a99d8001af9643a739d13f3c5f7264bab109233430a9c8ff3b8e3e3ec7b96b00dd2c2cb5a65c7065b3a3a0297f8c20f836b0485450822a80da517feb610a97a641660787034320392a4c71b82566c2a7e66e8c6a2352f5022e7d6d7baf3ae8769cb921ff9aba19268895f8ad865130ee7afa03c14e9a64a410e1521c8f1b7bd171d43018d31a3f8eab13116bd754e19dbde852b121eeb1c4e10bd61b16c7e3f18d2ec872ffd6026fea4eca669894e90b2ba31756b8508bb2be9783e147bf99c854c4b4a823abdde36ed86f4486a36d532cd8ea74e13971fd7abb508c59048c212ff2d5c07455e3c5083e8162a90b5deed0612fd1b63a8c45175764fb087957d3aeaa805b7886a17d56304c765d0d025d1b9200c40295fe0f402297ee2e13382bca5b1865d42a5c3768c674d0bc21644297d0f170526904f5f3924e6d00565149d6c3e301fe0e7d459162ce6e24abe366507244cc7575c7e4e981a9637dfda9530cfc248d38a861c61bd9d92ed63d78b8222f51728eeffdcfe6fca191c43f044c9ac2c6a93f9155d7e63be53b7864379b9db0b61ffa307460f40b52d1efc9866ca4c7a3f6d957fd3c4502bfbc4ebe2642de29b534e53b405acdfcef31ab17c2820ee4e0a2f86e90bc5d6b211fefb95afba44f2b54c860ab3935d0e2aec79f0cbe96d8b8b0580ce8ae0b76464c5f8eabc0e880ebbd4e1841937245e87a8aa5df3950d0a2a8514abd85e5518485e9175a7004916301911f34cacbfc29e0983943062ea504345595f3a7244206971c1f4e7d66b201eedb305e03effc26b11311f27bf2c35cfd3af1a29a5820e4afa66d3d9edbd74b0b74f363358e61f043c4e3558d04d074f362b91d00b628be09d5e1b75b5d2f30543600a89d555a17a1e8413d56e54ee4f8cefe55b1728725201ee4383afde317162c6a12302866274746100b7802a437ba621a699fac66c47838b2706ddb3131c748ce592bb9b27e6ef73734c3fcff2850eefe61c8f0c6a97683dc053d7d11a62e3d5c12a19daf88b03b6a8accd0d567ff6f07ef564c473bb903a83dcaa6e989da9f09d1c9bae2915c14428038efb0f3ea9350882ce23cab800f74b10bdc67265af9ddfc7c1d6933cb4482dfaf35b83a86ac6f02a3a33a41af84068c70df1819e66ec7936e6275cf609ca8407e6f3c737544bff66641715fcfbd7100c2dc21951338c637baf2bd1ced28fd40ec485b33c3911670ba65dbd74d51c64070200595778960c85d224d17ed1d0e0c82b67595057f93381164c92ad3c34d84d526d6be3762d2f44843c1f42576702e0efee0e41525a9afa492f7d44bf32a765ceb4671ad2f2aff532056c94175e2067c69ffbe6a6faa95750493e154ab70ef57f34e71b63febce48c591586eb58728a00043bbe6c09234f8dc83eb00157206287c86f46230e368e4629f192b838915e19149df63319c4616cc799fe01b3a855e62a4e5d825d4aa5528d26e5697d1f6bff0bc091fc9899959e83e8823849f7d84fe610d02e758a8387385e9084f91c4234897c872f356759fe5a9c12eee476929fe5af9c18e855269ab2aebea759caa50937fcae75df54b1d0c76420505836d457dab5cc5e2c6e03cb68fbb708695cc6e15243aeb0c7c07eda029e4340c6b8b7335b8647035dd96280d8b7b3de5b5c8769983d3f929046d4c6928709a93b40e0ae649eb580989df3e06823a982e48b77b2d6039d3664c2ab57cdf609f222d3d63ac9a54f46a1748eacf1c35ca96e9c6d4a5d7463fb5959c41cfeab17653edc22583185ae750d3c25c5e03ca321121eb08ccb341577d9a82154a261751def3f7f012c31028318bc700c94ae7961850fe825e8af5d3d6869d9a1bd248f2329d0f74d196eb467cdb2a370870efc48d0f6b4d5966617c0ad6aef580ae3fedb18c5b6a0cd272677cc4202f817706d5716f8058daf1458d1217b234a557abfa5e26a787b8b9d9c3c4597269863f418788e433a3fdb83209", 0x1000}, {&(0x7f0000000480)="8477f73f40761305ac872e0aa8b2a0eb6a636f8980dc4de9fbafa92ea82f2c44d8996d5a38afe678a5982e960bbf61be5f0a85169998d3a057651a0d7d6e79434519ddd08c5e6fb8d780c2d7c3342faa4d0294cc7dae2fb0f4d941a0d487a329adb3f9f0f8171abfed", 0x69}, {&(0x7f0000000500)="a812a9dee002c41028e782fcc00568", 0xf}, {&(0x7f0000000540)="00775553334ebd5c887ed74e3d6071817ceda36b14688d33e47061f0d02d7fd2c701cc94aa9f930607a7f1d0cf4034bfa5ce632c7440fd795b3d10b78d7cacd9b0d306baf47105369437e7d44dc8916072bb119499dac277c66dedb4eb35a304c2daeca921572110f7cee2fdbfc96a62bd6cda0614ad43cc54e69744c1d9a24d5eb25aa80f62c526056931040bba1a61dc", 0x91}, {&(0x7f0000000600)="61ff8ed13b364e444fa1", 0xa}, {&(0x7f0000000640)="3fd014249e78c84676e855a86bbd2e8295ef028457cfd459370b246316f3010b7ecad54c8b1b1d", 0x27}, {&(0x7f0000000680)="03c2dff0434fb6fad4d54e56212bddcefbbbade43f3b1d4b76e7c8d8e83a", 0x1e}, {&(0x7f00000006c0)="3db2d5b21ecb36382e37d6aee09158707e5d39ad7ff64709725ea3dcf68ce20af1c03709703e7dd78ecb7c061303ab378811c7bdac316a82ccb48abb71481dfb45c598971bb1d1e9ca75357dcddc4cc9170ff6ca5ce69e4eddea94eb3b80c0281274cd7f9c0c320985268227229d039b16a4452ce2870538acebb8b66eb67fb0c413672fcbc2a33790b76f710f792c6df293a0f1005888ac4e06e0e0dbc9b72e2f08557e7796bbca97d3f0d491", 0xad}], 0x8, &(0x7f00000008c0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, 0xee00}}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0xa8, 0x10}}, {{0x0, 0x0, &(0x7f0000000dc0)=[{&(0x7f0000000980)="e4455000257293b9a9587447ed4f07379542b86d5b74be921093d348f25c1ea9ec6dd281a4a23c45fff312348372594c97c0a38b3ffbdd46f7bfc89d01cc1d9cbc5f40e5faa7db20cb268233b1059a052d66e6d4", 0x54}, {&(0x7f0000000a00)="9d8b56f0d7a09f7a5bcbfe818ec7343e1429b97ce1f54eca8d3559dc177b60e7c11b243eb729463f61fbbb7fa2f666168006d98f44c83b6254a762a0831b779be43ba4f3701323c99920bbbccef1c1999d01b3ab0ceffed399df30d4281268141c87d4edd564334effc4b425463587507f1c8c9eee63cf", 0x77}, {&(0x7f0000000a80)="95edd7c7b6958667bc9174499f3cbbd0ca7cd9297c3f8bb5b5ea256f92c1aa3556845b3175d861a82d440aae3144df1c822c66e4ee666e69089c2d738aaedbe171c11b47393125c15592d7acb21983", 0x4f}, {&(0x7f0000000b00)="e1f4c3fce9c5d7598a2bc0d8b0a6ecbb04f16235940bf568c11cd39b0aa615b5c4cfbd23f10139c3d4caec6b41679a6010", 0x31}, {&(0x7f0000000b40)="a3fc1691750711884304c5bd86de3a2f8eeed2272b5724b093df4698f9edc88f054429ab970962112b1f7154de88f46ed8355c039fdf325515792d0acadef30a670bf4975df787db7062c5b3a5a52c72df130efb5c2be73a1177cf0b6b5e06672ce918f7904fc9252cb108e7edfc394006f4ef", 0x73}, {&(0x7f0000000bc0)="b0185f6f72418f", 0x7}, {&(0x7f0000000c00)="71d19b29b623beaf03f43c2b0e638f97aced7559a32def8bad873be5f5d0ad7d35cd944470c7655adbf6b67da857555e1f5edbde14dbb7659ec7950d40b60d6605d0282205b228b7ac71de47e9645c39dcccaeebbc5be3e1f4ee2892ebba70900ea1a45d1f283b2aac6bf59c12040b4dc13da388a2b9", 0x76}, {&(0x7f0000000c80)="433096843973dac6bdce5183b74e404f87b89b8583350b1dfb705d7ec50e491e85bc3218fa9ccc4022c21b", 0x2b}, {&(0x7f0000000cc0)="cd9c01b2c83c9c290d8ff9565d2f0a63aea8ebc3fd93d9653b6697fef9046cfcce1175b9120571ba14d58e8e284863928c08d7499936c81ccafd3503e59bfca6430610f95dd2a09d1a91e566f9edde1a575a858e20634ee3fb5c2a32a661954711131bee1437f533b57c4a60e0f2f18613566694c047", 0x76}, {&(0x7f0000000d40)="d250e1e66dc6f688ab68440ad6b76a4b7fe978a0336f9bff390bcade90116b72e6f34cb142482ab72952ecdc42c8078c83916e1786d56ef507415eb60e9ff9e2a1985e22355c979eb1be6b02bb68fafb46c48bcacdb2e9e66002ef50ce87dd6df6ef81ae37d3fe7f4bae6f977a739fe244ce5a", 0x73}], 0xa, &(0x7f0000000f40)=[@rights={{0x34, 0x1, 0x1, [r6, r3, 0xffffffffffffffff, r6, r6, r6, r1, 0xffffffffffffffff, r4]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x60, 0x4004}}, {{&(0x7f0000000fc0)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000005200)=[{&(0x7f0000001040)="25adc37deaf18dfb14bb72f11216240c552ebceef6712b6e05d9ea8a9afac4276fca9fc93544cf1483039704b1fc1efd947d5145fff969618b5cf396b4dd7843619758c20db067c38c", 0x49}, {&(0x7f00000010c0)="bba78018aade8ddd3b74b5a97cb8862d2441274346e1e06dc7c433655b22faf6ca5eef10b09f32f39a45b7326631178533f60c1fc35337c09499fc669c8f115a41db1a71303ba11712dcb1315b2bf5daa530861f6b78cc8e2efceb0fe90a164d796b8a2b93d738bbb7d045371c2891f3158009f40775b70cc90b7489777367f2f5a8ce0cbf2dd793a2e045fa45253f561efde942ea3d3d1e995b2609cd51881147b7fa6f70a5256b9fe03c5fc76c9a1145dba5ebe96cab0a6f0ce9174e57308c255eabb44e660e4f24182ab9c42b80f845c38a2d72a237f64433fcec572548a70c9ad90fccb03bd31b9d5b02", 0xec}, {&(0x7f00000011c0)="2d2a2c60d9844bb14d1b4e70be59eb12e9e8db02050374ce9e2cd1684f551ed3d82c5909af651940e6ca640dc61493fb1636ab31dfec7d6e79135ef9c128e2616433896e656a70f3eb41", 0x4a}, {&(0x7f0000003200)="d0fec79e5410c360ae5f3bd4eec57981e0e8fe55c4b957e44b09d735905e5dfb797359c332cbd745d5394b82d9b8c0d58bd96f3dbf18ad9714e9804d5bdcc03c41bc91514ca83374614a47e1c485e93b0f813acbcd20f129a237175f2319cb8a883bc7b60cdb082483fad4a7b88feaa2d92b6beee43c9101a1aa4079db8b9fc05b5d4fcd60e663c1941ac2697c65e77a2291f945fb4270cc21e542d8994e38bcafbd87b553594f5ebc82d53d2a7f22a49b811bde3cc669edbca3d0e676b2527b19c99661edcb4e10727560ee130896aff6d5a707c35d2528b2c7f1b88fb9cd7c0bc70fe5ef51655fdd21083658f5d3139ffe1d9611fad3a1a98c47a3bee2727cc5bfe71261528703e2bbb5f2e5ab43ff30c3947c7ccc5424f70622488556880689bbd5b9fd44d202c3d9e613aa4508d9b400a17e055a0e1d26b6a612460d1d1bf885d03a9caf285d3746dd1a93130f266e5841c54758c8f7c8980bdc7ac0ec85cb20db7ba7e7922164434f2a3cd54b26b57e156ce692fb739c508803a4a49fd4acf079e5596f6725d8d966f84920c2bce8ed51654e6ada6a364c268c74f0ee5fee8984eeeec94e2ff9f978e5b9df487de2ee14a5b33c9c399cfaa06f995088f0f5239262953735d992e20f70c7b31119e8b3dbdc3d92b6387c1d7fcffafc1fe4072761cc666f12738fc01615d1ba7292a88cbf54a9797fd80215184c6a54e12b38e7a52a30ea0a9f51e55f634019e5102f0fec123fc22c0b4f9308d04155699ceb42ad7c587fd25799c5a54e1aeda6dd245c93021207f3371b04bfb178b80b1c6db016d7293639fb9b952fb97140ce45fd5aea04c40a1492cd2a321ffc07e7df2435f796d50bb97657036cf9a1f442cc6ec976a034feccdd2a3b78df8899d1c4990f424837bdd7d0ade7d262bb64792aad1c2e39fd07077c0f5927c2d40a5d0378793e9e0d82df3cb57e2eea115d2cfde02854510fdff2f06710599cfe8469d1b8aaa52081bc601f3370a159ff83f2621b6012779f2738d684d35ceafb66736d7737813cc3a0534b523f87fb34e2774176016c5c0fd73b3358d199b0640976224f304212aef8d83c5bd85242cb8df97dac53c5e2f099d7c64322ccd6159395fed9c571dadd8dd29e80af811cd9d8056072924a71da7da7841f8a7e3507e76ab2a5344183547866d059233b17a64bcbab1a8a4627d2fdd7e387e239ee9ce4bd9304e56c4b574b0ef74e831d17ca400617a3b9b273622a2fb17d794cf1502afacc88448373e506008fb7114e2224917385c43b8e47a246dbfe8753fa196fd87f72b07e56cae825643ec3ed73bad5e430cb5cba3e86f6d579a7d4c05aa9abfee3f71ebca3fb38a1005633b63a957249aa1f4fce168cb37d30fc70bc7345fd9f579e5395456be6074d11b0eacba50bbe225b5ac99ccfa69d0a8a9878cbfbec234165cafaf05a265d07352dd1b7528fac87581164d6f64f4a327436fc47ec92547deea13fb65b1926736aa95292938927ac7db2b5a1ae6c94c54fbcff7f7c18f8bd0d87d35fb1e1ecf1364535a04fef7979133f6589ebfcd35169e5716fa56c88760393c0b47712dc9c29c9e7457a0782f4eca3f1f7ab0d83565d8a57545e6d34ddf25a51350bf33481c87622c766dff7081f281c47967bd93e1c9376c2c6da30ade036db12b87edc417694b60d6b593e1d7dcc9b821ad5fdb83268f50c70c1bdc3550154501491af4cd0ab41bafc9deeca52c1955cd8fa047f2b92ac95c32f430e442e92164e4a8b4edde4421f2ea977ca05bb81cf4372ee835d6ad7ada0b068c19bd49967aa5185dac009c663dd591821218d1e4bff39184e6e46866eb6d7f97e4002b68458b2af6a65e4d755476f84b6994fb3b6558352fcf73d053c8efafc9424b533f1644ec0e0188f43fbb45f8f39330ef3306f881c204908dfe50559669bc944817837e3d50fad4138b33b326505235758a2a510e9a3df4b96bd5b0d9c81ceb114cbd539e022d60d0c732d3772944f85a4c20f889ab9a053f558ce4e4aa9ad536a9f9b0fe1aa973fce8e6812a6dbc76b7c02e5b555bfc959cda4aa4f16d2226239e6d966e3f406b6860dd6b1c8d4670eb3c8b23ec161c94af7330a2698ba5296450842dffa94363ce1cfba54a2c9d27fbcd9b8952589d531df5b8e0629e97a83124cb769d72c474ade928384e0341e55131f5e7fcb2dae80636f0edb3c1040de311a84a13a6f8224801ce0008118ce0e194238d5e2acda22581d53e6c6230a2e951e9d5cd063ade209ab484c1c57efee52039702594b78905a3fe8d8a0f4042efe4e56cc90524d1bbf3275b2e1beac2d1a78c781154945a98925458faf54a6620eb4bbcb84544c31dd2a4682ba1a338353c33869fe2fdfd68d898b25f4801c23e455a3fc79d1ffd6f4454748c85ee812dc559c6f614b8f08af74faf189aa6e8820f314c1517e89b09e47ac2c440375135ae5f45dbc417e5e0ae57b0b8eba2eb844bfbbe7c08ad8ec115d13012fb7e26fdddc841b1d1628adffa8aaea0283ffad91745794d79c1e8c3e4ab5cd24a6b615062d22b4210a953c564f534048353672a528b10ecc9cd8f03a600dfda68ed1d53a0914892165022eba444b240ec5476025688dc323c0901c4186c6cab0ccdf8cfdd8918be02ece858fa95bb10eb72b8855fc541ddc19543ff4389800f9c282237afe886f1aff98d48976096e3021c163b2722a76ec7b2e1dffd194ca4649a4591964370ec87b92516e6c244217decf6675b812f94917be23d241e81b5f288e0f5354dec01cc3dadebcf99eade491a26a8b1439717e0e8cc8bbeaa760f6ac02c72ac504fe6431ca1f6dfa5449ad12b48adf2f1ed47f934f8bd1371cee9fde3fd37a544755a161decd44e0ab5eabdc0b4d0e79ec65c5b456f73b68ba50c6caee7cb0772aad54a0f5eb31e99acb9f4709effcdf9306a928c01b4a2d001b15af44ea3a5767726f95e6cf234587a5b7f92517de7ce80f1d58a1e3fd7499eeede044043addfdb34df9f16f78d08defb42b4ff1d9b54169b72778ad17122e3ce52c0c3fa8b47c204a8b9ab8ae0314d51039a0b33dfea0c2de9c2419f06a768a86ff30dba6eb480d23c69e863a52b75bee50773a78b6c10871765e9bfcb6b8419906cd22690cbb6c45c2a71962ba19881063568d5ea9206e1269df9a1131ac7f6c91bfbde252964fbac4b816ed017a57b59d0e107ce6918853b063a849b47c0e63e096084e18981d045e6adc145d5d106ebc0124281e50c127a037d3128c2974bc93efe8a2aae84db155bc066b365943fa35520e6fc5387b2cdd509433dd15decf145b63d4f13d50482887ca00c5388ed5446788a9f53f27fd4782f72c3647b65d9a6803f3629806264605a18ba75f9b71ec8ed6799272d44f6b8530ba2d9db2966a41561efb6a63734d64cefc6b5376711b9fb26759c248bc227bd418bc00bb63e20edbbd5188c127e0cbde5e3c8e8450cd5f554433ae6cceb3e3df0d011d6827cddd75120a41a13640fbee455767c7f9c58f231fbe2a98859a019c52fbbb134b9286d18be6183b6eab3d69101a9fdca12ef472300dc982cae8e2b7e782cbc1a05af72774b4f45904e502d1146ef793ed33470bc16011e234c3823c1efc79bd38fdcc547806de6c85017ff3cdb13a0d055ffd7afddb1b675c3e1e78f1139650effcfd7dd474c49dacf6fdbe8f8727c3f1849f3a92f2c5bce397b358021db3d86c1517e2dcf04be189db14c7d8d894f29369e7767cdfc85dba7c3d410945f8266560683f4da33fc6754557b61954f93cf99f593e36b102138c3468affcfc866825b606d90acecc32dea2f29f1aa062b7b489faec58a660a519c9c4c953f72a7c6595d1993242e6fb65bf235bb09af1d19377beb62a5474f9c9afee130173934df4050537d79bde74242052b09f66d0cb4deb46c4cf2ba9f7d892c42ed386a526dbd10a9b5d781bec48696e1d099fddb912189470de36bc66cf6380fe88ccaf919aba56b1187ccc57a4dcdde4f7388589218f8a2afe9975f1d6659b91257930a79fc51cdfcd932bd52c14540b796b6a4cedfe0d796365fd174e0f9e47730b968ba4878ced532b10ca1b4d73c8b6602e21946e393f002cb27281c1ae2754014c518682518921652d79b27782a9776389f25bb76ed805861e6ca4c5da8a942f33c85154022d2f73014a3b13fe6974348b5cac8d3eafcf49f6c979619a1fd66156bf511d8ced4ef0ac86ec1f6a4f70b3929c68f46b4a2ca5163667ebefdd894d4d873bd4cddcb194b7e8462e7eea7e54ea056993b86c9199e49b97a0f56b6c9f2134ae5bc6031557edd0d8a371226a610af5f43b264ece0ce4e9a02c497c1e26070587ef8da77b1fd8f3a7cb51c656f094a85729dd7570421552f1a6782fdfb24bd01ca860161117d4e39c13ceababc456d2d594384dec9615f5be0ecb3c8e452c0ba6e526812d58be02fd50e1b2b56a9f84beec934e4e650d448e9d8a91c4301e661e60c2b146de99387401b57bd88e0e52b183fd4e653ccd89b7d0f074bc0eb379ef5934424dca23cb63a2846912bbf2244cf18f9520f52fe5e1ef6c0187280df871c36f1aa01a2a7fa48e2872f76b53e928399309cd164d67032960749569d9f8fcd134b9ee6b6c8c7bbea10932828a46269412038eb3a8441cafdd7ae705bd10bb6f6dc23b5dcbc33d893f0f0bce56d6bda8481faa76fd079a9d6cc41a94de708ac6d55990b5084aa8c387f9170ff89a7c45a5b7fbef19a1a395df523aea3e88ae5c61b5104fb7397243561796b07e98bc636c3042ba0fad756142a13250eb32a3df2f96c507825e5f2d2bd5db6bfe3f233b5504b7eabe8e657d4f6a7f65fb393f159dabca1bbcb2206b8282ca4aba3ff6a98bc14abbd06f9d1092daf40935ae18ce63cae29012f99d0cdc69df275ba177fcd298a74ae272db02e9f775a94696acd9dee2c030bf4b3355b72362b54aa166ab036f47538dac4152b57c7344bcd96c7ac3b56efa9000df86d3d8d71f5c35b06baa39400dd8115156483638654bdb9b29c2427690fde3571b1952af7262699dfa1e3c0b32264524d8a81570628ea8f34996970f57fde92604ecdd77ac314664f61101ffa7eb6f3598a111466496336f4922564cb3d75fcf21805da724f0a81c66c9f24ff5ea4fd967afc3b6b8e42df4836682882f8ae751e784ac033d46df6dca2efea2aaf1238aa8a94afce371852eb0e2d0248fde665ab644a65b130d52621d8a0eeee06dad58989b6234151bd6e757c09cd81f9f6c836bbc3e9f4adb0b42511b5060f786d10869486aae0c3202869e7e00f0664cdfc3bdb59f61142d058340272d47ce754de9bee67c53801c6902295c4a4ee08b01aef6ce8e0b82976e5d69c928f13b8447d0cffa8fe78a984b8ee5adf70364d83bb3d6c05bf12b8a98cd2abee237a675dfd2c31ca07abc6ad32d0c15bf5736b2cad34d4aa080c44bb7e1875264ae5dbe01138778824651a52d1898b0ff6d6b33672dd7a1d394d0abbdc7824cb00af4f7f30fad9c67636435ac178928044f1ab828d81977bb910d8fa1d63da211f886362484beab9e41e1add1a64324beb3aaf499e612a1c059f47eedcbd368dec03d3181fb39097e90999cbcaec4d29b5ea519e0f1afb03212b3aed73953870256e7cc15cec50dee8f8a7c7feb71e7e058e356e6fe343e24d6ad4b563ddca336ebaff5b15c122735045d4d6d1a21ebf248038095b96b40b0c60dbf12128deaa7061e4f291141d0c3974130af3cc033abb904352153ad39dab7422b1047617d", 0x1000}, {&(0x7f0000001240)="d6b43e9dcd350438c23771ab0c7f13f7f1a83489e67f55c55ed17f317c5c12e5e3f31d89cabee53d9eb731a43cc15f3e5d9e87e6604fa1a2865598c3d2f00c457c85bd760dda39dfac46e78ac5c34108d84e0e29ff4bd9c5ced2a636c634367660dc00812ee71d1fb682eb6dd5b268f66f5d29719b234b722812c8b74423659e1929328723e825f027ee36ed2ab491979d01a37b96b1a38041b82277b7219048f4f348a17266ebf6e0a35ba0d51032e1cf1dfc5271112bd56aea491970898b4906e18ea87e3a0847337a0620acc7c6c9154f68a1b8824812afb08aa42fdad2b6b1d92e55cd", 0xe5}, {&(0x7f0000004200)="e3a769d22ac3c7a58bd394cd7f700d734c7201571194a340d53d8a9b17e7e7ea44b2aec6626ebc8fc49971f33c2f49323d457799d9534d8845db671b0539ff722e61fadc7bcb3c9de791e9ec17d5407cacfb20fbcd2dfce4852e6d827647da39ee143a46bbd654e5812f5b7dd2ff05c3777970a66cfc69b6e7aa122bc97a074399fcdfbbf61e6be84033294b22afac69d698093ed1840f27f783e5a2f4e274f0a041aa78b6b18e99064700d45bb7b9d0aeef71839e34a9898badae3fe2fa15d82c59424b7c063c4871cd0cbf5c03747a98b6e1feb1ce96690654dba8f0b3f3d9a7102d6dd723347fe3edf32f68d82e8634fe4d6efe6c05f74b1188721f491ce5ce5e745d408d7fec96a288df87df2875ba1dfaf1d580aa93bb5998a2bc0efb8af237e4e8386978fa26d371c9c0ee953340828e51fc4d1db14121ac9928418c979f5866638b2157ce1dfe46a7cbcc47bf8441eee58382e98cc6f9d2baafaf16712ce8bc54a687323205d9dba65d2d8a064a3676b89cfdbb2a99bfcd29b3d637c7fbe9257d257ff35b5f1b34f8aa1f3f6614182d5c1708034edc5ebdf30907ed4a20083d46ff31c26cc57f6945f29585fb4639047d68c3f70b1ec3be0eaf9497651695793647e03c81d899d6ae8abcbfe3aad3900880b37d9d25724f3ba77a232afd8423b6b01ac506c62fc577cc3c261beb6fc872913dc24ea8167517178ec856746bec77239004a3f9ee8c1f23c2c95e9df1d52b7fd0d674dfdf43fb4573d6081815bed00107617ab1b7ab0ab4e8e465753c505472c3b27fdbb47cef03c835c8ad46a23b19c2163200aac2651c71533c472afd953d5ed708a84c54141c92ae2b66ee1418a84a28745f5bc7522abd2262e42d40cde84ac7076f9075f38e4418cfb8f8fcd826588d80c40ab30a59fc08740d7282fed073083836c7363a32a9916ec70ff4a92754a6ebe0c54ad4c94984994541030a74fc15489b3202e08dcccf7410807fbf53bda8793b7a41900db4570fdf863ce632b097242beac5a02992ff58df8a8e8626eb9cbed14fbd71eb53e3fac307c2f43abf41bd89abd1ba5a412cc65d96e77f231fd7c896a9ead0ced05e7745e5ef8baccc198f50a72d6f19399bf6b7df3d5232bc194742ec9fa0ffbaed6fbefa136f9f987068ce8c609cbda7c18c76a2aa2878a643966ccee4e5c7324f6ac7fab5a1a81fb96144891ce2ae3856229abc873d23bc4a6eab312bdbf34407694860e0e99953dee3cef7fe83612548159ac81679376044eedbe05a35e123785851474af8254309cea270a3db4be593a7cd73d50e1f284225377c6e0207796816afb6f4782b10e06ce4b280fa84dfbbb0820295aa92a62e1b2176d95f0d17d319aa86381bbd0fe8413908a3f467447c52f905036165250cf74060e36fbf68f814700de6a68e2a3a781c8e43c678d89d0303004dc226fd2c063cf3f1c44fdf3c73ff621350421b2af58c55b799646636740dbf1c366be94df2292656b72bd91c46c948e8bd05af593eba9127461a22e5ebf3e1b1c38a649e379794042cd8e3c3adfb3e143b663bf5ecace1e5fc739089c3d6b372d931acc2b24fd1a93fa57897f4136fe8070df931294eef2c714fca4d207e0631e2f0fbcd8f9a7902b26c458bbd51eb1d883deadf1fa357d05efe17eb259ff48364ba3c760a7865d6bf4c9f22dbd1ca09126cf731ea728b908b94b6a4cf05c3cf9dc2538540c8ab04aab7a7429fdec3cf7ef45aad9eac966967a326e68c12a65f5f734b90ac4cec12fcf16fb98ac57c03d4d56e5e42be769b161951d7c02464b70efa34151a3e67630c10fc72e345060bc1be3b45c7393ed37e911e544cf47e22670eea946670cde5c44ebc7516fb49a54ee7020d79ddeec77f492b31fcd058ce0fa9a26e2a8d7702129afd1da8f2b6d6ec83cb2128e3694e5e6d05aa2043e3bd385a3d048b9597b1b4cdd108cfa9c63f1ea54b3c135a7d40c278406f4fd450c21bc327417315ed8f2b2c3d3a0b1a9276d07a61639c1cfa16c0592dd20260fc13962f80804cee873c98904d82b32055952b83749eba93954884f8a3c1bc9759072ccfb666dc1b9e6784cf9c1fed2fe5ac68f0a1375337c62f65d0ffbcdd67f43c06df3848897e06cc4b8b1b7e37d35c9f84a27d1a321df0c75ee2841686fd9a8a23fd179395bf2c79a28f8268867619dce21fdba1facdbe61e7eccbadf4e5dbb09d67ed56673d129de1966438fed32d9adf76f62ccd6e13c24c09cb0f6e1bffab0b74f3f94ddac05d86e84240a20ab7fe5c3ae31a8ab8d03e7beb370120a83f78fde9afd15d1bd42d9e3ea978a98257340054853390e04d31161b0446158ec5fcaa07f33e653ab1346c9c95863897bc0ec8cb1d65fb053d34a94e11282dedcc5600341999fa302027eea41ddacd4175377ad1246c2d2ed484b0291a115867932ec7d84627ee8b3cd4edfd8f97d52c8061152601e0b4cb480fb64f1cbd9ef460c79d63bd31d2cd3a799bab5cbc0ec8857c7af1bf58ebe04f64ca6276411e2c57c15ac019879298f4af14fd0460e85106adf71b2e02062050b70e5834516d4a45b69f36a41b69a6d168198e2f6a8cb7b45aa5f7158b02fea77a41077cf04aa5328c0e2b06a378b98110b3bcc255d4ea1fd48079d236b7c475d676d8bf036507c1c5f99150fd58f21cdd4e785d1a4626b40036382f770b9cef53bebd92f66c28a4be42eae9eba35ec6117fd2911a415e3414e4ad156d1b5301307e97ce92579165cbb76a3947f373074fcea76bba1ae3c4b8d9cc56417c647e7f94f44e3e1eb1ffae92b8d5af02c4e089518131e9bb1ea6b1d4121459826bccff4d2d6cde6c26ee9b243d6874f6a15b743cf38928d8306a3141ffc6594dcde3fad3c97d5e1d0adc1cabfa710c46731de8f518e42a6273c18244ce5fd31b27e078a8b7bfc1f84259337dae810b1ea487d587aa78228052f7aea6416df85330d63739184b0cd280f4bb39dd3f9e0a08caf2055d86b4c4a744b72e8b4539c16881dff338d349536f7542d1980d67f6e43d1866f840457a7ee4a4e4d5324aca165403c91a26520022d75168238f96b51e3ad0e923f591ca99c284353917b65ab720131b4be2ff3541093f88d7a66247dbb08818c1d8709d0e90c2059b85c400c4b1833a05a88c63595cc1a1899eb45d51921dbd3d6cf8c176e5ff0218ec66904ff5f6a455c74678811b51b9c7507a9333a0389ce3b4a5762834b66642a3647933d504c24d1bb716a4876b665a98c18a6ef4d29ef0a44b9f924256edd0679e3a1af7cd110f293d91f5a2885b8bf64d5f58fccd76384f94ed78a36f597e8e35d766b43d24a4681616e11a9511647240c58da972e395d559d457fd6eadf9352b7f596d95557c9fa5e01b689e784813d8d2b51895ddf898bb9a591d6c5e009a1488469c4b709b49ae8fbf3484db89f09cf19c7f6d92f884b20ab57c7c487daf91955c987bd766134036fc25d1b03bdc8f70dbc8d3cfdda1b7ea54158ab95b0e5e26bcb22760d7c53d775ed489535599ddb61ca100fc9820efb3175993f9d100a9504ca550da5034d920653528eaeb0490c4576175c9356f09a4ac95fffece346ccd95631ed06a760b37dbf4ec219f8996d78183a3ab2e08359bda5c6037bc9c152609ed88c6ed2fc3fc9e40d40ec38069631aa3494f42f8e45b37a7769b70e579b82b574afbe217bbbbdb13c8acc1f385d632daf131aecd404781135c94d8bec00da9887d3b61f3f264b173a9691e057b9e9c4162ad39a60119a19ead6dd71c2e00b22ec14d9cb990fef38c9a1adf0bb8b90f1c23f6e8bdca01866ddac5498144ccc7d4b886dd055732fe70b55a881bb99a5f4f9dd95e1ad7e77ab4545df5759df8f2bbbb0ca226f4276097e722c6c3044264d41920a11d3fbb5c03b85e86a064f40b206b1a22ea20118a68c1b68968b5c78b1c8e73cfe1fe73e3ea6a6101a25e47e46a7cc1ab35a54baeeb1ed7a5317c477e1d7ce0a8da1319c79efa87a6638a5b8905bea954ba6b8ff79cfeead570f966b826abc633e5f039e29d43ecfb2910b95810489e178871657789613eecea78ac5864f42daf888de4ef92790a4f266cb9ac369d3e4c65e3e4ceed79b72d9a482f017b276de0ac9385a6076179d0bd3f96966a5372d67638f6bb2af93964247b86fc80a4f99c31a609a163e619a914e31f6e4d41c85effd4ac1b1b7f3f388946d17639b84e5b36daaf306c1daf90b49a1208f4a41a7803faf350192c9d70cd4753118798b4a55dc14e44cdf5e8bcda4b4bdeaf45b46a50acfff0e0de414f2291017478b2649fd4f4d68d07b13f651afd125f06f4f4870f17fb99b49aa63e91133a10b83959626320fa6138a479e5035839faa67e53a5e65272ed50f25020841aa7fd890157ca446e82e98a95cfeb7fc1450b0900fbfa0c06566e0b872ef08bee671acdda7d0e212d1dfb7687307358b70e1077345ea3babf69d8dcb41994e6feee3d50e2cc478200bd412e24355342c0521c8941149ca3a931c67b1625fa3a205a3adfb9956bbbd26f9e32c5691edddda7de477b871058ec821c6a0fa80c2feb15fa5f7eef959f4655bf78b058fdf896f05af37519424e9b8b23d9d63cb40c5337546aa2dec0791c9c91fd8704b99fcdf981d2d5356e355cb5dbdfe8d4f474935a6702a62e723551336ccaa528c393ef59d52dfe8f69f607f34643613a5a1fb55d61fde0520f5ff792afed11901bdc8a05f5ccc5db80578a8091485a6b3cea46bc0e13c62070e4a2ae75a6af78f0847825c768a32341eb55f8ebab411f37a1464c629a7dd0dcf980e940d96d89d14fd3d2d2968e86b3b46cdc08194e2c61efa0362b8c57dd38b7d38607d2635a7d1f4187f3fcf93787b211f8593f19faa64da97878c84f75fa8cdc8ccf0967114e0bf3786b827ed01edc2049f8ff71b1539689350cd2752b109e3cdc1596745ece79e8974c979ecb5578841442392fddf24627976b816155c6d5d442938453a6faf4a2e9a1a7dc7855f870d8c78a36eb283525ca7a26cc7166143ffd18c1f891e9d79401a8a8ca052d46e16d4fec0addb10a6566928e7b5ac644a5376064f3f2eef531bd51061758560a5247acdc8b825d622f9b8d8e806a3942a6ce4e873116458735246c53c830701de3928e54e8ff9b8285ed9e7acd43f836c1e3009ceaa73934b3a653568f04dff4f4199edb7fab1ae489e38b0bf0f1e9d3aecd14ad923430ba299adca9dffcc38b29c1d7f92284de97c63e10f553c47bf535fa82ef0e04796892b48279c44a8200e34b975738589d3c720e4645ff8df24cf91bc0802fe40a0ba59aac413118e5cf0714b9c9af0945cc6725e82f64e54d5636c543676f831fb2984421ad96fef870069abda9aa4de11b4edcc95b3d473327680f0b8cf355c905dd0411f5addcca53975b68286a04c1d5ec8e60269860a4739ca1e6004407d648fabf5907a8bda961cfc81036a1a7fe422c8628f4e4d8d272a6e34533e044212b5cb16e62c3eea095f781ae365c258bd9e29c2712823b66c251505d347dab928adb5b1a9d093639ff29082762d645c6ef9115a333a99e64d786a407b06b9a88a4e97faf50e67148745440166e18cf1e767637aea3c950e165399f678771130957bc8ea7b41995afd1ee20a5c40e46a5c0b5f44fff49a04302ea232404e009a7700f45a5d4cbb2415e2802350eac91d4aa41d026041e69d0b9560ee71c232c2886545b21e166eb975f4e90055c6216d0c82b100c7122908bd5fcd6a324bbf958d594b95e482c5b23547161", 0x1000}, {&(0x7f0000001340)="47eb533be9d78620be7b0630acf2dd87387da96c3926fff2edd82887dfdb15dd364dfde06541ba5d6e927ea4624d64dd9c9ca02bce2e056c39d1434b6e6e", 0x3e}, {&(0x7f0000001380)="7947f5d6d73ad42a03", 0x9}], 0x8, &(0x7f00000013c0)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xee00}}}], 0x20, 0x4000080}}, {{&(0x7f0000005280)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005680)=[{&(0x7f0000005300)="9232c9fdb83f770e30ba20b3ef43a2c748855e57539ae28b77d43a6dc5f7c8f44f860d958e445a0874f711cb71b5eebd906b487a5866094bdf042995381b88ffa3b0faed31549b5095c6b586f02c3cafc842dd4bfd441e7a0601e2f5f97a2e0809a102c4efc5655075a6e2e0cd5ad1801361dc7e637dad8ad0bca5916e21932d", 0x80}, {&(0x7f0000005380)="36cbe3daff5ed51ea81c7031e13e61485391ede72a089f068e821ae975a1e6cc05e5cf54688ae440430feecb474a98fde9e6420213d8b955de9918610cf8b1beb7eb7df52a6b4ca060395256fb62d1e80f574b07cc85179e", 0x58}, {&(0x7f0000005400)="fb38adab891ae9ae3bb1dd51bc231ee916a0816fe877b0b74a759153a1324ba848c00ec25207677fd6d7ff935f72509a646661d654f45969aed9", 0x3a}, {&(0x7f0000005440)="b5ab70f1d9236d11373af0c2f50db23afcbe1555fd71fb199770ea5ef812ab3111f579dc5194d531380c6e0a3cf47d68001bdc22396b3e389fd7b103eb37070e29da3043abc8976053c235f3c14456e2482e98e2b57a1daa5981", 0x5a}, {&(0x7f00000054c0)="6a0a55b3cfed00958f5a069c3457cdacd37100a77b9246980de5", 0x1a}, {&(0x7f0000005500)="1088afcb10167dd01fa53f8ed035f3956113ec49726fbfe491020699ce0f525a41f136cf757c9f929ff327a96068c614f74e733569442bdb6fbc86c7f109934ba5db3d56c7", 0x45}, {&(0x7f0000005580)="9b61d239a9bd3b4a40238ded4492a4ad472cd8bfe629338722d43ba4cb2ae4abfec42b7eb8bce65715f905d200e61fd6adf6ac9daa5ef33336addb443964a3bdbe08e0856b509be93041e8adfb223949bcb497a1696a3113c536b30cbd35822d5f52bc0fa0b11188ded4f4f0e22611497fe7f7a559102ae6ef89c5c9f3261e1f4e5db46b343bf0df4ebf33a657bbfd6c7df88c3127efb4eea4c06a957fc4a740f78d323c87b2399edc86e0127bd6c768bdaa9000d7d45f033da3acb0fc0638c20391e94807d2561de1601e75819607aa0d", 0xd1}], 0x7, &(0x7f0000005780)=[@rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x1c, 0x1, 0x1, [r3, 0xffffffffffffffff, r4]}}], 0x40, 0x4080}}, {{&(0x7f00000057c0)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000005e00)=[{&(0x7f0000005840)="28d1be28df7f3837baee5d5c614a7029601828e49a9ef614b96ab26d7aa7e7f0fdc7ff4b79bd7445f562432b8353df4f771405c8e1536c4300d42bf81761c9d3546547911471b99140f5b9f86178a9bcc68959296676b883b4", 0x59}, {&(0x7f00000058c0)="2995598d289152010d666e5d561bf9435f29a5b09acd1dcf7b83bd95f4fe2e551e2323fcd4988c438dcb41450f3f653210e0cd0d7a972a19fd2215e53dfd2880a6aa0721cc982584aa7137eeb99705e2bfde682b742071d07396021dc9132952f5137c84d9fc7132642537faf8af618f221324116f5491308275449207aa7d27ea6de4ffd4704a29f240ac0a420c70697591b03c1eb49e9db3b7a6c19d579dcede4650f41359d39b84a1d9c69eee6f2d42b79a77cd5e3b0253baeff4bd82df", 0xbf}, {&(0x7f0000005980)="ef4b66b7e099d96c3a57e6f31370a8c5e80a7eea0b91f02704a11eb5486c5e0b75b38a1be02fad8c52316e7f8de8de6f77c2d826662eb1ea1fb03edda018eb95ae56970bc2becc2435c1643a2adb5b13c59b75d58c743a572322f5f785637572eedc63a68b5252a8e31051039edf67a702f7f1c47bb255d64b283cb598765df6d057d2438b51371c71739aa831637085f9c65573efe08217ee2f7aeabef497ad8229960a9f3578b38d8f4f059a", 0xad}, {&(0x7f0000005a40)="ef0365eb7847facde3e28af98735ee2550c7be205197684579d57c4fb2507e074e451e4af1e0319d4d7b78c4788c9dad458c560ce00606edca3fcd45f32fcdf606e25bf00a2ae57e04facd26754ef986791b96fd3a35b59f2a8c8cc0a2073c67d29485792c50263d6fb7f71a7510bed1f85336acdedda6afbec270dd41357b61e70012a9ffef698003974033fb2f8b07c8a094", 0x93}, {&(0x7f0000005b00)="aeea22d99e9c3a02625bbe0f6fc0ef5d5dc238ee2b17a7a5834203c36274210632af9c1884392208b655c165f0696f6ca6beece3e57cfbb640307a565d39558f240f688b1e", 0x45}, {&(0x7f0000005b80)="ee06b397e02b6cf1c8f0a0263225685af9ca132157a774fd47f175444b732e1d1d3c5d1df6b3da1bb93549818d7d5bb9ffaf90c39cf12f05133b13f221f02b9716bc32ca5ee8394eba7d2ab6d3a4cf58fa85281bdd43ce9c52688b06137da7376a05d8baadc7dc539c080a9353f798e9434a7ae0decd226f4f1c78fda92eb697611d98e970272dbcabf93231360ae88c742067a704cfa31e90d348b2c46884eba26e0d1707d54991944c715c190dab1f7ccb56fb5ae54583904346a186af603de6257e96ffd099a2009ddfdf5c7e032aaf52a725c65059c8c997191fe13f87506b6b4c82ad6d06122d3651bacdcda581142c084b81d0991df9f9", 0xfa}, {&(0x7f0000005c80)="7265da25b7f3537dc367077a43bfa669be0f998f9c5d4aa2a3ea3915fdb104605d01c36ebf6588f7e41caf546a136b3cd0d7a38f0c19c1c382062cc49c469a852c5dc26101a7828717a385dc5e634fa7ba66888ee613050ee93a716a2bf1c45f0408", 0x62}, {&(0x7f0000005d00)="4c7d8ecd2451b3409805f1d1713ee5ed2f6fc44cfd540729985a99eed3247c334ddfcc56141d3d33fe03f63064a4bdb1e45609c1bf950125cfae80e85a6694c26685f1f5b0d4bbdd4fc0763cf42199e7fb6423e8db4f7f5e8c3fa20c3c791683adb2eb65102a01953d14c8fbfe5ac36041159339054e422a2a6b9ffe853f9182e62c9ff2a07f06384f11395750452164bf832e8b4aacc2ecf8c1980f0320e3fc2d1af480c0039efc90308e5ea2f0e1ee5888eacc0915f29c1d5e42a3c171f44eaccc0b910047fb4decdd1b070384057282c8fd19ea4e5ef18398a45fd98ef85172092b33efadeab0802c1780e29df3dc5705bbdd", 0xf4}], 0x8, &(0x7f0000007780)=[@rights={{0x34, 0x1, 0x1, [r5, r5, 0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r2]}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c}}, @cred={{0x1c}}], 0xa0, 0x6000010}}, {{&(0x7f0000007840)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000007c00)=[{&(0x7f00000078c0)="e13c379865c0dc16570878fdb3c3a443b24cfdf93000d7088e2b7d4628410e4ae21fcef46ed1a0760a755e9f35c29d1964c7d85c8aee5f80ba6f04161c4447307380f50582593fba618444ac39c4c7fd9000e640cc9e77b6f530021383ff7a437c0fa49fe24c55f496345dee0910004f9dfcab3216c955bf61aa6a170b407bd170149280972b161152ab29b85f9e982f644fb1", 0x93}, {&(0x7f0000007980)="d0062a967ce6cf5ddd6857494232f99823d5727d8ec3babce5925a3f987aaf46441eef64a67895adb4f5016a79ef09853667c42c5951e217c1e76654df2e194834f04cbc035a236af82865699cda15ae53161a", 0x53}, {&(0x7f0000007a00)="1031f790d6d84ee69fb447a22f000c36eabbcb11f6605fe6ef137341511f3d396d0edf35d3a9096d9c87af4b8a34592b6cfc2963c31905b9f27633db01cc291e8c2bde791722fb6cf2c609b7a80e4c4d36fb1d642034d061166291e497d9c884cbdcab605310980b8f36d4c71e80c261bd009bda639f83c43f59bbb1f1857e010c56f865172566d7edec8f80630ff337891015aee597fc9574877fbe6818d706fc582efbde76d31636377c9d121efdc93df93afcbd9ec1d815f10fd426a37144069c506736307656eeadf0882e1f019d490837c1fc6e", 0xd6}, {&(0x7f0000007b00)="d166273d68c70baedd61c4141d6e20667b66e1aaf53e4dc831cb7d3e7ac0439ab4c7043d1e8447ac07376fd563c864573497217973fc556049646f103bb2c1bdcb7d0cfbf601e0244518540aa82f865df99b4f3b468f36d6382b55ad72755582c948f95f2845f0e30223a3ae1b4457e6e359edd2284e765f2d31c4c90eaf705910dfce7650d872066491fbb47fc71b3990a3dbdbb7fd2ea055708d9d8ba8fdcc6c4c2bcf977d762561444d276098b3c5176249dc6fcba7421aa1db85e519d5a98e629af5c1ae28f927297975bdf38684d4083a2d6c2ef44b4488a27bd37c567076f1de2156", 0xe5}], 0x4, &(0x7f0000007d00)=[@cred={{0x1c, 0x1, 0x2, {r0}}}, @cred={{0x1c}}], 0x40, 0x4000000}}, {{0x0, 0x0, &(0x7f0000008f80)=[{&(0x7f0000007d40)="6c5600be047dd65c6abf71064860f49a2b8139510ee36ccc3a3e03fcf20dc1ec6052ac6b1751908fd2f1fbea559ce4ca7a287a53b8c4935c59be46f60126aa5de70d4587385c0e813f9d0b68ef91afe262fd8906f5bdff91b4d5308ffe818afce3769f6ac58d67b1e4ca42d3735c006a437682190cfc963d4444aae96b257c9f0b5ad24d8c514f92ece163", 0x8b}, {&(0x7f0000007e00)="09e8c658e3", 0x5}, {&(0x7f0000007e40)="d7aa53820d4e4856e7d2493fb2eea50319256cb5eab0ef65f5abd2bd71988410fb12b09c65d9023f57e9f24af0cf09baf389cc6d14c1be3dcddc32835d8f3c7c0223100be52c09f82ff7bee6ff4b7ae5f9759bd14118f0a15260aa4c93f1dff1491fd1da4aa9b7f7449012941c8db71c4532be2efef90bf79847936ddfc899c47bda3a78587edc83abe169f1cf2740a145c181b8862545154423ba7eafdbf8adfe1fa7a1ac3ff0a9e3557afc681e8508f264daf8a650f25a73470dffbb07ac55fb228115aef16ff1cf4a85113af7042718416cb10ef50847425e6bb06d8ced3b0a99bb955de24d73f8ead82abbd175a3698ad2677d3a8d69221e6806fdb119d18e870d44d22ebe8a47287f26e1f0cf43e8b5527d6b27f27d2bf32c0def4099cc335dd2cf3084419849f6b1203d5c3e9879df0c2fa9bd488f46cd2440037fb88ed1a11b48e14fc7805689e20f2cbccaa63a3d235f9e4da529c677b7f63e28a36f32755311f15a43ac073fabc4b82670f6d7c5403f7ffd6f29b3db3c66051bbb0a9fd0701737def3fca9755359acd6ac87ecf444ba141aa5a9c6651335487c01cbecd495b95098b4843220c882f1702c3a94ca06553e0db6bd836ef3e7b4154f3f2c7c03c6f622da1ee5df9e0dbebf8483b265e1f21cf751648bfbcbbe6249db70f3538070ad0102c934a2b0181b84de7dcadd8bb77fb37e323e7312537d74960800c349185e7e6137c70a2bad8d360d2752cd2518acc1bf6e6caa25092cd7aecfd59d8a830c6aa87d790e69cc77b4cd007e172814a3a4e042038c6d343a4958d4d6be23b71815e3c42e5127f68d90d00820bd827ec43855d0691de1c676a46ba2508ebf30ade7a38cfc10b66ae5e42bbc949e2a3ec1e1bf3958d9fd1d5c3d366c098861a518823cc612a6252d360fd6af936c3e84d9f61cc1d9dcf9b1e8e853aeabfd0029e71d12d5a1844b1380c361fa4187a6d6d1403906e5dd6d5c73d162755a65a551fff605fa4e960210746c319571ebaa01c0021a7366794c7ed65783ff5dedde3a71f87afd46f5ec9be6a3ea2131750b0695f21647ecee215ff31431dc9d727e38f6705c6287b86f7b71027d886cdbbbf06950d9d47fd409e6b5398c0849d4e2d40a1bb38eb8f1bb600131fec711414e997915b1ebdce4bed75964f0d89a39ac85f7f018d92cdcb72805afedc25fa926a1f1a57f05e3965725a7a7615e8f2d0155ac82c39df9e943c2b746e85357a30c2b58a064ce7f281da5aa7eb05f19666e5bc20279082f09fa3a799ad5b04b16b70b636011829336e729adee9da850afb41fd4a076734abcec266eb28e8decce5c9e768c47d94c587b893c2332936f9499973014ed414690a12582e4c83a3a9ba4254e6e1fb8d68bfd082b3076d165e102e2e0b4ffc3e9b9d2f85482de70f4a2a7f35417a241625a2a3517e76ed7f5c62e5b9e4a774968b57112d01f4ec5a6a4c8bd46ad2ddfd07aa02391c141a90470a2b213446fbeb31ee1c8a63abc3f6e2bc7fecb5b803e8a84af1eaadca2f11a91b1fc9a7bdee68e8dfcda5b37e2bbb626f02c397622564c3e2f349c9cb7ee85a9c2841f52dd460f0e44e55bb5ceb42bb546ae176cf02f471ff270996515bdf0e2271995011edddde9f4955a787f2f76427b11ffa2457c959d3d3484d26fac6f6fcdd02146253fd4bb2d75ba7df6bd65d32d79582a70e0902c8262cad954df1cacff0a86191944e903c2606d68e0c7319ad35a79f04d451a43aefe63b950d1c29c40bda78b35325ffcb9331702df0a3da365dcd8fc75d89fe26bbae1a830896df4cb8e1167ec43c6ad6dabf879e1af5f9c9d009cd8515d27d511e4e43295a92b4cf5c7b44ba77c76d38a1490c356b395af7262b42db7d638009cb7202a3a1a2c4d6539f74559c633761f95c195fdd366269747efb1c3cbd5afedf0ee8d137f2e355fe79c95d8aa0ebbbaa0371a2424c941992bd5f9275c1b19f5fa1ee8be18890e8950cacafba9200380f3a1982c26fe3f7ba02e47edfac29cc04df94b50196823c77302177c71584cc543e37294ce559510be76a14c08d62ce0d51c1cdc86ea6729dafb1bc76ac9d4ef39a9b22cab8328d757aaeae8986d07a96cdf1ec7f92ea0f5955df2f87d4e147e2799386a9ce77aa8a41eb80ec96947256622b4aa30b9f2c33a7c4f6fc0958b08d96d70351d58ca93411b5941399c4137aacf2b0d5144f833ce14891997eec8fa93c8ac6cd044d0714436d3047e0773dbb6450694bc9497915216b3f0a0900af9f139fe9a2ebcd340ba509987bc205eac377d2f6cf39a9581359166fb2b8046c2bd103d53ba23f6f2a594ca75a925aedf4b6279c329956cf3ad6f45b7da7afce19c34db272c44500d55ac4a09852dd0212ad0438947b8b03b161c0c2d7b87bf771c84dc060740595001e9256dc8b0878162df9b601978171a301153e75c171b113c8aebd1073c31154047ec4a0f89bc44899fbf6f1d8eaa416d59c8c7c682629c03e55e4d3e3ba9b1f538a26e8e1a8b4903fa08e5d90cb54acaea44f8e28496bce0e319711004e76b1b64ed2f00ec17eed2b2c15052c957d4195b349d2b3c5ea2a513aff23feb1753acbe62ce34da9cc75d4d197e2f6d858e19cf6c06647ac0a6f2b92411d260fa746a4f8c8c9083fbc5da996a880823886252223cdc4d6a8e0aa5b15edecc8f38951e0ee2c42200912aa6f0a5e77e0619bea6f03c46eb7db0c36f0eb92c58d807cea8da271bf0db17b401c66ef6547aa989049a05113dfc4d66e2c0ce17f06d4ff72ac8dfd7032b74af65a9985c343c9f40ec96c2cf7c846a28b97c04bf2a5a1242f02938b002760d15302548045a16c581e00a42956b1209afe621cce66e5d094a6fb447c38a6243b0964e3678b662031db40db514c7dbe0cf2c758ed73a6f1c73c06b374cce0e656cd9fdbfa05c772dc267362c58f8d4dc519885df6dd37aa0af7f0344cd0a32e5cb82c4dba920dfe1adb19fb7e01d4959c46096b7b665a91529acd1dd356faba027c8a76455cbc52334f1b9bf4c211c8bd4334bcf87e1d3b6ca7dab6375788fa139dad0beb023c4c306aaa7277ab2ebfb24f3535c752b4f785df57af5ba4e5f58660876a375c1f06a59e55ccbc8abfad409ed00619cb227bb64da9d22c1319ba885e3112cc1b285ef858991c30b5849ee32bfa3fc527f2b2f44d4b60c6cf52b63b58b32402d55974ebfb235e1132bff58a9490c4d7548ab231a2d2b13c7c33b33348029ab149e1e9820667ce2c24b49d95f3573553db80fb20506d97b7dc44e5c43aec8d6a84f51894d8514539464ea20a2f6c4cec7dc8d8d6d0953813be1b51965f157f4fdfc7dbb0e0847cb0a4f6ccfe9b0e01219e5ca91d7e6530d45fba8925cbe687b90c21bf4df14f0cac0ba0667800ae1187459b2303f99dee8bf39390b5e86f49b215038a7cf25b1498eb2d732474c8ac3fe9c3a1870c50d765b554fb259720dd18ce2b0dd912d618059340f054b1f2d8775d6bb65d4a972e85b4ba7c0afa258896abf3a8a0d8616796f2cbfa64e3642f0f951ea1b0d936c55e60be9739422658a7b5999e9d63511fdf8e9a5eed3c4445f99065c66f799d950d1ef42b35a6fb802a1eff23528b5333c50c410a215f44e419b81ed16c3e84654e5eebff83f08cdcf8a7958509f9cc9a9f7022f7715c0b288010361947976bec4560b71ff50c73fc829dea10e6e774be9ec4deb64ff86bd3e635a05c72bc34f0b556d921c6638e659c87ce9e745e49b68d420db77bed24d40b5ffdf8fb54b4c3d99cf1f72407eca8174ec86749876c537e194158ba3e366626e9bf1e726d36a7e54c198a3b40b2734e3dd7de7c90f7ced93a4ae1412ef29c33735f8da89630b97f004d536cef28482523afaf0568d68be0a78d77bf3fb72df6a3d760407b8e98cf2fecdf8801ef5f213be15f1c5b4bae608d1070e67e77fdab6cad1f7de502acb4b57420bf74967ba208a70b64c5365a1fcccc34ba15bd154b5c8aa560fc5d7f56dec6c9585272110f3217172a054ab51ac2fdcf2b8e3051f4fb5a89d2556a8359e2365e4024801dfdd98512147ae58d1f055631a495c14b411d501bc3c998b13ac28801fe52931d1dc81f3262ea7a512569e47f151d98e2412d82feeee1f60192c237d1f2686a8f68f07892c14c99ee0a183efc168054c925e027af47eebf7001896ae7b7cfbd8635eec57fff06e9e75cec0918153951d411aae6f55ce1d1dc1e93c360ad37b6bb9865229d8ee7a2dcc51f66c5641b00bf8dc056b3989357628f844833502e8969430a3e4462ab902783fc93015450ae2f38e4dd685b6d32b163b5884608075b80bbd66a8632440d184005b5d8e2b24d1dc90dcef455fbe3cc0eda38c73eef9e53b14ef53b7dc263f47212d92baccc8171a62de3c7e060caa915d95a271141d6d8178e89e7fd23653a11e441139a947a79ae639ff48ba21ff29c13209be8a015eb5a4030a2a7170d5dbd7bccb9614346acd53ca98b60e74fb8b01169786fa1fa9189e6a28ce8ab7c8581b5b9b92dfd80eaaf9f19c02a2d28ef4eb13833f89a8ce7670ff11e86ccad4e44d04fbae013a393bbe64b482c24079f4e260ddf7ba3aeee6be0396b43a6985f2e2c5b4f5dc20bb21b965e1de233ab7c69b7069acd40c3280e4637a04af4e6c58bc0dcf2619684b0530228a0b1995375639d76ce5206c3fc6d10c359f9533c1bebbea6c974fa938ef41b64132c630d7c188d5912b80afa724178bcc46d3c77c4639c41f806e61d950788bf45a70c6b23246ef2613d9c2ba2bd877cf0233c0f2b36364a40a5994f8234c4adf7dcffd019ff8615009821002c82557ef4b9c1fc2fcf5847eaa195b56137e4e591aef496542c8445251bd35455eeec43d380bbac5a8badd084f69003ef8cd47074d2433ed677b81409edbe1b8ec434b12e3b1faa47e4a4f2ecc9c9d5cdf4b72bc4e81f7dd800dce23e1d7330c15bdb18ae22a6852d09229522fd1485f00beedf284d49a82b2165fe4da7c85164b294291f5a8c11a59498a32d2b2209e90825e57f8efa74f84ef6b894c21f1ccaaf187217b79b80a0517cb59c07a3eae5974406204bdb3f4aafaf2f43f12bb63bf426b8e2facf4fc28b8f42cd3dc8ca8832983c4567b4aef758abcfa216805f50af35dd11f13723ff2fb76046b1ebbb64979aefd86d65ed72e0be7c4247f12a0b58af4ad04bda18102fa56ef7c2d54ed93a4159c4f09d8e0b0a082f86ca4ff966b03d10636402f9087705bff1f19d54fa73c2b434344b54c223e5d4e1d6cd781b7e16bc6da8378d40cab8dbae9e6837c9e254294cd04b12465b1530eb8cdfb5300e2569c2dbe56d3b53dd8653716420160df5568995726f454e62ab04c4e7b60fd6ae7bc7d3c9df29d0db2f2c4b38b30103dc54534c837b5066ccccabb7a80970f909446c3c2c48c9d89eb198a865a2c8a0ea60ae3bbf3aced66f4c313fb68246c5d0af59c6d42a6d76fafe7d160cedc1d24234ab16964bb979921a100df0e0c8ce6a38774a5e7a3ac835ae3138ab30a252c7e68eab44bc979c9685c24d85d818756af4e92b9971d9218787f14ceb802e16ccb27743494620ad88c82702bd478051e705b7016861f1a75c00267ce7d4f0ff6f82c77fdf361d776966ed9e1d400281f0c2d76043769af87e268a8b165facd01c0e995d78517cd6dfb963cfae84ba1f6158d30edc7ae1aea2ffd2814240fd14f3b708c7723999bf9902a236d5ba1ef241d8e73531dceaf31ef7a1a4d8d742d447134e0b12a056e1f4e50cda56b77735b50", 0x1000}, {&(0x7f0000008e40)="6db5ff569b996759d65fe2814ce2c8baa045996caccdf1be9370e93c9989354c0ec33f17b824955c5a68e35a4f8f", 0x2e}, {&(0x7f0000008e80)="f4bc3753896456771a055fb519f27384be0522cbf354217e9e8feb3d9c771cf46c93170ca60504565dfcad4df9e2a3bf51e0442229d66387b6f6c8b8b30b46ae4117840db791cf3277444dfafbd36930bd1bff045f5efcd457a188e3c7d7ba06fbaad66fe16a6cc388426cc7173fea3ce55d4d7a028c94971e79d71c9303d5db6674974b07e7ba521b85c2afc4a636598811245c77c391e77befb792649709ce784e9ce39ca127ab8f13a25672b1bb08aa09f6f8b043f8bc03de1a6860d3299f400d0c800ce6f1ce4455990a4bb8598636b0fbd9383650210a9db6ef1eaea853d3665365536762acd741381e79a01e8e", 0xf0}], 0x5, &(0x7f0000009000)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}, @cred={{0x1c, 0x1, 0x2, {r0, 0xee01}}}], 0x40, 0x4}}], 0x8, 0x10) (async) sendfile(r3, r6, 0x0, 0x1) (async) [ 316.503964][ T4863] netlink: 'syz-executor.5': attribute type 2 has an invalid length. [ 316.517669][ T27] audit: type=1804 audit(1659562575.605:16): pid=4868 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir3004073123/syzkaller.WqAN9U/37/file0" dev="sda1" ino=1181 res=1 errno=0 21:36:15 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000080)={&(0x7f00000001c0)=@can_delroute={0x178, 0x19, 0x4, 0x70bd2d, 0x25dfdbfb, {0x1d, 0x1, 0x2}, [@CGW_SRC_IF={0x8}, @CGW_MOD_AND={0x15, 0x1, {{{0x4, 0x0, 0x0, 0x1}, 0x4, 0x2, 0x0, 0x0, "a7824931d7025634"}, 0x4}}, @CGW_MOD_SET={0x15, 0x4, {{{0x1, 0x1, 0x1, 0x1}, 0x3, 0x0, 0x0, 0x0, "fb92a312d1804209"}, 0x2}}, @CGW_FILTER={0xc, 0xb, {{0x3}, {0x0, 0x0, 0x1, 0x1}}}, @CGW_CS_CRC8={0x11e, 0x6, {0x2, 0x50, 0x5, 0xff, 0xe0, "fd8833130ee5c4c0883433dcd8acc6fe6a87db9f5d13861f7d80aa4c370f6a6f759f8684531ff3580d5e3200fb0e52e81c42f6cf21ef3c8badd00945dd2b1adc925b03060c29111526687ca4f72e1832f9c179f9e36e4d51a52dc4298d7f1e108db3175aed5f3a397361ddd2efae782ba4897075173d00bd295752b9d97bc5ef26909dea6d1ebdeee861162ae271ac30301f11a56a09ac6da74f415e3cfd1b7763af0409656144dcf9a62a6bd3bce0d83d35fcde8ce5bc5522b31600682727eed2fe9a9615d6ae2fd31496094cd52686289751d1c7b1ef3106e113607e017c1e702f76e545023b0135de8ce8c1f20bebb8541185a39c943efc3fccd4f9f6979e", 0x2, "c46a53188664af174a550e71304d5fd5ec8a8dae"}}]}, 0x178}, 0x1, 0x0, 0x0, 0x4000000}, 0x58c0) (async, rerun: 64) sendmsg$nl_route(r0, &(0x7f0000000180)={&(0x7f0000000040), 0xc, &(0x7f0000000140)={&(0x7f00000000c0)=@ipmr_newroute={0x34, 0x18, 0x1, 0x0, 0x0, {}, [@RTA_SRC={0x4, 0x2, @broadcast}, @RTA_SPORT={0x6}, @RTA_DPORT={0x6}]}, 0x34}}, 0x0) (rerun: 64) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=ANY=[@ANYBLOB="4400000b93b6d16ea4c95bd97f0033cf428f0df6", @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b00010062726964676500001400028005002500000000000800050001000000"], 0x44}}, 0x0) (async) sendmsg$nl_route(r1, &(0x7f0000000400)={&(0x7f0000000340)={0x10, 0x0, 0x0, 0x200000}, 0xc, &(0x7f00000003c0)={&(0x7f0000000380)=@ipv6_delrule={0x30, 0x21, 0x400, 0x1, 0x25dfdbfe, {0xa, 0x10, 0x10, 0x80, 0x81, 0x0, 0x0, 0x5, 0x2}, [@FRA_DST={0x14, 0x1, @local}]}, 0x30}, 0x1, 0x0, 0x0, 0x44000800}, 0x0) 21:36:15 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs={0x1}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setscheduler(r0, 0x2, &(0x7f00000004c0)=0x10000) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x0, 0x10000006, 0x7ff, 0x4, 0x0, 0x7f, 0x80000001, 0x7, 0x4}, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$inet(0x2, 0xa, 0x6) r3 = socket$nl_route(0x10, 0x3, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000200)=0x4) rt_sigqueueinfo(0x0, 0x39, &(0x7f00000000c0)={0x34, 0x0, 0x401}) r4 = socket$inet6(0xa, 0x2, 0x0) ioctl$sock_inet6_SIOCSIFADDR(r4, 0x8916, &(0x7f0000000080)={@ipv4={'\x00', '\xff\xff', @empty}}) ioctl$EXT4_IOC_GROUP_EXTEND(r4, 0x40086607, &(0x7f0000000280)=0x6) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0xc600, &(0x7f0000000000)={&(0x7f0000000140)=ANY=[@ANYBLOB="3c00000010004b040000000700000000ad8a49fe", @ANYRES32=0x0, @ANYBLOB="00000000000000001c0012800b00010062726964676500000c0002800500160005000000"], 0x3c}}, 0x0) 21:36:15 executing program 3: r0 = creat(&(0x7f0000000040)='./bus\x00', 0x80) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r2, 0xae60) ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) ftruncate(r2, 0x7) lseek(r0, 0x81, 0x3) mkdirat(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000080)='./bus\x00', &(0x7f0000000040)='efs\x00', 0x8000c8, 0x0) r3 = open(&(0x7f0000000000)='./file0\x00', 0x0, 0x0) r4 = openat$cgroup_procs(r3, &(0x7f0000000240)='cgroup.procs\x00', 0x2, 0x0) write$cgroup_pid(r4, &(0x7f0000001380), 0x12) r5 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r5, 0x200002) sendfile(r5, r5, 0x0, 0x80001d00c0d0) creat(&(0x7f0000000040)='./bus\x00', 0x0) [ 316.695446][ T27] audit: type=1800 audit(1659562575.785:17): pid=4873 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1181 res=0 errno=0 [ 316.800652][ T4875] netlink: 'syz-executor.5': attribute type 2 has an invalid length. [ 316.904412][ T27] audit: type=1804 audit(1659562575.815:18): pid=4873 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir3004073123/syzkaller.WqAN9U/38/file0" dev="sda1" ino=1181 res=1 errno=0 [ 316.987949][ T1228] ieee802154 phy0 wpan0: encryption failed: -22 [ 316.995590][ T1228] ieee802154 phy1 wpan1: encryption failed: -22 [ 317.132883][ T27] audit: type=1804 audit(1659562575.815:19): pid=4873 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir3004073123/syzkaller.WqAN9U/38/file0" dev="sda1" ino=1181 res=1 errno=0 [ 319.540458][ T4304] ------------[ cut here ]------------