fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}, {&(0x7f0000001440)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x409374}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000081300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x198, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000fffec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 0: ioctl$IOC_PR_RESERVE(0xffffffffffffffff, 0x401070c9, &(0x7f0000000080)={0xfffffffffffffffc, 0x80000000, 0x1}) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4094d7, 0x15, &(0x7f0000000bc0)=[{&(0x7f00000004c0)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f600000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000000940)="46494c453000030000000000000000000100010038000100980100000004000004000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2b090000000100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4000000002bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b00000004800000001004000000003000000000000001d000000000000000000400000000000000000100000000000002000f6ff000000002000000000000000110102c40757c8d56d2d455836d75b6d48483b6b9cb09b34427781a07dee3c1dd25da6903e390b065a0b03e9a9a7e048548e90183ff696aa8d42ac8b9960575041ef16165bfe4208cf044e89f724b98b532c6b355cd52e7b", 0x1e0, 0x4000}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000012c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000000004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000dc0)="0000000000000000dc70c7cded7a8d4e580ec082a500a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29b9638d3cc985187aad8248bd46f2f97b57c7ddb8c72d1f364a7cebaf2d919c5e86dc4250f2b807ac994eba3eed0244f90ae8a51c9c0efc146b681bc973befb6adbbc92e09f2a3e939972df7504c8917c7f0a7414ef09b207a3ada4a99022c1cbea86ef12df370ee690c13828f67d14f2a9f15e10c60b67178f4a8e041c2bfcd79e619d8489f85af3f28310bbb0ca0c94e450e1a719e18b189391acb1d825382f34da81e2e9016143851c6b811da11c9fff86103fc030768e2135c4fd74cac2ecd0f2b56743a8a1a9c9aadb1daa5c4b3da89bda0a6b29bcec985132be1a913cfadd82287bd5a4391a078b5e7e47ef21ebbac369a7d66febfc8b0374f5315b2d00be981d54174cf35b9e623048b72e3c71edac5d2723fa1c1bab1e4492d3feac4b4ef4eaef87d76b7f2196bd861d5529c5e8", 0x185, 0x49e0}, {&(0x7f0000010660)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x4be0}, {&(0x7f0000000240)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000001100)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe1}, {&(0x7f0000011200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80801000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x63e0}, {&(0x7f0000000f80)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x8001}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc37e}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x10001}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f0000000440)="105357e087fc3fc98d4aefb9b86e9032d18ea485c5a06e08683a834902e1342e32ac1f12655ca78162f8f6b67d520c5f2e920434559fd1b9ebee848f82be30a8a7b5d8fbfbd495bdcd0725e475fe734985afd25c910d9d73906e5dffe874111fcdd031f71c620411a1dd33818bcc52da5089af4d46f179ce352f0b", 0x7b, 0x46080}, {&(0x7f00000015c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b7c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}, {&(0x7f0000001440)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x409374}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) ioctl$IOC_PR_RESERVE(0xffffffffffffffff, 0x401070c9, &(0x7f0000000080)={0xfffffffffffffffc, 0x80000000, 0x1}) (async) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x4094d7, 0x15, &(0x7f0000000bc0)=[{&(0x7f00000004c0)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f600000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000000940)="46494c453000030000000000000000000100010038000100980100000004000004000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2b090000000100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4000000002bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b00000004800000001004000000003000000000000001d000000000000000000400000000000000000100000000000002000f6ff000000002000000000000000110102c40757c8d56d2d455836d75b6d48483b6b9cb09b34427781a07dee3c1dd25da6903e390b065a0b03e9a9a7e048548e90183ff696aa8d42ac8b9960575041ef16165bfe4208cf044e89f724b98b532c6b355cd52e7b", 0x1e0, 0x4000}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000012c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000000004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000dc0)="0000000000000000dc70c7cded7a8d4e580ec082a500a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29b9638d3cc985187aad8248bd46f2f97b57c7ddb8c72d1f364a7cebaf2d919c5e86dc4250f2b807ac994eba3eed0244f90ae8a51c9c0efc146b681bc973befb6adbbc92e09f2a3e939972df7504c8917c7f0a7414ef09b207a3ada4a99022c1cbea86ef12df370ee690c13828f67d14f2a9f15e10c60b67178f4a8e041c2bfcd79e619d8489f85af3f28310bbb0ca0c94e450e1a719e18b189391acb1d825382f34da81e2e9016143851c6b811da11c9fff86103fc030768e2135c4fd74cac2ecd0f2b56743a8a1a9c9aadb1daa5c4b3da89bda0a6b29bcec985132be1a913cfadd82287bd5a4391a078b5e7e47ef21ebbac369a7d66febfc8b0374f5315b2d00be981d54174cf35b9e623048b72e3c71edac5d2723fa1c1bab1e4492d3feac4b4ef4eaef87d76b7f2196bd861d5529c5e8", 0x185, 0x49e0}, {&(0x7f0000010660)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x4be0}, {&(0x7f0000000240)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000001100)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe1}, {&(0x7f0000011200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80801000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x63e0}, {&(0x7f0000000f80)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x8001}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc37e}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x10001}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f0000000440)="105357e087fc3fc98d4aefb9b86e9032d18ea485c5a06e08683a834902e1342e32ac1f12655ca78162f8f6b67d520c5f2e920434559fd1b9ebee848f82be30a8a7b5d8fbfbd495bdcd0725e475fe734985afd25c910d9d73906e5dffe874111fcdd031f71c620411a1dd33818bcc52da5089af4d46f179ce352f0b", 0x7b, 0x46080}, {&(0x7f00000015c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b7c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}, {&(0x7f0000001440)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x409374}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) (async) 00:13:50 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x5450, &(0x7f0000000040)) 00:13:50 executing program 1: r0 = memfd_create(&(0x7f0000000100)='\vem1\xc1\xf8\xa6\x8dN\xc0\xa3w\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r0, &(0x7f0000000040)="0600", 0x2) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000080)=ANY=[@ANYBLOB="641bfed4b097de51c6d96b0ecbeee2ffff985528"], 0xe) sendfile(r0, r0, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r0, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f000001a000)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f000002eff0)={0x32b, &(0x7f0000000000)=[{}]}, 0x10) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000091300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000002ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900000a1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900000b1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00', 0x0}) socket(0x23, 0x5, 0x46780) r3 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001800)={0x6, 0x3, &(0x7f0000000500)=ANY=[@ANYBLOB="180000000000000a000000000000000095"], &(0x7f0000000300)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', r2, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r4 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r4, 0x0) r5 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000200), 0x400, 0x0) r6 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000002c0), 0x101880, 0x0) r7 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000340), 0x10000, 0x0) r8 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r8, 0x0) pipe2(&(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}, 0x10800) pipe2$watch_queue(&(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(0xffffffffffffffff, 0x84, 0x7c, &(0x7f0000000540)={0x0, 0x401}, &(0x7f0000000580)=0x8) getsockopt$inet_sctp6_SCTP_RESET_STREAMS(r10, 0x84, 0x77, &(0x7f00000005c0)={r11, 0x3ff, 0x4, [0x3f, 0x6, 0x9, 0xff]}, &(0x7f0000000600)=0x10) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000440)={0x6, 0x3, &(0x7f00000000c0)=@raw=[@map_val={0x18, 0x9, 0x2, 0x0, r4, 0x0, 0x0, 0x0, 0xdf}, @kfunc={0x85, 0x0, 0x2, 0x0, 0x5}], &(0x7f0000000100)='syzkaller\x00', 0x1f, 0x9e, &(0x7f0000000140)=""/158, 0x41000, 0x1, '\x00', r2, 0x25, r5, 0x8, &(0x7f0000000240)={0x8, 0x3}, 0x8, 0x10, &(0x7f0000000280)={0x5, 0x0, 0x7, 0x3}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r6, r7, 0xffffffffffffffff, 0x1, r8, r9, 0xffffffffffffffff]}, 0x80) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000080)={r3, r2, 0x25, 0x8}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)=@RTM_GETMDB={0x18, 0x56, 0x4, 0x4, 0x25dfdbfd, {0x7, r2}, ["", "", "", ""]}, 0x18}}, 0x0) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000003ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900000c1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x1a2, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000004ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00', 0x0}) socket(0x23, 0x5, 0x46780) (async) r3 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001800)={0x6, 0x3, &(0x7f0000000500)=ANY=[@ANYBLOB="180000000000000a000000000000000095"], &(0x7f0000000300)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', r2, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r4 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r4, 0x0) (async, rerun: 32) r5 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000200), 0x400, 0x0) (async, rerun: 32) r6 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000002c0), 0x101880, 0x0) r7 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000340), 0x10000, 0x0) (async) r8 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r8, 0x0) pipe2(&(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}, 0x10800) (async) pipe2$watch_queue(&(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(0xffffffffffffffff, 0x84, 0x7c, &(0x7f0000000540)={0x0, 0x401}, &(0x7f0000000580)=0x8) getsockopt$inet_sctp6_SCTP_RESET_STREAMS(r10, 0x84, 0x77, &(0x7f00000005c0)={r11, 0x3ff, 0x4, [0x3f, 0x6, 0x9, 0xff]}, &(0x7f0000000600)=0x10) (async) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000440)={0x6, 0x3, &(0x7f00000000c0)=@raw=[@map_val={0x18, 0x9, 0x2, 0x0, r4, 0x0, 0x0, 0x0, 0xdf}, @kfunc={0x85, 0x0, 0x2, 0x0, 0x5}], &(0x7f0000000100)='syzkaller\x00', 0x1f, 0x9e, &(0x7f0000000140)=""/158, 0x41000, 0x1, '\x00', r2, 0x25, r5, 0x8, &(0x7f0000000240)={0x8, 0x3}, 0x8, 0x10, &(0x7f0000000280)={0x5, 0x0, 0x7, 0x3}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r6, r7, 0xffffffffffffffff, 0x1, r8, r9, 0xffffffffffffffff]}, 0x80) (async) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000080)={r3, r2, 0x25, 0x8}, 0x10) (async) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)=@RTM_GETMDB={0x18, 0x56, 0x4, 0x4, 0x25dfdbfd, {0x7, r2}, ["", "", "", ""]}, 0x18}}, 0x0) 00:13:50 executing program 1: r0 = memfd_create(&(0x7f0000000100)='\vem1\xc1\xf8\xa6\x8dN\xc0\xa3w\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r0, &(0x7f0000000040)="0600", 0x2) (async) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000080)=ANY=[@ANYBLOB="641bfed4b097de51c6d96b0ecbeee2ffff985528"], 0xe) (async) sendfile(r0, r0, &(0x7f0000001000), 0xffff) (async) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r0, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f000001a000)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f000002eff0)={0x32b, &(0x7f0000000000)=[{}]}, 0x10) 00:13:50 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x5451, &(0x7f0000000040)) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000005ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900000d1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) (async) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00', 0x0}) socket(0x23, 0x5, 0x46780) (async) r3 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001800)={0x6, 0x3, &(0x7f0000000500)=ANY=[@ANYBLOB="180000000000000a000000000000000095"], &(0x7f0000000300)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', r2, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) r4 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r4, 0x0) r5 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000200), 0x400, 0x0) (async) r6 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000002c0), 0x101880, 0x0) (async) r7 = openat$vsock(0xffffffffffffff9c, &(0x7f0000000340), 0x10000, 0x0) (async) r8 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r8, 0x0) (async) pipe2(&(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}, 0x10800) (async) pipe2$watch_queue(&(0x7f00000004c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) (async) getsockopt$inet_sctp6_SCTP_STREAM_SCHEDULER_VALUE(0xffffffffffffffff, 0x84, 0x7c, &(0x7f0000000540)={0x0, 0x401}, &(0x7f0000000580)=0x8) getsockopt$inet_sctp6_SCTP_RESET_STREAMS(r10, 0x84, 0x77, &(0x7f00000005c0)={r11, 0x3ff, 0x4, [0x3f, 0x6, 0x9, 0xff]}, &(0x7f0000000600)=0x10) (async) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000440)={0x6, 0x3, &(0x7f00000000c0)=@raw=[@map_val={0x18, 0x9, 0x2, 0x0, r4, 0x0, 0x0, 0x0, 0xdf}, @kfunc={0x85, 0x0, 0x2, 0x0, 0x5}], &(0x7f0000000100)='syzkaller\x00', 0x1f, 0x9e, &(0x7f0000000140)=""/158, 0x41000, 0x1, '\x00', r2, 0x25, r5, 0x8, &(0x7f0000000240)={0x8, 0x3}, 0x8, 0x10, &(0x7f0000000280)={0x5, 0x0, 0x7, 0x3}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r6, r7, 0xffffffffffffffff, 0x1, r8, r9, 0xffffffffffffffff]}, 0x80) (async) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000080)={r3, r2, 0x25, 0x8}, 0x10) (async) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000040)=@RTM_GETMDB={0x18, 0x56, 0x4, 0x4, 0x25dfdbfd, {0x7, r2}, ["", "", "", ""]}, 0x18}}, 0x0) 00:13:50 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000080)=ANY=[@ANYBLOB="b4d8a52d4405de00000000007d10a200160000000500000000000900000000000000000000000000ff00bb0000"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x22e, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900000e1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000006ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x1c2, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000101300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000080)=ANY=[@ANYBLOB="b4d8a52d4405de00000000007d10a200160000000500000000000900000000000000000000000000ff00bb0000"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x22e, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000080)=ANY=[@ANYBLOB="b4d8a52d4405de00000000007d10a200160000000500000000000900000000000000000000000000ff00bb0000"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x22e, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) (async) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000007ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 1: r0 = memfd_create(&(0x7f0000000100)='\vem1\xc1\xf8\xa6\x8dN\xc0\xa3w\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r0, &(0x7f0000000040)="0600", 0x2) write$FUSE_NOTIFY_STORE(r0, &(0x7f0000000080)=ANY=[@ANYBLOB="641bfed4b097de51c6d96b0ecbeee2ffff985528"], 0xe) (async) sendfile(r0, r0, &(0x7f0000001000), 0xffff) (async) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r0, 0x0) socketpair$unix(0x1, 0x5, 0x0, &(0x7f000001a000)={0xffffffffffffffff, 0xffffffffffffffff}) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f000002eff0)={0x32b, &(0x7f0000000000)=[{}]}, 0x10) 00:13:50 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x5452, &(0x7f0000000040)) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000111300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000008ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 0: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000080)=ANY=[@ANYBLOB="b4d8a52d4405de00000000007d10a200160000000500000000000900000000000000000000000000ff00bb0000"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x22e, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1, 0x4, &(0x7f0000000080)=ANY=[@ANYBLOB="b4d8a52d4405de00000000007d10a200160000000500000000000900000000000000000000000000ff00bb0000"], &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x22e, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) (async) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000009ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0x40045010, &(0x7f0000000100)) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$SNDCTL_DSP_SETFMT(r1, 0xc0045005, &(0x7f0000000000)=0x5) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000121300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x1d2, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:50 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0x40045010, &(0x7f0000000100)) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$SNDCTL_DSP_SETFMT(r1, 0xc0045005, &(0x7f0000000000)=0x5) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) (async) openat$adsp1(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) (async) ioctl$SNDCTL_DSP_SETFMT(r0, 0x40045010, &(0x7f0000000100)) (async) openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) (async) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) (async) ioctl$SNDCTL_DSP_SETFMT(r1, 0xc0045005, &(0x7f0000000000)=0x5) (async) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000251300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000000aec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) recvmmsg(r0, &(0x7f0000002cc0)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000040)=@l2tp={0x2, 0x0, @private}, 0x80, &(0x7f00000001c0)=[{&(0x7f00000000c0)=""/144, 0x90}, {&(0x7f0000000180)=""/5, 0x5}], 0x2, &(0x7f0000000200)=""/248, 0xf8}}, {{&(0x7f0000000300)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @private2}}}, 0x80, &(0x7f0000000500)=[{&(0x7f0000000380)=""/54, 0x36}, {&(0x7f00000003c0)=""/105, 0x69}, {&(0x7f0000000440)=""/63, 0x3f}, {&(0x7f0000000480)=""/123, 0x7b}, {&(0x7f00000006c0)=""/232, 0xe8}, {&(0x7f00000005c0)=""/160, 0xa0}, {&(0x7f00000007c0)=""/176, 0xb0}], 0x7, &(0x7f0000000880)=""/240, 0xf0}, 0x1f}, {{&(0x7f0000000980)=@pptp={0x18, 0x2, {0x0, @empty}}, 0x80, &(0x7f0000000a40)=[{&(0x7f0000000a00)=""/30, 0x1e}], 0x1}, 0x3ff}, {{0x0, 0x0, &(0x7f0000000c40)=[{&(0x7f0000000a80)=""/243, 0xf3}, {&(0x7f0000000b80)=""/153, 0x99}], 0x2, &(0x7f0000000c80)=""/58, 0x3a}}, {{&(0x7f0000000cc0)=@nfc, 0x80, &(0x7f0000002040)=[{&(0x7f0000000d40)=""/36, 0x24}, {&(0x7f0000000d80)=""/183, 0xb7}, {&(0x7f0000000e40)=""/77, 0x4d}, {&(0x7f0000000ec0)=""/4096, 0x1000}, {&(0x7f0000001ec0)=""/228, 0xe4}, {&(0x7f0000001fc0)=""/75, 0x4b}], 0x6}, 0x8c000000}, {{&(0x7f00000020c0)=@ieee802154={0x24, @long}, 0x80, &(0x7f0000002180)=[{&(0x7f0000002140)=""/24, 0x18}], 0x1, &(0x7f00000021c0)=""/208, 0xd0}, 0x1}, {{&(0x7f00000022c0)=@generic, 0x80, &(0x7f00000032c0)=[{&(0x7f0000002340)=""/16, 0x10}, {&(0x7f0000002380)=""/159, 0x9f}, {&(0x7f0000002440)=""/59, 0x3b}, {&(0x7f0000002f00)=""/221, 0xdd}, {&(0x7f0000003000)=""/227, 0xe3}, {&(0x7f0000003100)=""/192, 0xc0}, {&(0x7f00000031c0)=""/45, 0x2d}, {&(0x7f0000003200)=""/188, 0xbc}], 0x8}, 0x3ff}, {{&(0x7f00000024c0)=@vsock={0x28, 0x0, 0x0, @local}, 0x80, &(0x7f0000002b80)=[{&(0x7f0000002540)=""/96, 0x60}, {&(0x7f00000025c0)=""/96, 0x60}, {&(0x7f0000002640)=""/242, 0xf2}, {&(0x7f0000002740)=""/87, 0x57}, {&(0x7f00000027c0)=""/104, 0x68}, {&(0x7f0000002840)=""/171, 0xab}, {&(0x7f0000002900)=""/195, 0xc3}, {&(0x7f0000002a00)=""/138, 0x8a}, {&(0x7f0000002ac0)=""/139, 0x8b}], 0x9, &(0x7f0000002c40)=""/98, 0x62}, 0xffffffff}], 0x9, 0x20a0, 0x0) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000680)={&(0x7f0000004280)=ANY=[@ANYBLOB="14000000", @ANYRES16=0x0, @ANYBLOB="7d0b000000d47bca08dd1c46702e0e0000000034000000"], 0x14}}, 0x0) r2 = accept4$nfc_llcp(r0, &(0x7f0000003980), &(0x7f0000003a00)=0x60, 0x80800) sendmmsg(r1, &(0x7f0000004080)=[{{&(0x7f0000003340)=@ethernet={0x1, @local}, 0x80, &(0x7f0000002480)=[{&(0x7f00000033c0)="80b94da375fac598dae8d9698c30e7deb2ca2eb87cb24119690c3d5c9ff207a089ca069609692e005540fa3186c7155c73a10bf81ab9d048a316b48cca9741243060febce9dfbb31e91b84b958a5ef1a1b0f69b4cf8976275a8daafe6b4481ad83b4861a74cd33000b11c0938ba8c54a9c994e5a5ad2960f1c7c52f344adf449507c519d599a205eaa9dd0a8a600a99a2dfc2c7e1b1664df9f7ecbed2c2688fd28685dff7271b6fb7539705bbe5f10ab6f51261fa354d630918bc81beaac667aaed34f33e50517b3", 0xc8}, {&(0x7f00000034c0)="5c4c7973b7a522a5807c81b9610f410fc0d07c5df771471c31477922cc095b84956a0dc2bbdd77a18019622fec57a35e330ad97d83b0d5c0183b0d847fc7c12b26c65ea95a647e8efd3b544c8c7145f6a5586e74bbfa6a862861ea0ac9b6761f014b65e6431089dc2ff62f7fd2d2eb06334e9779169a5f24efb23b", 0x7b}], 0x2, &(0x7f0000003540)=[{0x28, 0x10f, 0x5, "ec4b19c0d65fdb8cec8ea3e81e896371f99b1e8fe5"}, {0xb8, 0x11, 0x3, "2fb73fde8c9d3735892a4eb1e872911837e64261ac3724ce2dc2d2529dcbfaa952d18a130aebbd11ea4c10c52da9da86d8476df2ed3f036a71289bc6ded8a362b5ce490d003957851d2cbfe3ce4863666e73ebfa8881457608f8677c79c5556fff1375abfff2576a60bf5e779b8b420014753de423264f6633993ab9b9c1d68157ece4e65f98089645ccde14b4c5fbe316351ec4cc3a4c5a24bff010cbff9908a97f8044f8304f76"}, {0x20, 0x104, 0x84, "f78919d62e20210867ecaa1a6cd7"}, {0x110, 0x10e, 0x7, "12454a1519ed9a1b140ee1a6d598c58d92682c0e83dced7a1fd17cca4fdd6cd90b1a8ae611b19abe3845181c76819be9b71bedabdd38f8f2713d2575e61c1c81373f38216edfe1dd326610f2630d5b139c1052a013aa4f4dd95bf75a1377ce2cf8663cb14544f40642cb42f2ffdf48b8433aa7d1e31948cdae68dd6c1c73628c297d299b7c0e0b4a1819a9d4842d6ae1b1c0c9468209a4fe976a4da55bc5ca41a70d59ae950aaa8f281207bf0812c8886f7e308ba1c4c2a51b5460bfc3b7e1293380c95d9ae1d5d278f1042befbf24172202ba89f4f55dc515760e6c568b7ad3e83b8e8498f70ac7cad2d15f7708f2bd8a13e03f1a6f06cb2897ff9d7f"}, {0x58, 0x101, 0x3fd, "30322584b5b08b9e935fac4405453d7a4818bb2359489b4daaa43a9203a3aea64598da73aa41ea670856de339d23e0b4dd9e8790327c056fe07dd8b6a6ee6f117389"}, {0xc8, 0x118, 0xfc, "cde466b5a76c79a8bb388cc28d03a44f5745026c0c4532354541e5b155711ba4cf922e5ae6da1e68ac2a3cd6c660c94e2953314659ffd3a40abbe0bc08271a4641d443685abdf6bf821997032bf2b92e722c5a3ca04227c0739479976db881c8bc7a7423ccecb1ec4e60b7ec2279e1c82d1743ef279e9b5a43de01cad75ed3395aefa4b0e7f938228a8695eeb411763ad3ce0dde8ae51ce0ead2fcb03a848a4e7428893149fa024bf3d20050c56341bf6cff"}, {0x48, 0x116, 0x0, "9ab00e5668d10f0f46da4ab094a1d3b123787f52a0613938298723f25044cc2be832c35219338c4ae9280e8fd34f256965"}, {0x10, 0x117}, {0x98, 0x10d, 0x5, "362835825e6f273feaa87c4f553b5bc6dbc50c8a3f31063a23649b466af11e6f29c1cdbce9b20b4060cccbc3070cdadc15ab4ad067750820c818e8b3fe59bbc06679a62d751b55dc49f4012ae709f878a7e435cb68190a5c936c3716d5420608cd24b44f171153b8dad02addb1ac880a88bc6622ac356a30880888d03cc1af7696f5b00c9a002783"}], 0x420}}, {{&(0x7f0000003a40)=@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e24, @broadcast}, 0x1, 0x2, 0x3}}, 0x80, &(0x7f0000004000)=[{&(0x7f0000003ac0)="6f376a09da5410cc7c85e1ce59d63bfe06fe61d2965b5ca618d64467166fa68fb402f6da8bd250c3e03d8b1cec04ecc1f21acc1ae72f6483d5dc88df910e717ea7c7b1a3e32598aa4d7272a8b8684eb9370ffac5d34954c0559b79d50ff48130e388cc53e5c89e2d490d9fc5b5c29c41672a9d7349b7aaff612aed8ebab333db02e47b770145f09f5aedc8cc33ef050156a2c0b3", 0x94}, {&(0x7f0000003b80)="a36a99d6dcdf5d8ca14410d542e955fa3bba25994c0b3a30fa824c57949d8c259cf9557c1b38e2a2414115e1956d5fcee8998aea03a7dc4eafdf3f0ae3647d10c5612cabf296dcf3372bd5e7336c4e7acf29ed28a12d7abcf5601023f1", 0x5d}, {&(0x7f0000003c00)="63c80dea94eba9fc36eb4810eb715e2405d45153fd1eb0871f30ca7b490ba52b6fa0b6e0d0730abd35362989e76884106e1c53aa1275f4fa8cac95ecc9d73c0dd44d2fb1b4a61d4ee6c43d0d9e1b38f4c8c4944988a163c7c8bf7e213c5615bf48b9a3da44b7c7af2804e7a39c99856ccd3fa73bda0f481d0854d6d8112010b0d1f19b26d351ffacc44ff6feec98b21c80bc1824fd63ba5b22", 0x99}, {&(0x7f0000003cc0)="edbf35449186bf75fef5687163707ee2aa5bbfcfb2dec660b1a1ece8ccd34b4bf9a6849b642cd994c30dd8f71aac8e8cb861694f2da9d33291c682b30ab74936a9ad5612cc42544a517d4d09c3cb341b54d866a8f7ce59a453d6cca85c5036327aa0a465501130f5f6c5e2c9d307b4c9fec12c6d4b0f5018735051", 0x7b}, {&(0x7f0000003d40)="567999f4fa2e60c683c8e9f2cebc2220574d3c52a8ec10d9be085469ec3fd39950fdd53745f5ce239226e82f272e4a3c091ee5f68183530367a638e4f057aaa84ff87fa0a72b7eeeab6f09e923f837002a88fc9067e13cce9a72341af2c6b52665ba3af7f52b85a4840e52", 0x6b}, {&(0x7f0000003dc0)="d20a4bb064e470d4900e7db812d83dc09ede1b11e51bfd36f25d45f8b50bd53802ea0a835f1257e09104f9672e674322a9736b43b5f4b080244e579c70a5231ccb54a09f30c145b2e571cc9e4a85aa195e454901d56f0b69b0579762ed45fa5eb6ee32c137ef9ef56db90a217d40824f60668be85fd435091291a43584b0636dec6c26781bd09adf1f76ab7c0030f6dd4c205e48678ae7c867a18b6b5055f3930dbe4debe6f8c2e2c8eab1876fc6417e9b612a3bb2ba626e4e3d84b09f315d246ba880846924b2141ebc4c335462eb1d8f5a60fa1f7590e4", 0xd8}, {&(0x7f0000003ec0)="fb91e2e02642f2b93b6adec5acffd042a98dba704228017b7393a1bbd682f2ae6be53fd827fddeb04d23bf076448d94f97834744428468f71588a1f14522bfc0315f30262485dcecba2c1d10c5fb87a6cd9919d39df7810b46d974d2a09935de3d1ff6166b26911607dc3a617ec0cb8932acb8c32b71a12db1bf417117a481989ff049326e6955433699888c8c25c87b94c5a7a01cb796691f806d332f7b2d2f0916e6b2e5c0df4836441ea3e8e7d8f156d770982f4138b81f1fa06bff0bf90b6e8ad928108adaac16a9d1d914723bd41d32d309fd4a57f4f6983c0b8f241d350204bdd00549d07d7f1318625a", 0xed}, {&(0x7f0000003fc0)}], 0x8}}], 0x2, 0x90) r3 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r3, 0x0) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000004100), r0) sendmsg$NL80211_CMD_SET_INTERFACE(r3, &(0x7f0000004240)={&(0x7f0000003fc0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000004200)={&(0x7f0000004140)={0xb4, r4, 0x300, 0x70bd28, 0x25dfdbfc, {{}, {@void, @val={0xc, 0x99, {0x5, 0x4a}}}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0xb}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_4ADDR={0x5, 0x53, 0x1}, @mon_options=[@NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @broadcast}, @NL80211_ATTR_MU_MIMO_GROUP_DATA={0x1c, 0xe7, "d35208a47f0716500f7e41a4cf779e751b688c57db382b20"}, @NL80211_ATTR_MU_MIMO_GROUP_DATA={0x1c, 0xe7, "96d6f9ed89fe9395b41b56c05a21bd3bcaa57792a9841fed"}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa}]]}, 0xb4}, 0x1, 0x0, 0x0, 0x4004000}, 0x4000000) 00:13:50 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x5460, &(0x7f0000000040)) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000000bec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000481300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) (async) r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0x40045010, &(0x7f0000000100)) (async) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) (async) ioctl$SNDCTL_DSP_SETFMT(r1, 0xc0045005, &(0x7f0000000000)=0x5) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000000cec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900004c1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: r0 = accept(0xffffffffffffffff, &(0x7f0000000000)=@in={0x2, 0x0, @dev}, &(0x7f0000000080)=0x80) ioctl$AUTOFS_IOC_EXPIRE(r0, 0x810c9365, &(0x7f00000000c0)={{0x8000, 0x22e581e9}, 0x100, './file0\x00'}) sendmsg$nl_route_sched(r0, &(0x7f00000063c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000006380)={&(0x7f0000000240)=@newtaction={0x6120, 0x30, 0x800, 0x70bd27, 0x25dfdbfd, {}, [{0x238, 0x1, [@m_gact={0x8c, 0x5, 0x0, 0x0, {{0x9}, {0x1c, 0x2, 0x0, 0x1, [@TCA_GACT_PROB={0xc, 0x3, {0x1, 0x1126, 0x20000000}}, @TCA_GACT_PROB={0xc, 0x3, {0x97428335ae4399cc, 0x585, 0x419be48debe8099a}}]}, {0x47, 0x6, "929b0413d8c56a2c01336cce6378cbbbaa58932a4c618bf55529ec20b9c985c2d2a84900465085f42bf21cc9796b4918804d7e1ad8c12f0a45a13ce297666fc4362a49"}, {0xc}, {0xc, 0x8, {0x3, 0x2}}}}, @m_ipt={0x58, 0x9, 0x0, 0x0, {{0x8}, {0x30, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'filter\x00'}]}, {0x4}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_mpls={0x84, 0xb, 0x0, 0x0, {{0x9}, {0x28, 0x2, 0x0, 0x1, [@TCA_MPLS_PARMS={0x1c, 0x2, {{0x5, 0x6, 0x5, 0xfffffffe, 0x1}, 0x3}}, @TCA_MPLS_LABEL={0x8, 0x5, 0xa728}]}, {0x34, 0x6, "11e201f10a3c15e57b778c91f2f640f4f3a524fb7cc49f3e053bcbd98000e421bb8c1a12ba9487d00acf8292a1db5b9f"}, {0xc}, {0xc, 0x8, {0x1, 0x1}}}}, @m_ipt={0xcc, 0x9, 0x0, 0x0, {{0x8}, {0x24, 0x2, 0x0, 0x1, [@TCA_IPT_INDEX={0x8, 0x3, 0x6}, @TCA_IPT_HOOK={0x8}, @TCA_IPT_INDEX={0x8, 0x3, 0x9}, @TCA_IPT_HOOK={0x8}]}, {0x84, 0x6, "b06691ace8cb4da1538239d3c27f1d280cdb47e20979c3229e922834908d9bef83ad922196714f3de943054c799e870ba0772ec922199936ac9ba3915a2b1667712215177503515e2cd3b71ab582dab443311b762a1714eef12d4efb3974ad0bbf2859ae07775c77527e6d73687e4e2ffdabde792d16f365f88b35f886f8c0f0"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x1, 0x1}}}}]}, {0x2f8c, 0x1, [@m_mpls={0x88, 0x1a, 0x0, 0x0, {{0x9}, {0x58, 0x2, 0x0, 0x1, [@TCA_MPLS_TTL={0x5}, @TCA_MPLS_TC={0x5, 0x6, 0x2}, @TCA_MPLS_PROTO={0x6, 0x4, 0x3}, @TCA_MPLS_BOS={0x5}, @TCA_MPLS_BOS={0x5, 0x8, 0x1}, @TCA_MPLS_PROTO={0x6, 0x4, 0xa01}, @TCA_MPLS_PARMS={0x1c, 0x2, {{0x0, 0x80000000, 0x1, 0x0, 0x401}, 0x4}}, @TCA_MPLS_LABEL={0x8, 0x5, 0x75075}]}, {0x8, 0x6, "68cbd24b"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x2}}}}, @m_sample={0xfc, 0x17, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [@TCA_SAMPLE_RATE={0x8, 0x3, 0x6}, @TCA_SAMPLE_RATE={0x8, 0x3, 0x4}, @TCA_SAMPLE_RATE={0x8, 0x3, 0xfffffffe}, @TCA_SAMPLE_TRUNC_SIZE={0x8, 0x4, 0x1}, @TCA_SAMPLE_PARMS={0x18, 0x2, {0x80000001, 0x2, 0x4, 0x3f, 0x1}}, @TCA_SAMPLE_TRUNC_SIZE={0x8, 0x4, 0xfffffff7}, @TCA_SAMPLE_PARMS={0x18, 0x2, {0x200, 0x2, 0x5, 0x2}}, @TCA_SAMPLE_PSAMPLE_GROUP={0x8}]}, {0x6f, 0x6, "68c7dfe273c90198820c39a19bd9e086cfd4fcb9ed7795bb766bed7ee48dd95dd09a51c5e2a15c23729feac41f350767650a37051fe1d42e89f16d05e28dabfb73d0933e7c512563aaf2e205ec1b3851dbb090f5f6be2ed5b632ccb507f3a1a4d7f7e554862ec8219fc4a2"}, {0xc}, {0xc, 0x8, {0x0, 0x1}}}}, @m_skbmod={0xd0, 0x0, 0x0, 0x0, {{0xb}, {0x50, 0x2, 0x0, 0x1, [@TCA_SKBMOD_PARMS={0x24, 0x2, {{0x6, 0x40, 0x20000000, 0x3, 0x5}, 0x4}}, @TCA_SKBMOD_DMAC={0xa, 0x3, @remote}, @TCA_SKBMOD_ETYPE={0x6, 0x5, 0x8}, @TCA_SKBMOD_ETYPE={0x6, 0x5, 0x7f}, @TCA_SKBMOD_DMAC={0xa, 0x3, @multicast}]}, {0x56, 0x6, "392c4fc0465d214114a1459b0bc50e921f8f59808e0ecdc504aab1f1de45118281b411284bbd1aa02fceeb634fb5f086d48ccb5f4e7bb810cdb5da987fbb45dafefffa1e7acc2af30b53b769053651530f25"}, {0xc}, {0xc, 0x8, {0x2}}}}, @m_pedit={0x2d34, 0xd, 0x0, 0x0, {{0xa}, {0x2cc8, 0x2, 0x0, 0x1, [@TCA_PEDIT_PARMS_EX={0xe80, 0x4, {{{0x6, 0xbd8d, 0x1, 0x1, 0x4}, 0x7, 0x40, [{0x6, 0x73c, 0xfffffffd, 0x6, 0x7, 0x1ff}, {0x81, 0x5, 0x0, 0xfb9718ae, 0x0, 0x4}, {0xff, 0x5, 0xf0, 0xffffffff, 0x0, 0x8}, {0xffffff89, 0x40, 0x2, 0xb8aa, 0x6, 0x4}]}, [{0x8000, 0x10000, 0x80000000, 0x0, 0x80000000}, {0x1, 0x8, 0x7, 0x5, 0x1f, 0xfb3}, {0x1f, 0x4, 0x80000000, 0x1ff, 0x4, 0x1}, {0x401, 0x5, 0xfffffff8, 0x0, 0x2, 0xaca1}, {0x8, 0x5, 0x20, 0xd7ff, 0x6, 0x8}, {0x3e4, 0x5, 0x80000001, 0x4, 0x81, 0x9}, {0x40, 0x9, 0x1, 0x5, 0x1, 0x9}, {0x40, 0x8, 0x0, 0x0, 0x9, 0x968b}, {0x57a, 0x80000000, 0x3f, 0x7f, 0x86b, 0x7fffffff}, {0xfffffc01, 0x2, 0x0, 0x4, 0x57, 0x401}, {0xfff, 0x8, 0x318, 0xfff, 0x8000, 0x9}, {0x1000, 0x9, 0x1, 0x9, 0xffffffff, 0x5e41}, {0x3, 0x4, 0x0, 0x8, 0x5, 0x7ff}, {0x77, 0x4, 0x3ff, 0x9, 0x40, 0x1}, {0x7, 0xdbe, 0x45d, 0x28, 0x8, 0x4}, {0x5, 0xab0, 0x80, 0x401, 0x3f, 0x9}, {0x17, 0x0, 0x80, 0x4, 0xe5, 0x7}, {0x11, 0x2, 0x8000, 0x7fff, 0x3fc62f38, 0x137}, {0x1, 0x400, 0x80000000, 0x6, 0x80000001, 0xffffffe1}, {0x6, 0x10001, 0x1000, 0x8, 0x3, 0x9}, {0x3, 0x0, 0x400, 0x5, 0x0, 0xba37}, {0x1, 0x2, 0x6, 0x100, 0x40, 0x531e}, {0x50000, 0x1, 0x800, 0x5, 0x52, 0x8000}, {0x2, 0x7a, 0x0, 0x6, 0x3, 0x128625f9}, {0x2, 0x1f, 0x100, 0x8ab0, 0x6, 0x6f6}, {0x80, 0x1f, 0x8, 0x7f, 0x8, 0x4}, {0x9, 0x100, 0xdbbf, 0x754, 0x2, 0x40}, {0x4, 0x8, 0x3, 0x11, 0x4, 0x6}, {0x0, 0x9, 0x6, 0x2, 0x1, 0x5}, {0x3, 0x10001, 0x7, 0x1, 0x9, 0x4}, {0x6f, 0x5, 0x800, 0x2, 0x800, 0xcd9d}, {0x101, 0x3, 0x100, 0x2, 0x7, 0x8}, {0x4, 0x9, 0x6, 0x5, 0xfffff6e6, 0xab}, {0x200, 0x3, 0x101, 0xffff, 0x0, 0x1ff}, {0x2, 0x1, 0x3, 0x0, 0x6, 0x200}, {0x3, 0x0, 0x6, 0x6, 0x1, 0x4eb}, {0x1, 0x9b, 0x3, 0x55e, 0x0, 0x80}, {0x0, 0x400, 0x8, 0xc4, 0x222, 0x2}, {0x33, 0x6, 0x15d, 0x0, 0x3, 0x4}, {0x1, 0xbef7, 0x6, 0xf, 0x7, 0x4}, {0x5, 0x1965c0, 0x1, 0x5, 0x4, 0x101}, {0x8, 0x1, 0x1, 0x0, 0x80000000, 0x3}, {0x7fffffff, 0x0, 0x3, 0xc7, 0x16, 0x4}, {0x3, 0x4, 0x1, 0x3, 0x0, 0xa3}, {0x1, 0x7f, 0x5, 0x81, 0x6, 0xa}, {0xd92, 0x8000, 0x3, 0x7f, 0x5, 0x5}, {0x6, 0x2, 0x3, 0x2, 0x1, 0x80000000}, {0x3, 0x2, 0x2, 0x9, 0xec8, 0xb1}, {0x7, 0x6, 0x1f, 0x5, 0x81, 0x7ff}, {0xbd77, 0xffff, 0x8, 0x20, 0x8, 0x5}, {0x4, 0x9, 0xfffff000, 0x0, 0x1, 0x9}, {0xffffff7f, 0x80, 0x20, 0x9, 0x200, 0x9}, {0x1d7, 0x4, 0x4, 0xec76, 0x8, 0x6}, {0x9a00000, 0x9, 0xcaf, 0x6, 0x96, 0x3}, {0x8, 0x6c8a, 0x3f, 0x8, 0xffffffff, 0x6}, {0x1, 0x8, 0x14, 0x11d, 0x0, 0x40}, {0x0, 0x74b, 0x7fff, 0x3ff, 0x7, 0x71f}, {0x0, 0x3, 0x6, 0xffff, 0x6, 0x3800000}, {0x9, 0x9, 0x5, 0x1, 0x7, 0x8}, {0x929, 0x3, 0x1, 0x1, 0x2, 0x4}, {0x8001, 0x9, 0xfeb, 0x8000, 0x9834, 0xfffffff8}, {0x0, 0x8, 0x67, 0x1, 0x0, 0x1f}, {0x3f, 0x6, 0x80, 0x2c, 0x7, 0xc47}, {0x1, 0x8, 0x8, 0x5a8, 0x1000, 0x7}, {0xfffffff4, 0x4aa, 0x4, 0x1f, 0x1, 0x6}, {0xfffffffb, 0x4, 0x10a49e37, 0xfffffd2f, 0xc1d}, {0x7, 0x1, 0x7f, 0x9, 0x3f, 0x401}, {0x400, 0x4, 0xfffffe00, 0x0, 0x389}, {0x1, 0x81, 0x0, 0x5920, 0x7fff, 0x4}, {0x0, 0x0, 0x7, 0x23cd, 0x8, 0x372}, {0x0, 0xffffff01, 0x62, 0x0, 0x6, 0x3}, {0xffff, 0x7, 0x7fff, 0x1c, 0x339, 0xffff497d}, {0x4, 0x9, 0xc000, 0x6, 0x3f, 0xffff}, {0x1ff, 0x0, 0x3643, 0x3, 0x5, 0x2d}, {0x81, 0x20, 0x0, 0x9, 0x4, 0x80}, {0x6, 0xfffffffb, 0x3c53, 0x6, 0x6, 0x9}, {0x6, 0x7, 0x9, 0x400, 0xfffffffb, 0x10001}, {0xf0d, 0x40, 0x4, 0x2, 0x1ff, 0x800}, {0x2e, 0x100, 0x4, 0x3, 0x7ff, 0x10001}, {0x4, 0x0, 0x8000, 0x93, 0x66b, 0x1}, {0x1ff, 0x5, 0x1, 0x7a128ae9, 0x3, 0x36f4}, {0x5be, 0xc99, 0x3e, 0x7, 0x0, 0xb539}, {0x101, 0xfff, 0x200, 0x4, 0x0, 0xfff}, {0x7fffffff, 0x20, 0x200, 0x7f, 0x2ec9, 0x2}, {0x7f, 0x800, 0x5, 0x6, 0x80000000}, {0x8, 0x1, 0x9, 0x4, 0x6, 0x4}, {0x3f, 0x101ddc3, 0x43, 0x8, 0x1, 0x6}, {0x6, 0x4, 0x0, 0x4e, 0x3, 0x7e11}, {0x1, 0x2f00000, 0x4, 0x9c7e, 0x88, 0x6}, {0x84, 0x9, 0x2, 0x3, 0x9, 0xc3}, {0x8bed, 0x200000, 0x2, 0x6, 0xf5, 0x5}, {0x7f, 0x7, 0x9, 0x7f, 0x3, 0x7}, {0x400, 0xffff, 0x7, 0x7, 0x13e, 0x2}, {0x6, 0x4, 0x400, 0x0, 0x10000, 0x1d}, {0x9, 0xb19, 0x712, 0xfffffffc, 0xce1, 0x1}, {0x2ee2, 0x2, 0x8, 0x0, 0x28ed, 0x5f3}, {0x1, 0x5, 0x8001, 0x1, 0x2, 0x8}, {0x9, 0xffffffff, 0x3, 0x2, 0x4}, {0x40400000, 0x5, 0x0, 0x401, 0x1f, 0x3d50e193}, {0x20, 0x80000000, 0x80000001, 0x8, 0x7f, 0xfffffff7}, {0x8, 0x2, 0x97, 0xffffffff, 0x20, 0x5}, {0x80, 0x1, 0x3, 0xe80a, 0x6}, {0x76, 0x9, 0x6, 0xffff0000, 0x8001, 0x3}, {0x2, 0x5, 0x5, 0x7, 0x1, 0x40000000}, {0x5, 0x1, 0x7, 0x6, 0x7, 0x4}, {0x4, 0x20, 0x80000001, 0x2, 0xa3, 0x6}, {0x6, 0xff, 0x2, 0x80000000, 0x6}, {0x355, 0xa2ad, 0x1, 0x1, 0x400, 0xbe35}, {0x9, 0x94f, 0x0, 0x1, 0x4, 0x8}, {0x4, 0x401, 0x5, 0x2, 0x5}, {0x0, 0x80, 0x9, 0xfffffffa, 0x1}, {0x9, 0x1000, 0x7, 0xdc, 0xfffffff9, 0x1}, {0x5, 0x2, 0x0, 0x1, 0x6, 0x7}, {0x1, 0x1, 0x10001, 0x0, 0x0, 0xb2b}, {0x25e, 0xfffff3e5, 0x1, 0x9, 0x3ff, 0x81}, {0x80000001, 0xfffffffe, 0xa9d7, 0x9, 0x7b6, 0x80000000}, {0x5, 0x7ff, 0xce, 0x30000000, 0x5673, 0x1}, {0x80000000, 0x5, 0x51c6, 0x1, 0x7fffffff, 0x384}, {0x2, 0x8, 0x200, 0x7ff, 0x3f, 0x4}, {0xb6, 0x1f, 0xffff, 0x0, 0x0, 0x80000001}, {0x8, 0x8, 0x401, 0x8, 0x5, 0x10001}, {0x6, 0x400, 0x5, 0x2, 0xffff, 0x43a4}, {0x7, 0xe9b8, 0xca2, 0x1, 0x40, 0x610}, {0xb2, 0x7, 0x2, 0x1, 0x9, 0x3}, {0x7d, 0x9, 0xffffff7f, 0x62b, 0x3, 0xff}, {0x4, 0x10001, 0xed, 0x3f, 0x9, 0x3}, {0x8, 0x3f, 0x4, 0x2, 0x7ff, 0x57b5}, {0x1, 0x8000, 0x5, 0x100, 0x80, 0xffff}], [{0x2}, {0x0, 0x1}, {0x7, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x4}, {0x5, 0x1}, {0x90bd66f9c522c868, 0x1}, {}, {0x3}, {0x4}, {0x1}, {0x0, 0x1}, {0x5}, {0x4}, {0x2, 0x10d81a55dc0ec569}, {0x0, 0x1}, {0x1}, {0x3, 0x1}, {0x4}, {0x2, 0x1}, {0x3}, {0x3}, {0x2}, {0x5}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {}, {0x4, 0x1}, {}, {0x4, 0x1}, {0x1}, {}, {0x2}, {0x1, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {}, {0x0, 0x1}, {0x5}, {}, {0x4, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x4, 0x3}, {}, {0x5, 0x1}, {0x3}, {0x1, 0x1}, {0x3}, {0x2}, {0x1}, {}, {0x6, 0x1}, {0x721679c6fcc74d28}, {}, {0x1, 0x1}, {0x3}, {0x4, 0x1}, {0x4}, {0x2, 0x1}, {0x5}, {0x3}, {}, {0x1}, {0x1}, {0x4}, {}, {0x4, 0x1}, {0x3}, {0xc38945d01884aa03}, {0x1, 0xc099fae0cf0a69b7}, {0x2, 0x1}, {0x5, 0x1}, {0x2}, {0x4, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {0x5, 0x1}, {0x4}, {0x5, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {0x0, 0x1}, {0x3}, {0x3, 0x1}, {0x4, 0x1}, {0x3}, {0x2}, {0x2, 0x1}, {0x0, 0x1}, {0xba942459c3716eb0, 0x1}, {0x5}, {0x2, 0x1}, {0x1}, {0x4}, {0x1}, {0x5, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x1}, {}, {0x3, 0x1}, {0x3}, {0x4}, {0x5}, {}, {0x0, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {0x3}, {0x4}, {0x3, 0x1}, {0x3, 0x1}], 0x1}}, @TCA_PEDIT_PARMS={0xe38, 0x2, {{{0xffffffff, 0x3, 0x0, 0x64e1, 0x3f}, 0x0, 0xf9, [{0xff, 0x4, 0x4, 0x1870aac0, 0xd9ab, 0x8}]}, [{0x0, 0x61, 0x1, 0x80000000, 0x2, 0x101}, {0x1, 0x3, 0x1, 0x8, 0x1000, 0x4}, {0x8, 0x1, 0x8001, 0xffff7fff, 0xfff, 0xca8}, {0x4, 0x4, 0x1, 0x3, 0x10000, 0x2}, {0x3, 0x3, 0x9221, 0x6, 0x1f, 0x7}, {0x4, 0x0, 0x1, 0x17, 0x9c, 0xfffffff8}, {0x7, 0xd0b80000, 0x1, 0x7, 0x5e, 0x10e}, {0x99, 0x0, 0x3, 0x6, 0x7, 0x200}, {0x1, 0x2, 0x8, 0x0, 0x3}, {0x1, 0x2, 0x0, 0xffffff3a, 0x1f, 0x2}, {0x2, 0x3ff, 0x4f35, 0x618, 0x81, 0x9}, {0x3f, 0x8000, 0x80000000, 0x0, 0x1, 0x2}, {0x7, 0x1000, 0x4e, 0x54, 0x4, 0x6}, {0x9, 0x7, 0x3, 0x7fff, 0x10000, 0x98}, {0x4, 0x10001, 0x8000, 0xbf, 0x9}, {0xa7c, 0x7, 0x4, 0x6, 0xfffffffa, 0x6}, {0x4, 0x2, 0x7, 0x4, 0x104485c1, 0x7cd4}, {0x3, 0x6, 0x2, 0x8, 0xffffff7f, 0x36}, {0x9, 0x1, 0x0, 0x8, 0x400, 0x8000}, {0x6, 0x8, 0x6, 0x8, 0xc492, 0xa6f0}, {0x5, 0xf37, 0x4, 0x37fe, 0x2, 0x10000}, {0x56, 0x4, 0x7, 0x80000000, 0x62975411, 0x65ae2456}, {0x2, 0x4800000, 0x2, 0x6, 0x9, 0xffffff81}, {0x1, 0x1, 0xfffff800, 0x7217, 0x4, 0x72}, {0x0, 0x81, 0x9, 0x7, 0xffffffff, 0x7}, {0x9, 0x800, 0x8001, 0x5, 0xe3f8, 0xfff}, {0xfffffff7, 0x1, 0x400, 0xb3cb, 0x2, 0x3}, {0xff, 0x100, 0x2, 0x5, 0x1}, {0x3ff, 0x1000, 0x400, 0x337, 0x4, 0x5}, {0x2, 0x7ff, 0x6, 0x400, 0x7a, 0x7}, {0xffffffff, 0x5, 0x6, 0xff, 0x8000, 0x9}, {0x7f, 0x7, 0x6, 0x5, 0x6, 0x100}, {0x7, 0x9, 0xffffffc1, 0x3, 0x6, 0x8}, {0x8, 0x7, 0x80000001, 0x5, 0x5, 0x8}, {0x10000, 0x401, 0x5, 0x218c9534, 0x0, 0x1}, {0x9, 0x32, 0x5c000, 0x4, 0xa37, 0x3}, {0x80000000, 0x5, 0x7, 0x0, 0x81, 0x10000}, {0x7fff, 0x80, 0x3b3d, 0x400, 0x7, 0x5}, {0x9, 0x6, 0x8000, 0x3, 0x99fe, 0x2}, {0x5, 0x1, 0x9, 0x10001, 0x3f, 0x40}, {0x20, 0x8, 0x8, 0x7, 0x1, 0x100}, {0x0, 0x4, 0x200, 0x40, 0x7, 0x7f}, {0x0, 0x2, 0x6, 0x64, 0x10000, 0x3}, {0x7, 0x5, 0x4, 0x8, 0x3}, {0x0, 0x40, 0x9, 0xfffffff9, 0xe00000, 0xffffffff}, {0x100, 0x1, 0x2, 0x81, 0x6, 0x4}, {0x3, 0x80000000, 0xf8b9, 0x3, 0x70, 0x1ff}, {0x80000001, 0x7f, 0x9, 0xfffffff9, 0xc44, 0x5}, {0x4260, 0x2, 0xfffffffa, 0x2, 0x9, 0x7f}, {0x6, 0x3f, 0x5, 0x29e9, 0x1, 0x3}, {0xdc, 0x40, 0x4, 0x81, 0x1, 0x1000}, {0x10001, 0x0, 0x6, 0x1, 0x6, 0x8}, {0x9, 0x0, 0xffffff01, 0x2, 0x6, 0x7}, {0x590, 0x7, 0x2, 0xe739, 0x2, 0x736}, {0x10000, 0x3, 0xff, 0xaed5, 0x40, 0x5}, {0xfffff800, 0x100, 0x0, 0x1, 0x9, 0xcfde}, {0x9, 0x7fffffff, 0x3, 0x48a78171, 0x10001, 0x88cd}, {0x0, 0x4, 0xf4db, 0x4, 0x101, 0x299dc7ff}, {0x2000000, 0xff, 0x5, 0x3, 0x6, 0x84}, {0x28, 0x1f, 0x0, 0x80000000, 0x43, 0x1}, {0xa99, 0x4, 0x6, 0x101, 0x766, 0xbd}, {0x400, 0xffff2aa5, 0x5, 0x9, 0x0, 0x7}, {0x3, 0xfac, 0x7e90, 0x1, 0x6, 0x8000}, {0x6, 0xe5, 0x9, 0x8, 0x80000000, 0xffffffff}, {0xffffff48, 0x117, 0x4, 0x8, 0x4, 0x1ff}, {0xfffffffe, 0x6, 0x8000, 0x63, 0x8001, 0x200}, {0xffff8001, 0x4ff, 0x9, 0x9, 0x5, 0x1fc00}, {0x3f, 0x6, 0x5, 0x8001, 0x800, 0x4}, {0x7, 0x1, 0xfffffffe, 0x2, 0x5, 0x9}, {0x5, 0x0, 0xf2, 0xba0, 0x0, 0x7}, {0x8000, 0x8, 0x3, 0x1, 0x8, 0x10001}, {0x1, 0x6, 0x4, 0xffff, 0x1ff, 0x1}, {0xef, 0x7fff, 0x67a, 0x8, 0x3, 0x9}, {0x2, 0x233, 0x4, 0x0, 0x9, 0x3}, {0xfffffff9, 0x52, 0x463, 0x3, 0x1, 0x10001}, {0x648, 0x5, 0x657f, 0x0, 0x1}, {0x5, 0x7ff, 0x3, 0x9, 0xee, 0x9}, {0x8001, 0x60, 0xfffffffc, 0x1, 0x3, 0x15}, {0x808, 0x9, 0x6, 0x5, 0x9, 0x10000}, {0xc1f5238, 0x7ff, 0x3, 0x7fffffff, 0xfffffffc, 0x6}, {0x2, 0x401, 0xfffffffa, 0x33f6, 0x5, 0x9}, {0x2, 0xb67, 0x2, 0x1, 0x4, 0x7fff}, {0x1000, 0x3, 0x9, 0x7, 0xffffff80, 0x5}, {0x8, 0x3, 0x3ff, 0x3, 0x8, 0x1}, {0x80000001, 0x3ff, 0x5, 0x0, 0xffffffff, 0x3}, {0x6, 0x8, 0x10000, 0x7, 0x3, 0x70}, {0x3, 0x4, 0x2, 0xffffffff, 0x3d3, 0x6}, {0x1, 0x4, 0x8, 0x4, 0xc13, 0x53}, {0x1, 0x0, 0x2, 0x1, 0x4, 0x4}, {0x5, 0x7ff, 0xdc, 0x8, 0x80, 0x98}, {0x100, 0x1, 0x200, 0xa7, 0x4, 0x3ff}, {0x5, 0x1ca, 0x0, 0x8000, 0xae71, 0x3f}, {0x6, 0xff, 0x9, 0x8, 0x8001, 0x8}, {0xfffe0000, 0x5, 0x4, 0x3, 0x90, 0x6}, {0xe2, 0x620, 0x80000001, 0x0, 0x5, 0x80000000}, {0x7, 0x80, 0x1, 0x2, 0x0, 0xee}, {0xffffffff, 0x5, 0x5, 0x9, 0x80000001, 0x80}, {0x3, 0x14000000, 0x9, 0x8, 0xee, 0x5}, {0x1850f0ef, 0x0, 0xfe, 0x7, 0x3ffc0, 0x2}, {0x0, 0x7, 0x8, 0x80000001, 0x40, 0x1}, {0x80, 0x700000, 0x7, 0x2, 0x2, 0xfa}, {0x7, 0x0, 0x8, 0x6, 0x6}, {0x401, 0xff, 0x400, 0x6f27, 0xffffffff, 0xabec}, {0x200, 0xef70, 0x8000, 0x2, 0x0, 0x8}, {0x1, 0x4, 0xfffffff8, 0x5, 0x8, 0x6}, {0x4, 0xfffffffc, 0x8, 0x7, 0xfff}, {0x10000, 0x40, 0x3, 0x2, 0x20, 0x8}, {0x1, 0x8, 0x9, 0x172c, 0x1, 0x80}, {0x7, 0x6c, 0x5, 0x8001, 0x7, 0x8001}, {0xffffffff, 0xdb3, 0x0, 0x243, 0x7, 0x4}, {0x101, 0x0, 0xfffffffc, 0x4, 0x0, 0x80}, {0x5, 0x4, 0xffffffff, 0x7fffffff, 0x9, 0x7fff}, {0x32, 0xe18, 0x0, 0x1, 0x20, 0x3ff}, {0x20000, 0x7, 0x7, 0x7, 0x4, 0x4}, {0x3, 0x1f, 0x0, 0x1, 0x4, 0x80000000}, {0x8000, 0x2, 0xe1, 0x9, 0x20, 0x2}, {0x3, 0x2, 0x900, 0x5, 0x1, 0x3}, {0x7ff, 0x3, 0x4, 0x6, 0xffffffff, 0x7}, {0x5aaddf67, 0xca12575, 0x1, 0x1, 0x3, 0x7}, {0x3, 0xffff, 0x41e, 0x9ae, 0x80000000, 0x9}, {0x23, 0x3f, 0x6, 0x9d, 0x0, 0x5000000}, {0x5, 0x1ff, 0x1, 0x1, 0xffffffff, 0x9f6}, {0x1, 0x7, 0x6, 0x1, 0x100, 0xffffffff}, {0x1ff, 0x200, 0x2, 0x7fff, 0x40, 0x69}, {0x7, 0x7, 0xffffffff, 0x9ba, 0x6, 0x7fff}, {0x8, 0x7ff, 0x10000, 0x0, 0x8, 0x8}, {0x8, 0x1000, 0x5, 0x5, 0x2, 0x279}, {0x7, 0x0, 0x8, 0x375, 0x7, 0x1}], [{0x5}, {0x4}, {}, {0x5, 0xf66e242ff0e976ac}, {0x1}, {0x1, 0x1}, {0x4}, {}, {}, {0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x2}, {}, {0x3}, {0x4}, {0x1, 0x1}, {0x1b68c4d37cd138d1}, {0x2}, {0x5}, {0x3, 0x1}, {}, {0x4}, {0x2}, {0x1, 0x1}, {0x2}, {0x2, 0x1}, {0x2, 0x1}, {0x1}, {}, {0x3, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x5, 0xb5aeb08142c0227a}, {0x0, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5, 0x1}, {0x5, 0x1}, {}, {0x3, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x4, 0x1}, {0x2}, {0x3, 0x1}, {0x4}, {0x1, 0x1}, {0x5, 0x1}, {0x4}, {0x0, 0x3}, {0x3, 0x1}, {}, {0x5, 0x1}, {0x1, 0x1}, {0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {}, {0x2}, {0x4, 0x1}, {}, {0x1}, {0x4, 0x1}, {}, {0x2}, {0x2}, {0x2}, {}, {0x3, 0x1}, {0x1, 0x1}, {0x1}, {}, {0x3, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x5}, {0x2}, {0x0, 0x1}, {0x2}, {}, {0x4, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x7, 0x1}, {0x1, 0x1}, {0x3, 0x1}, {0x7, 0x1}, {}, {0x3}, {0x2, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {0x1}, {0x3}, {0x0, 0x1}, {0x3}, {0x5}, {0x1}, {0x1, 0x1}, {0x4}, {0x5, 0x1}, {}, {0x0, 0x1}, {0x5}, {0x5}, {0x2, 0x7279be85729da8e8}, {}, {}, {0x3, 0x1}, {0x5}, {0x4, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x4}, {0x0, 0x1}, {0x4}, {0x2}, {0x1}, {0x1}, {0x3}, {}, {}, {0x5, 0x1}]}}, @TCA_PEDIT_KEYS_EX={0xbc, 0x5, 0x0, 0x1, [{0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x34, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x54, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}]}]}, @TCA_PEDIT_KEYS_EX={0x40, 0x5, 0x0, 0x1, [{0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}]}, @TCA_PEDIT_KEYS_EX={0x18, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}]}]}, @TCA_PEDIT_PARMS={0xef8, 0x2, {{{0x9, 0x1000, 0x2, 0x481, 0x9}, 0x40, 0x0, [{0xfffff000, 0x1, 0x5, 0x9, 0x10001, 0xfffffc00}, {0x49a, 0x100, 0x7, 0x9, 0x1f, 0x5}, {0x4, 0x2, 0x110, 0x8, 0x80000001, 0x3}, {0x80000000, 0x977, 0x78, 0x95, 0x95, 0x3ff}, {0x9c, 0x0, 0x7e01, 0x3, 0x7fff, 0x80000001}, {0x7, 0x0, 0x8, 0x11, 0x0, 0x2}, {0x8, 0x2, 0x7, 0xabc3, 0x32, 0x9}, {0x7, 0x8, 0x5, 0x1, 0x7, 0x80000001}, {0x1f, 0x200, 0x8, 0x5, 0x9, 0xfffff430}]}, [{0xa1, 0x54da, 0x80, 0xb2c0, 0xd365, 0x5}, {0x5, 0x5, 0x7, 0x3, 0x8, 0x2}, {0x2, 0x0, 0x0, 0x7, 0x1, 0xfffffffb}, {0x0, 0x2, 0x8000, 0x0, 0x8ac, 0x800}, {0x6, 0x16, 0x80000000, 0x81, 0xba6}, {0x3, 0x8, 0x40, 0x8, 0x3f, 0x7}, {0x0, 0x9, 0xc06, 0x6, 0x400, 0x340}, {0xf, 0xddb, 0xffffffff, 0x6, 0x2, 0xe9}, {0xd4, 0x101, 0x4, 0x2, 0x8c4, 0xffff}, {0x8000, 0x4, 0x2, 0x5a, 0x8, 0x9}, {0x800, 0x1, 0x6, 0x7, 0x0, 0x9}, {0x4, 0xc00000, 0x5, 0x6, 0x20, 0x2}, {0xffffff01, 0x401, 0x69, 0x1, 0x4, 0x7f}, {0x2, 0x3ff, 0xfffffff8, 0x1, 0xfff, 0x80000001}, {0x4, 0x10000, 0x13, 0x7ff, 0x8000, 0xffffffff}, {0x4d81, 0x8001, 0x1, 0x4, 0x8000}, {0xcfb6, 0x4, 0x8, 0x8303, 0x6, 0xfff}, {0x80000001, 0xfffffffc, 0xfcf, 0x5, 0x1000, 0x9}, {0x9, 0x6, 0x1000, 0x7fffffff, 0x4, 0x3}, {0xcd10, 0x8c0, 0xa56a, 0x8, 0x400, 0x3ff}, {0x200, 0x696c, 0x4, 0xfffffffe, 0x4, 0xffffffff}, {0x1, 0x7f, 0x7, 0x8000, 0x4, 0x3f}, {0x101, 0xe5d, 0x4, 0x6, 0x7fffffff, 0x7fffffff}, {0x7fff, 0xb951, 0x8, 0x4, 0xb32e, 0x38}, {0x3, 0x6, 0x0, 0x4, 0x1a3b, 0x68d}, {0x7fffffff, 0x101, 0x9c6, 0x3, 0x2}, {0x5, 0x7, 0x4712, 0x1, 0x7f, 0x8}, {0xbcba, 0x40, 0x5, 0x4, 0x7175, 0x2}, {0xfff, 0x3249, 0x80, 0x1ff, 0xf471, 0x6}, {0x0, 0x3ff, 0xdec, 0x1f, 0x3f, 0x6}, {0x100, 0x4, 0x2, 0x3}, {0x2, 0x5, 0x5877, 0x3, 0xd14, 0x7}, {0xfffff8a7, 0x5, 0x0, 0x3ff, 0x10000, 0x5}, {0x2ef63ef2, 0x54, 0x0, 0x2, 0xfff, 0x6}, {0x1f, 0x5, 0x3273, 0x2, 0x9, 0x1000}, {0x8, 0x4, 0x4e2, 0x3, 0x4, 0x100}, {0xfffffa43, 0x0, 0xc23, 0x10000, 0xffff, 0xf43}, {0x0, 0x0, 0x7, 0x500000, 0x8, 0x6}, {0xcd, 0x1c000, 0x3ff, 0x5, 0xc000000, 0x6}, {0x100, 0xffff, 0x7fff, 0x6, 0x62c67b19, 0x4}, {0x572800, 0x6b, 0x9, 0x8903, 0x3f, 0xe1e7}, {0x5, 0x7fffffff, 0x5b, 0x7, 0x7, 0x6}, {0x4, 0xff, 0x7, 0x1, 0x7, 0x6}, {0x80000001, 0x8, 0x64c, 0x4, 0x6}, {0xd17b, 0x7, 0x7, 0x8, 0x0, 0x7ff}, {0xf0, 0x3f, 0x1, 0x6, 0x81, 0x40}, {0x9, 0x1, 0xffffffff, 0xfffffffc, 0x7fff, 0x482}, {0x3, 0xffffffff, 0x4, 0x80000001, 0x3, 0x1f}, {0xffff, 0x2, 0x3, 0x20, 0xfffff0c0, 0x3ff}, {0x1, 0x2, 0x100, 0x3, 0x8, 0x3ff}, {0x80, 0x7fff, 0x7, 0x40, 0x2, 0x8000}, {0xd4ee, 0x2, 0x8, 0x7, 0x0, 0x4}, {0x7fffffff, 0x7fff, 0x10001, 0x100, 0x8, 0x8000}, {0x6, 0x7fffffff, 0x6, 0xfffffff8, 0x7ff, 0x5}, {0xecd, 0x5, 0x0, 0x2792, 0x0, 0xffffffff}, {0x84, 0x7, 0xb2, 0x4b, 0xa3c, 0x2}, {0x1ff, 0x2e5d, 0x8, 0x1f, 0x3, 0x2}, {0xfffffffe, 0x6, 0x7, 0x3ff, 0x4, 0x5}, {0x200, 0x20, 0x8, 0x8, 0x7, 0x8}, {0xfff, 0x4e, 0xfffffc01, 0x8, 0x7fffffff, 0x10000}, {0x1ae9, 0x6, 0x6, 0x4, 0x3, 0x7ff}, {0x4, 0x9, 0x4, 0x90000000, 0x9, 0x73}, {0x2, 0x7f, 0x1, 0x3f, 0x101, 0xd99}, {0x62a, 0x9, 0x0, 0xfffffffa, 0x2e}, {0x4, 0x7, 0x196, 0x2, 0x1, 0x400}, {0x41a, 0x610, 0x1f, 0x80000000, 0x800, 0x9}, {0x9, 0x0, 0x1, 0x7, 0x0, 0x7fffffff}, {0xfffffc22, 0x40, 0x0, 0x703, 0x0, 0x7fffffff}, {0x4, 0x7, 0x6, 0xc4}, {0x7, 0x1ff, 0x9, 0x9, 0x4, 0x800}, {0xfed, 0x3ff, 0x3ff, 0x0, 0x7, 0x4}, {0x3, 0x7f, 0x401, 0x1, 0x85e7, 0x3}, {0x27, 0x8, 0x6, 0x4, 0x83a9, 0xee1}, {0x4, 0x0, 0xffffffff, 0x9, 0xd202, 0xffffffc1}, {0x6, 0xaa, 0x8, 0x7fffffff, 0x209d, 0xfffffffd}, {0x7fffffff, 0x3, 0x16ce94ac, 0xb6, 0x5, 0x6}, {0x63c4, 0x85f0, 0x1ff, 0x3, 0x1, 0x7fff}, {0x8001, 0x7fffffff, 0x2, 0x8001, 0x5f6e68de, 0x3}, {0x4, 0x789f, 0x8, 0xdc, 0x1000, 0x3}, {0x9, 0x5, 0x0, 0x80000000, 0x2, 0x421b}, {0x10000, 0x6, 0x1, 0x40, 0xfffffbff, 0x11}, {0x4, 0x7f, 0x8, 0x0, 0x9, 0x567c}, {0xff, 0x1, 0x3, 0x100}, {0x5, 0x1, 0x7fffffff, 0x4e, 0x63ea8000, 0x3}, {0x40, 0x7f, 0x9, 0xffffffc0, 0x5}, {0x6b, 0x5, 0x2, 0x9, 0xace8, 0x401}, {0x1000, 0x2, 0x3, 0xdc12, 0x9}, {0x8, 0x86b, 0x67, 0x5, 0x9, 0x10001}, {0x4, 0x3, 0x2, 0x1, 0x733a, 0x6}, {0x4, 0x9, 0x8, 0x4, 0xffffffff, 0x3f}, {0x3, 0x8, 0x4, 0x8, 0x5, 0x8}, {0x0, 0x1, 0x0, 0x5, 0x3eaa4dd7, 0x2}, {0x9, 0x5, 0x3, 0x8, 0x800, 0x1}, {0x80000000, 0x3, 0x4, 0x80000000, 0x7fff, 0x4}, {0x2, 0x5, 0xfff, 0x7, 0x239, 0x10}, {0x9, 0x6, 0x0, 0x4, 0x0, 0x7f}, {0x4, 0x7fffffff, 0x6, 0x4ed6, 0x2470bcce, 0x6}, {0xbe, 0x4, 0x8, 0x7, 0x8, 0x80000001}, {0x4, 0x8, 0xf3f, 0x5, 0x6, 0x7ff}, {0x8, 0x2, 0x6, 0x406b, 0x1f, 0x6}, {0x3f, 0x75c3, 0x3, 0x2, 0x1, 0xe70}, {0x6e67931, 0x2, 0x7fff, 0xdfab, 0x470, 0x20}, {0x8f6, 0x7fff, 0x2, 0x400, 0x2, 0x3}, {0x400, 0x1, 0x2000000, 0x0, 0x7fffffff, 0x9}, {0x2, 0x357a, 0x9, 0x0, 0x3, 0x20}, {0x40, 0xfff, 0x1, 0x3, 0x6, 0x80000001}, {0x0, 0x20, 0x4, 0x81, 0x8000, 0x3}, {0x9, 0xffffffff, 0xfff, 0xfffffe01, 0xfff, 0x4}, {0x7ff, 0x9, 0xfffffffc, 0x2, 0x10001, 0xfffffff9}, {0xd952, 0x6, 0x6, 0x3, 0x401, 0x80000000}, {0xfffffff9, 0x40, 0x0, 0x40, 0x690, 0x7fffffff}, {0x9, 0x527, 0x7, 0x3, 0x6, 0x7f}, {0x2b, 0x80000000, 0x8001, 0x1ff, 0x80000001, 0x7}, {0x7, 0x7fff, 0x2, 0x48a1, 0x8}, {0x6, 0x7, 0x2, 0x1, 0x101, 0x6}, {0x1, 0x4, 0x9, 0xdbd, 0x2, 0x800}, {0x0, 0x7660, 0x8000, 0x200, 0xa41e1a5, 0x8000}, {0x6, 0xfffffffc, 0x9, 0x7e9f, 0x3}, {0x8001, 0x9, 0x9, 0x5, 0x9, 0x6}, {0x7fffffff, 0x1, 0x6, 0x68, 0xffff, 0x8}, {0x0, 0x5, 0x6, 0x101, 0x3ff, 0x7f}, {0x37, 0x4d, 0x7, 0x5, 0x76e1, 0x7}, {0x2, 0x3, 0xfffffd9c, 0x3, 0x3, 0x1}, {0x42a, 0x3, 0x0, 0x5, 0xf213, 0x90f0}, {0x40000, 0x1000, 0x0, 0x3, 0x9, 0x6}, {0x4, 0x40, 0x1, 0x4, 0x2, 0x5}, {0x80, 0x58, 0x4, 0x7, 0x5, 0x7}, {0x6, 0x7ff, 0x7, 0x3, 0x7f, 0x91ec}], [{0x5, 0x1}, {0x5}, {0x4, 0x1}, {0x4}, {0x1}, {0x1, 0x1}, {}, {0x4}, {0x1}, {0x3}, {0x5, 0x1}, {0x1, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x1, 0x1}, {0x0, 0x1}, {0x5, 0x1}, {0x4}, {}, {0x4, 0x1}, {0x2}, {0xd467b7ea2997b692}, {}, {0x0, 0x1}, {0x3}, {0x2, 0x1}, {0x3, 0x1}, {0x1}, {}, {0x2, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {}, {0x1, 0x1}, {0x5}, {0x0, 0x1}, {0x3}, {0x2, 0x1}, {0x4, 0x1}, {0x4}, {0x3}, {0x4}, {0x4}, {0x2}, {0x7, 0x1}, {0x2}, {}, {0x5}, {0x1}, {0x1}, {0x2, 0x1}, {0x5}, {}, {0x6261d967603f9a9d, 0x1}, {0x0, 0x1}, {0x7}, {0x5}, {0x3}, {0x3, 0x1}, {0x2}, {0x2, 0x1}, {0x2, 0x1}, {0x1}, {0x3}, {}, {0x1}, {0x3}, {0x1, 0x1}, {0x4679a4e3951a1088}, {0x5, 0x1}, {}, {0x0, 0x1}, {0x1, 0x1}, {0x3}, {0x2, 0x1}, {0x5}, {0x4}, {0x4, 0x1}, {}, {0x1, 0x1}, {0x4}, {0x4}, {}, {0x1, 0x1}, {0x1}, {0x4}, {0x5, 0x1}, {}, {0x5, 0x1}, {0x3}, {0x2, 0x1}, {0x1}, {0x5}, {0x4}, {0x4, 0x1}, {0x5}, {0x0, 0x1}, {0x5}, {0x1, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x4}, {0x2}, {0x3, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x2, 0x1}, {0x1}, {0x5}, {0x2, 0x3}, {0x4}, {0x5}, {0x4}, {0x4}, {0x2}, {0x5, 0x1}, {0x5}, {0x4, 0x1}, {0x3, 0x1}, {0x2}, {0x4, 0x1}, {0x3, 0x1}]}}]}, {0x43, 0x6, "4b39896f622d49019f89d6710c7ee7f447635531699838213ae6cf805bc1c71ddf90185f8cb712fdeb00af7576d620a93b7c4a201f19b8e80ddb24a20f985e"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x3, 0x3}}}}]}, {0x2f48, 0x1, [@m_tunnel_key={0xf0, 0x14, 0x0, 0x0, {{0xf}, {0x14, 0x2, 0x0, 0x1, [@TCA_TUNNEL_KEY_ENC_KEY_ID={0x8, 0x7, 0x3}, @TCA_TUNNEL_KEY_ENC_DST_PORT={0x6, 0x9, 0x4e20}]}, {0xae, 0x6, "dda54a0ffdc02cc1956363dc0c06c2db4e4ee2325326cb6b5db05058af2a0d773cf655d1aab528f5f86499cf5aa35eea974ae47f1142359369f2d4b7f7495257c3175124f2342114f849afc2ce0d49b110ec0ea727756f6a03d625316f1c610c234c09288509bb21a836716dd6afb3f4220a178e68b6151060327fd1f4b27afe676d369b85882d4294d7b25b81d2570665cc13d37e0e07509eb7026380100f338ed7a8d9320f7944f339"}, {0xc, 0x7, {0x1, 0x1}}, {0xc}}}, @m_pedit={0x2dc8, 0xe, 0x0, 0x0, {{0xa}, {0x2d00, 0x2, 0x0, 0x1, [@TCA_PEDIT_PARMS_EX={0xe80, 0x4, {{{0x0, 0x3, 0x20000000, 0x40, 0x6}, 0x7f, 0x3, [{0x1, 0x9, 0x1ff, 0xffffffff, 0xfffffffe, 0x3}, {0x6000, 0xffff, 0x3, 0x1ff, 0x6, 0x7}, {0x2, 0x2, 0x1, 0x0, 0x5, 0x100}, {0x2b77, 0x1f, 0x61, 0x6, 0x875000, 0x1ff}]}, [{0x6, 0xffff, 0x5, 0x130000, 0x20, 0x101}, {0xf6, 0x4, 0x0, 0x0, 0x1, 0x81}, {0x7, 0x3, 0x2, 0x1, 0x7fffffff, 0xe1}, {0x3, 0x0, 0x8, 0x4, 0x400}, {0x8, 0x8, 0x80000000, 0x8, 0xffff, 0x7a3}, {0x53, 0x0, 0xe75d, 0x7f, 0x332, 0xc}, {0x10000, 0x915, 0x2, 0x8, 0x90bc, 0x8e}, {0x8, 0x5, 0x4, 0x6dd0, 0x5, 0x3}, {0xfffffffe, 0x0, 0x8, 0x2, 0x5, 0x7}, {0x1ff, 0x80, 0x9, 0x0, 0x8, 0x400}, {0x8000, 0x2, 0x101, 0x9669, 0x3, 0x2}, {0x5, 0x2, 0x2, 0x100, 0x0, 0x2}, {0x4283, 0xa3, 0x0, 0x0, 0x100, 0x5}, {0x20, 0x6, 0xf34, 0x8, 0x7fffffff, 0x64}, {0x6, 0xeb01, 0x8000, 0x81, 0x1, 0x6a21}, {0x5, 0x8, 0x4, 0xfff, 0xdf2, 0x5}, {0xc0, 0x8, 0x7fff, 0x64b000, 0xc34, 0x5}, {0x5, 0x0, 0x6, 0x81, 0x8000, 0x2}, {0x81, 0x6, 0x9, 0x38, 0x1, 0x37f}, {0x40, 0x2, 0x3, 0x8, 0xf9, 0xffffffff}, {0x2, 0x3676, 0xb, 0x3f, 0x2, 0x6}, {0x8, 0xffffffff, 0x1000, 0x1000, 0x3, 0x1}, {0x6, 0x5, 0x7, 0x9, 0x2bf2, 0xffffff7f}, {0x5, 0x80, 0x3, 0x1, 0x40, 0x4}, {0x4, 0x80, 0x1, 0x47ca18, 0x3f, 0x4643}, {0x0, 0x9, 0x50a, 0x800, 0xffffffff, 0x800}, {0x7, 0x7, 0x70, 0x0, 0x14, 0x3}, {0xfffffffb, 0x80000000, 0x5, 0x3, 0x2, 0x3}, {0x0, 0x1, 0x1, 0x8000, 0x2, 0x80000001}, {0x3, 0x1, 0x5, 0x10001, 0x9, 0x9}, {0x8, 0xbad, 0xffffffc0, 0xfffffff9, 0xf02}, {0x7c, 0x9, 0x974, 0xfffffff8, 0x6000, 0x125}, {0x81, 0x7, 0x200, 0x3, 0x9, 0x8}, {0x20, 0xcda, 0xa3, 0x8001, 0x1, 0x9}, {0x0, 0x200, 0x643b, 0x6, 0x1, 0x80000001}, {0x800, 0x10001, 0x7, 0x3, 0x844, 0x8}, {0x80, 0x10001, 0x4, 0x1, 0x6, 0x7}, {0x200, 0x5, 0x5, 0x1f, 0x7, 0x3}, {0x7fffffff, 0xa2, 0x1dc3, 0x410, 0x1, 0x3}, {0x8, 0x100, 0x4, 0xff, 0x7, 0x6}, {0x3, 0xe77, 0x5, 0x1b426d87, 0x40, 0x1d}, {0x4, 0x6, 0x0, 0x1ff, 0xdd0, 0x81}, {0x7fff, 0xffff, 0x2, 0x42a, 0x1, 0x3f}, {0x0, 0xff, 0x5, 0x81, 0x456526a0, 0x1f}, {0x5, 0xfff, 0x2be4, 0x7fff, 0xf6, 0x9c41}, {0x2, 0x6, 0xf2, 0xffff, 0x8001, 0x9}, {0x6, 0x9b8, 0xb6, 0x3f, 0x4, 0x3ff}, {0x7, 0x5, 0x9, 0x100, 0x7, 0x8}, {0x7ff, 0x6, 0xb5, 0x8, 0x6, 0x4}, {0x0, 0x2, 0x7, 0x100, 0x41a, 0x2}, {0xc9, 0x6, 0xae44, 0x5, 0x2, 0x3}, {0x9, 0x10000, 0xfffffff9, 0xa0f, 0xfa, 0xfffffffc}, {0x1, 0x8, 0x76, 0x6, 0x101, 0x9}, {0x5a6cb9dd, 0x1f, 0xfffff09e, 0x2, 0x1c6963a4, 0xff}, {0x3, 0x521, 0x200, 0x6, 0x41, 0x6}, {0x2, 0x80000001, 0x10001, 0x4, 0x3, 0x3}, {0x3, 0x3, 0x2, 0x2, 0x1000, 0x5}, {0x1ff, 0x7, 0x7, 0xffffffff, 0x8, 0x10000}, {0x40, 0xaa, 0x4, 0x0, 0xcc4, 0xe1d2}, {0xe47, 0x3, 0x7, 0x0, 0x3ff, 0x888}, {0xc000, 0x4, 0x100, 0x8001, 0x7, 0xc4bd}, {0x6, 0x6, 0x4, 0x4, 0x277, 0xf3ae}, {0x4, 0x2f596964, 0x3, 0x40, 0x2, 0x3}, {0x7, 0x81, 0x14, 0x60a9, 0x0, 0x7}, {0x8, 0xff, 0x1, 0xffff, 0x9, 0x62f}, {0x2aff, 0x3, 0x5, 0x1, 0x6, 0x5}, {0x3ff, 0xe266, 0x7, 0x5, 0xfff, 0x101}, {0x40, 0x1ff, 0x4, 0x2, 0x5, 0x87ef}, {0x3f, 0x0, 0x0, 0x80, 0xffff88e6}, {0x3, 0x8aa, 0x6, 0x80000001, 0xcc7d, 0x8}, {0x101, 0x7, 0x1000, 0x1f, 0xfffff800, 0x9}, {0x8, 0xe3, 0x8, 0x6, 0x0, 0x8000}, {0x4, 0x7, 0x20, 0x7, 0x81, 0x7}, {0xfffeffff, 0x4, 0x9, 0xfffffff8, 0x9, 0x40}, {0x3, 0x5, 0x0, 0x401, 0x524da1da, 0x80000001}, {0x4, 0x2, 0x2, 0x4, 0x5, 0x100}, {0x4, 0x40, 0x6, 0x4, 0x0, 0x4}, {0x7, 0x101, 0x10000, 0x9, 0xffff}, {0x3, 0x2, 0x1, 0x8, 0xfffff000, 0x5}, {0x2, 0x1f, 0xacc, 0xb5b, 0x1, 0x46fe}, {0x8, 0x51364ad7, 0x200000, 0x1ff, 0x5, 0x5}, {0x7ff, 0x1f, 0x20, 0xad5, 0x5, 0x7}, {0x3fb, 0x3, 0x7d9, 0xf7, 0x6, 0xfffffffd}, {0x8, 0x9, 0x24, 0x3, 0x3ff, 0x8}, {0x10001, 0x5, 0x16cf, 0x3, 0x7, 0x4}, {0x6, 0x100, 0x0, 0x1000, 0x20, 0x40}, {0x5, 0x3, 0x946, 0xf4, 0x8001, 0x7}, {0x80000001, 0x80000000, 0x80000001, 0x1ff, 0x3f, 0x6}, {0x0, 0x100, 0x3bc, 0x80000000, 0x0, 0x3}, {0x3, 0x8, 0x6, 0x6, 0x80, 0x800}, {0x6, 0x8, 0x13407e7b, 0x1, 0x7fffffff, 0x80000000}, {0x3cb, 0x80000001, 0x7fff, 0x3ff, 0x1f, 0x7}, {0x81, 0x0, 0x4, 0x1ff, 0x200, 0x9}, {0x2, 0x0, 0x9, 0x3ff, 0x7ff, 0x400}, {0xffff, 0x8001, 0x0, 0x995, 0x8000, 0x7fffffff}, {0x2, 0x2c, 0x1, 0x7, 0x7, 0xfffffffa}, {0x100, 0xb3f, 0x3, 0x3, 0x0, 0xfffffc01}, {0x672, 0x4b07, 0xffffffff, 0x6, 0x80, 0x2}, {0x2, 0x4, 0x48, 0x1, 0x6, 0xc5}, {0x9, 0x1, 0xffff0001, 0x8, 0xffffffff, 0x5}, {0x3ff, 0x7, 0x2, 0xfe, 0x1ff, 0xfff0000}, {0x6f0e, 0x4, 0x8, 0x1, 0x5}, {0x3, 0x3ff, 0x100, 0x5, 0x200, 0x8000}, {0x4, 0xffff8001, 0x4, 0xffffff1e, 0x20, 0x7}, {0x1, 0x3, 0x3, 0x77, 0x3, 0xc11c}, {0x3, 0x1200, 0xffffffcb, 0x0, 0x6}, {0x80, 0x9, 0x0, 0x5, 0x4, 0x9}, {0x7fff, 0x200, 0x4e, 0x1, 0x7fff}, {0x1, 0x5, 0x6, 0x8000, 0x4, 0x7}, {0x5, 0x1, 0x9, 0x6, 0xa33b, 0x8}, {0x368, 0x6, 0xffffffff, 0x6, 0x4, 0x2}, {0xffffffff, 0x7, 0x7, 0x3, 0x3ff, 0x40}, {0xfffffff7, 0x10001, 0x5, 0xffffffff, 0xffff8000, 0x2}, {0x4, 0x80000000, 0x3, 0x0, 0xffffffff, 0x1}, {0xa28a, 0x8, 0x8, 0x3ff, 0xc0000, 0x10000}, {0x0, 0x80000000, 0x1, 0x0, 0x80000000, 0x5}, {0x2, 0xfffffff8, 0x1, 0xff, 0x80000001, 0x5}, {0x0, 0x0, 0x7fffffff, 0x2, 0x6, 0x9}, {0x8, 0x2, 0x3, 0x9, 0x7ab, 0x80000001}, {0x3ff, 0x3, 0x401, 0xffffffff, 0xcd0, 0x101}, {0x401, 0x4, 0x3, 0x200, 0x1, 0x8}, {0xe4, 0x1ff, 0x80000001, 0xfffffd95, 0x4, 0x4}, {0x10001, 0x0, 0x1, 0x7, 0xffff, 0x1f}, {0xff, 0x80, 0x9, 0x9, 0x3, 0x6}, {0x2, 0x7, 0x200, 0x8, 0x4, 0x100}, {0x8001, 0x0, 0x6, 0x4, 0x1, 0x7}, {0xdd, 0xffff, 0x1, 0x8, 0x400, 0x9}, {0x551, 0x7, 0x80000000, 0x5, 0x0, 0x3}], [{0x4}, {0x4, 0x1}, {0x2}, {0x4}, {0x1, 0x1}, {0x2, 0x1}, {0x1}, {0x3}, {0x3}, {0x5}, {0x2, 0x1}, {0x5}, {}, {0x4}, {0x2, 0x1}, {0x3, 0x1}, {0x6, 0x1}, {0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x1}, {0x3}, {0x3, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {}, {0x3, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x4, 0x1}, {0x2}, {0x1}, {0x1, 0x1}, {0x2}, {0x4, 0x1}, {0x3}, {0x4}, {0x1}, {0x4}, {0x3}, {0x5}, {0x1, 0x1}, {0x1, 0x1}, {0x5, 0x1}, {0x6}, {0x1, 0x1}, {0x5}, {0x5}, {0x2, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x3}, {0x0, 0x1}, {0x2, 0x1}, {0x2}, {0x2}, {0x4}, {0x2, 0x1}, {0x3}, {0x4}, {}, {0x5, 0x1}, {0x5}, {0x1}, {0x3, 0x1}, {0x1}, {0x3, 0x1}, {0x1, 0x1}, {}, {0x0, 0x1}, {}, {0x4, 0x1}, {0x5}, {0x7, 0x1}, {0x5, 0x1}, {0x4}, {0x2, 0x1}, {0x3}, {0x4, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {0x7}, {0x4}, {0x5, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x2}, {}, {0x5}, {0x4, 0x1}, {0x5, 0x1}, {0x1}, {0x3, 0x1}, {}, {0x0, 0x1}, {0x4, 0x1}, {0x4}, {0x2}, {0x5, 0x1}, {0x4}, {0x3}, {0x2, 0x1}, {0x0, 0x1}, {0x4, 0x1}, {0x0, 0x1}, {0x0, 0x1}, {0x1}, {0x4}, {0x42f6f398b2c761f3}, {0x5, 0x1}, {0x2, 0x1}, {}, {0x5, 0x1}, {0x5, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {}, {}, {0x4}, {0x5, 0x1}], 0x1}}, @TCA_PEDIT_PARMS_EX={0xe98, 0x4, {{{0x1ff, 0x5, 0x0, 0xfffffff7, 0x8}, 0x1, 0x6, [{0x10001, 0x100, 0x7fffffff, 0x3, 0x2, 0x800}, {0x8, 0x8, 0x4, 0xbeb, 0x0, 0x5}, {0x1000, 0x1ff, 0x66, 0x6, 0xdc, 0xfffffff8}, {0x401, 0x6, 0x6108, 0x3, 0x1, 0x3}, {0x3, 0x42b, 0x4085, 0x3, 0x7ff, 0x73}]}, [{0x9, 0x1, 0x4, 0x80000000, 0xa2, 0x9}, {0x2, 0x80, 0x1, 0xaed, 0x4, 0xa3c}, {0x8, 0x5, 0x7fffffff, 0x7, 0x1, 0x1ff}, {0x2, 0x7, 0x8001, 0x7ff, 0x100}, {0x3ff, 0x4, 0x5, 0x3, 0x770, 0xffffffff}, {0x7, 0x20, 0x1ff, 0x9, 0xffff, 0x7f}, {0x0, 0x4, 0x8, 0x44, 0xfff, 0x1f}, {0x1ff, 0x5, 0x7, 0xa38, 0x40, 0x6}, {0x6fed, 0x0, 0x3, 0x4, 0xbc0, 0x3}, {0x8, 0x5, 0x4, 0x80, 0x5, 0x7fff}, {0x3f, 0x1, 0x8, 0x7, 0x101, 0xf8000000}, {0x7f, 0x5, 0x0, 0x262, 0x0, 0x6}, {0x0, 0x80, 0x7, 0xcee0, 0x41d, 0x39}, {0x401, 0xffffffc0, 0xfffffff8, 0x3f, 0x3d, 0x81}, {0x3, 0xdded, 0x5, 0x7, 0x8, 0x9}, {0x8, 0xa89, 0x9, 0x7, 0x9, 0x7f31}, {0x7, 0x8001, 0x401, 0x5, 0xaa6f, 0x9}, {0x5, 0x5, 0x1, 0x8, 0x9, 0x7e}, {0x5, 0x20f6be3f, 0xffff, 0x8, 0xcfe, 0xac}, {0xfffffffb, 0x2, 0x1, 0x0, 0x400, 0x9}, {0x1, 0x3ff, 0x1, 0x8000, 0x1, 0x3}, {0x4, 0x7ff, 0x401, 0xffff, 0x101, 0x2}, {0x7f, 0x2, 0x1c9, 0xff, 0x9, 0x1f}, {0x6, 0x1f, 0x2, 0x2, 0x5, 0x1}, {0x0, 0x4, 0x8, 0x1, 0x81, 0x1}, {0x6, 0x3, 0x3bf08c8d, 0x7ff, 0x0, 0xff}, {0x7fffffff, 0x40, 0x200, 0x7, 0xaac, 0x1}, {0x7, 0x940, 0x1, 0x10000, 0x2, 0x6b}, {0x80000001, 0x5, 0x8, 0x5, 0x8, 0x2da}, {0x3, 0xe6d, 0x74, 0x1, 0x1, 0x3}, {0x6, 0x1ff, 0x8, 0x3, 0x5, 0x3ff}, {0x1, 0xd6, 0xfff, 0x4, 0x400, 0x2}, {0x7, 0xac, 0x9, 0x80000000, 0x0, 0x1f}, {0x7, 0x1, 0xffffffff, 0x0, 0x5, 0x6}, {0x5, 0x4, 0x8, 0x2f, 0x4, 0x6}, {0x6, 0x6, 0xfffeffff, 0x1, 0xfffffffc, 0x6}, {0x8, 0xffffffff, 0x800, 0x0, 0x1, 0x3ff}, {0x8, 0x50d, 0x81, 0x2, 0x9, 0x5}, {0x401, 0x6, 0x1, 0x0, 0x1, 0x5}, {0x7, 0x3, 0x101, 0x6, 0x4}, {0xdb, 0x8000, 0x1f, 0xfffffffc, 0x3f, 0x4}, {0x401, 0x7, 0x81, 0x1000, 0x53e4, 0xb2d}, {0x7, 0x9, 0xffffff1f, 0x38, 0x6, 0x3}, {0x80000000, 0x1, 0x84, 0x2, 0x4, 0xdaa}, {0x101, 0xf, 0x1b, 0x800, 0x4, 0x5}, {0x5, 0x3, 0x0, 0x8, 0x0, 0x10001}, {0x4, 0xa7c8, 0x1, 0x19d81d35, 0xfff, 0x7}, {0xfff, 0x2, 0x4, 0x9, 0x2e6f, 0x7}, {0xfffffffc, 0x0, 0x8, 0x0, 0x7, 0x3ff}, {0x4, 0x8, 0x0, 0x3a, 0x6, 0x1}, {0xad87, 0x3ff, 0x1f, 0x8000, 0x7}, {0xde, 0x9, 0x2, 0x7, 0x0, 0x7f}, {0x5, 0x8, 0x7f, 0x8, 0xffffff8b, 0x7}, {0x0, 0x8, 0x3, 0x3e, 0xfffffffb, 0x3}, {0x0, 0x100, 0x0, 0x81, 0x25, 0x3}, {0x6, 0x0, 0x4, 0x3, 0x6, 0x57}, {0x8, 0x8, 0x0, 0xffffffff, 0x8, 0x410a}, {0x8, 0x5, 0x9, 0x1, 0x9e}, {0xff, 0x6, 0xfff, 0x7, 0xfffffffb, 0xffff}, {0x9, 0xfffffffb, 0x2c07, 0xf9, 0x1, 0x2fef9e51}, {0x25d, 0x4000000, 0x3, 0x1, 0x7fffffff, 0xffffcc0f}, {0x3, 0x9, 0x0, 0x2, 0x9, 0x110}, {0x44, 0x1, 0xfb1b, 0x7, 0x0, 0x83aa}, {0x2008, 0x7, 0x7f, 0xb0, 0xffffffa7, 0xd31}, {0x6, 0xc53, 0x20, 0x3, 0x104, 0x2}, {0x10000, 0x0, 0x8501, 0x401, 0x80}, {0x4, 0x9, 0x3e, 0x200, 0x0, 0xfe000}, {0xffffffc0, 0x3, 0x20, 0xffffffff, 0x200, 0xce}, {0xfffffff9, 0x6, 0x0, 0x6, 0x1, 0x200}, {0x401, 0x5, 0xffffffff, 0x98, 0x2, 0x974b}, {0x1, 0x3, 0x97b9, 0xba, 0x4, 0x2}, {0x1, 0x1000, 0x10001, 0x4b, 0x14, 0x9}, {0x20, 0xffffffc0, 0xc7, 0x2, 0x8000, 0x401}, {0x7, 0x7fffffff, 0x80, 0x4, 0x9, 0xfff}, {0x101, 0x3ff, 0x1, 0x1, 0x10000, 0x81a}, {0x807, 0x1, 0xffffffe5, 0x9, 0x80000000, 0x3}, {0x3, 0x1000, 0x5, 0x10000, 0x800, 0x9}, {0x9, 0xff, 0x1, 0x101, 0x1f, 0x80000001}, {0xffff, 0x3, 0x9, 0x0, 0x4, 0x10000}, {0x2, 0xffffff6b, 0x2, 0x5, 0x8001, 0x5}, {0x200, 0x5, 0x0, 0x4, 0x1}, {0x1ff, 0x2259, 0x0, 0x3, 0x6, 0x8}, {0x4, 0x4, 0x4f98c046, 0xfffffffd, 0x57ec87a, 0x45}, {0x483, 0xfff, 0x80000000, 0x80, 0x8000, 0x3}, {0x0, 0x0, 0x99de, 0x238a4a94, 0x800, 0x1ff}, {0x2, 0x4, 0x7f, 0x1, 0x8b4, 0x5}, {0x3, 0x4, 0x4, 0x3, 0x400, 0x5}, {0x3f, 0x3f, 0x80, 0x9, 0x8, 0x7}, {0xfffffff7, 0xfb21, 0x1421, 0xef, 0x1, 0x2}, {0x1, 0x8, 0x6, 0x7fffffff, 0x4, 0xf0a}, {0x3, 0x400, 0x7bfb, 0x80000001, 0x2, 0x6}, {0x4b8b, 0x8001, 0x1000, 0x7, 0x0, 0x83de}, {0x9, 0x8001, 0x1ff, 0x100, 0x400, 0x8}, {0x7, 0x1, 0x0, 0x25ac, 0x1000, 0xff}, {0x8, 0x1a, 0xdb3, 0xa1, 0x1ff, 0x6ec}, {0xa, 0x7, 0x2, 0x17c0, 0x6, 0x8}, {0xb6, 0x3ff, 0x200, 0x5, 0x1, 0xfffffffb}, {0x7fffffff, 0x68f4f54e, 0x7, 0x9, 0xffffff25, 0x400}, {0x1000, 0x8001, 0x3, 0x2, 0x58, 0xb0d}, {0x1f, 0x3, 0x0, 0x2, 0xffffff2d, 0x2}, {0x4, 0x3, 0xffffffff, 0x1, 0x0, 0x1}, {0x1, 0x6b4, 0x2, 0xc06, 0x36, 0x7fffffff}, {0x7, 0xa9000000, 0x3, 0xfff, 0x3}, {0xd10, 0x8, 0xddfa, 0x0, 0x5, 0x9}, {0x7, 0x5, 0x1, 0x3, 0x100, 0x1000}, {0x6, 0x8, 0x6ff7, 0x4, 0x5, 0x1}, {0x7, 0x81, 0x0, 0x0, 0x1}, {0x6, 0x7, 0x10000, 0x7, 0x8, 0xfffffff7}, {0x401, 0x1000, 0x8, 0x20, 0x3, 0x6}, {0x6, 0xa7, 0x2, 0x5, 0x8, 0xfffffe00}, {0x2, 0x5, 0x1f, 0xffffffff, 0x81, 0x7}, {0x0, 0x8001, 0x8, 0x2, 0x2, 0x3}, {0x2, 0x6, 0x8000, 0xa000, 0x4, 0xffffff17}, {0x8, 0x1, 0x401, 0x5, 0x2d, 0x7}, {0xe8, 0x80, 0x6, 0x5, 0xff, 0x9}, {0x7, 0xaf, 0x8, 0x7, 0x2}, {0x55d9, 0x8, 0x7, 0x49, 0x2, 0x3f}, {0xfffffff9, 0xa7, 0x0, 0x7fff, 0x1ff8, 0x6}, {0x3, 0x7f, 0xe58, 0x0, 0x80, 0x9}, {0x9, 0x6, 0x6, 0x8, 0x112000, 0xcb4}, {0x6, 0x3, 0xfff, 0x5, 0x9, 0x4}, {0x4, 0x6b36, 0x80000001, 0xfff, 0x40, 0x2}, {0x8, 0x5, 0x7, 0x1000, 0x3, 0xfffff000}, {0x6, 0x10000, 0x40, 0x0, 0x401, 0x7}, {0x3ff, 0x2, 0x7f, 0x1db, 0x6, 0x80}, {0xc8e0, 0x3f, 0x3, 0x10001, 0x5, 0x200}, {0x7, 0x7ff, 0xfff, 0x1, 0x9, 0x5}, {0x85, 0x4, 0x9, 0x1, 0x80000000, 0x3}], [{0x4, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x4}, {0x3, 0x2}, {0x2}, {0x3}, {0x5}, {0x4, 0x1}, {0x4, 0x1}, {0x3}, {0x1, 0x1}, {0x5}, {0x3, 0x1}, {0x5}, {0x3}, {0x1, 0x2}, {0x4}, {0x4, 0x1}, {0x5}, {0x1, 0x1}, {0x1}, {0x3}, {0x5, 0x1}, {0x2, 0x1}, {0x4}, {}, {0x4}, {0x5}, {0x5}, {0x5}, {0x5}, {0x2}, {0x4}, {0x4}, {0x1}, {0x6, 0x1}, {0x5}, {0x4, 0x1}, {0x5, 0x1}, {0x3}, {0x1, 0x1}, {0x3}, {}, {0x7}, {0x2, 0x79bd49deb1e719da}, {0x2, 0x1}, {0x1, 0x1}, {0x7, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x2}, {0x3, 0x1}, {0x7}, {0x1}, {0x4, 0x1}, {0x2, 0x2f898cd86831f5e7}, {0x3}, {0x1}, {0x1}, {}, {0x0, 0x1}, {0x2}, {}, {0x3, 0x1}, {0x0, 0x1}, {0x4, 0x1}, {0x3}, {0x1}, {0x7f04ca8ff537292b, 0x1}, {0x0, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x1}, {0x5}, {0x2}, {0x1, 0x1}, {0x5, 0x1}, {0x4, 0x2}, {0x0, 0x1}, {}, {0x4}, {0x2, 0x1}, {0x4, 0x1}, {0x5}, {0x4, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x4, 0x1}, {0x5, 0x1}, {}, {}, {0x3}, {0x2, 0x1}, {0x2}, {0x5, 0x1}, {}, {0x3, 0x1}, {0x3, 0x1}, {0x5}, {0x2}, {0x1}, {0x4, 0x1}, {0x4}, {0x5}, {0x4}, {0x4, 0x1}, {0x2}, {0x4, 0x1}, {0x3, 0x1}, {0x3}, {0x5}, {0x3}, {0x4}, {0x3, 0x1}, {0x5}, {0x5, 0x1}, {0x0, 0x1}, {0x2, 0x1}, {0x6, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x4}, {0x5, 0x1}]}}, @TCA_PEDIT_KEYS_EX={0x80, 0x5, 0x0, 0x1, [{0x3c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}, {0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}]}, @TCA_PEDIT_KEYS_EX={0xcc, 0x5, 0x0, 0x1, [{0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}]}, {0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}, {0x54, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}]}, @TCA_PEDIT_PARMS={0xe98, 0x2, {{{0x0, 0x8001, 0x8, 0x2, 0x3aa7}, 0x3, 0x6, [{0x6, 0x7, 0x6, 0xb6db, 0xfffffffe, 0x9}, {0x0, 0xc7c3, 0xd1b5, 0x7, 0x1, 0x6}, {0x1, 0x5, 0x2, 0x4, 0x1f07, 0x80000000}, {0x1, 0x5, 0x0, 0xe8, 0xae000000, 0x7fff}, {0x5, 0xfff, 0xfffffffc, 0x8000, 0x5}]}, [{0x3f, 0x1, 0x7, 0x6, 0x5}, {0x2d, 0x400, 0xd0, 0xfd4, 0x9, 0x3}, {0x80000001, 0x5, 0x7, 0x9ab, 0x5, 0x300}, {0xe00, 0xf48, 0xfd5, 0x4, 0x200, 0x3}, {0x6, 0x2, 0x1f, 0x9, 0x8, 0xef}, {0x6, 0xffff0000, 0x8, 0x2, 0xba1, 0x37162f3b}, {0x7, 0x3, 0x7000, 0x1, 0x3, 0x1f}, {0x0, 0x1, 0x7, 0xba, 0x0, 0x5}, {0xe15, 0x3, 0x7, 0x79ed712b, 0x8, 0x9}, {0x200, 0xff, 0x6, 0x5, 0x200, 0x1}, {0x0, 0xff, 0x4, 0x6, 0xc00, 0x6}, {0x276, 0xfffffffd, 0x2, 0xfffffff8, 0x20, 0x1}, {0x1f, 0x7, 0x2, 0x401, 0x3, 0x1ac53d0c}, {0xf66, 0x2, 0x9a3d, 0x6, 0x3, 0x3}, {0xa2, 0x1000, 0x8000, 0x2, 0x9, 0x9}, {0xff, 0x8, 0xcbdc, 0x9, 0x1000, 0x20}, {0x8, 0xffffff80, 0x2, 0x7, 0x7, 0x200}, {0x4, 0x10000, 0x8, 0x1, 0x7ff}, {0x2, 0x8, 0x6, 0x0, 0x4, 0x5}, {0x1d176d93, 0x3, 0x101, 0x8, 0x3, 0x3}, {0x7, 0xfffffffa, 0x1, 0x5, 0x80000000, 0x1000}, {0x81, 0x2, 0x568, 0x9, 0x400080, 0xfff}, {0x8, 0x2, 0xde28, 0x0, 0x1ff, 0x1}, {0x3f, 0x268, 0x58d, 0x0, 0x2, 0x21}, {0x1f, 0x4, 0x9, 0x100, 0x3a3, 0x1}, {0xede, 0x400, 0xfa, 0x5, 0x400, 0x9}, {0x2, 0x7f, 0x8, 0x6, 0x1, 0x4}, {0x8, 0x0, 0x1, 0xffffff3f, 0x37, 0x1}, {0x0, 0x8000, 0xffffffff, 0x8, 0x10001, 0x7}, {0x5, 0x6, 0x6, 0x7, 0x5182, 0x2}, {0x3ff, 0xffff, 0x7, 0x10001, 0x6, 0xffff8001}, {0x1f, 0x8, 0x101, 0x100, 0xfffffff7, 0x4}, {0x3, 0x5, 0x4, 0xf55, 0x10001, 0x2}, {0xcd01, 0x6, 0x100, 0x0, 0xffffffff, 0x2}, {0xa20d, 0x2a34, 0x0, 0xfffffffe, 0x9, 0x1f}, {0x4, 0x6, 0x4c04, 0xfffffff7, 0xff, 0x3}, {0x4, 0x400, 0x10001, 0x4, 0x2, 0xa05}, {0x0, 0x9, 0x3, 0x800, 0x7, 0x1}, {0x5, 0x80000001, 0xfffff001, 0x7, 0x1, 0x6}, {0x3d3, 0x401, 0x5, 0x1ff, 0x93, 0xffff}, {0xde5, 0x1, 0x2, 0x5, 0x80000001}, {0x9, 0x120000, 0x3, 0x5, 0x40, 0x1}, {0xffffffff, 0x6, 0x6, 0x400, 0x7, 0x1}, {0x8b6c, 0x5, 0xfffffffe, 0x5, 0x43f, 0xffffdc61}, {0xdc, 0x8000, 0xb1, 0x80, 0x81, 0x8}, {0x6d8, 0x0, 0x9, 0x9, 0x80000000, 0x800}, {0x7, 0xab, 0x1b, 0x0, 0xe68, 0x9}, {0x8000, 0x36a5, 0x5, 0x3, 0x248, 0x2}, {0x3, 0x81, 0x1, 0x6, 0x4, 0x401}, {0x9, 0xb41, 0x1, 0x200, 0xfffffeff, 0x5}, {0x0, 0x79, 0x24b, 0x39b, 0x3}, {0x3, 0x1, 0x5, 0xff, 0xfffffffd, 0x1000}, {0x10000, 0xfff, 0x0, 0x0, 0x1, 0x2}, {0x9, 0x7f, 0x0, 0x7, 0x4, 0x3}, {0xaeb7, 0x80000001, 0x6, 0x38, 0x3ff, 0x9}, {0x101, 0x4, 0xffff7fff, 0x3, 0x9, 0x9}, {0x1, 0x3f, 0x4, 0x9, 0x0, 0x5f}, {0x1, 0xffffffc1, 0xffffffff, 0x3, 0x3, 0x1000}, {0x2, 0x8, 0x0, 0x12a023c6, 0x4}, {0x4, 0xd6be, 0x2da9, 0x7fff, 0x94ef, 0xfffff801}, {0x9438, 0x0, 0xbc, 0x9, 0x3ff, 0x8}, {0x5b9, 0xbd04, 0x3f, 0x10001, 0x80000000, 0x7}, {0x10001, 0x1, 0x1ff, 0x6, 0x800, 0x800}, {0x101, 0x3ff, 0x5, 0x7fff, 0x3, 0xfffffffd}, {0xfff, 0x7f, 0x6, 0x6, 0x7, 0x401}, {0x2, 0x20, 0x1, 0xffffffff, 0x2, 0x659}, {0xfffffffd, 0xfffffffc, 0x10000, 0x100, 0x5, 0x6dd3}, {0x372, 0x4, 0x3, 0x1, 0x200}, {0x3, 0x7, 0x6, 0x80, 0x2, 0x8001}, {0x8, 0x9, 0x400, 0x7f, 0x5, 0x3}, {0x7fff, 0x7, 0x294, 0x5e9, 0x5, 0x2}, {0x9, 0x9, 0x1, 0x3ff, 0x7fffffff, 0x87}, {0x8, 0x1, 0x8, 0x6, 0xfffffffe, 0x8}, {0x0, 0x3ff, 0x2, 0x8, 0x80000000, 0x8}, {0x8, 0xf1, 0x6, 0x2c, 0x9, 0x5514bd63}, {0x401, 0x7ff, 0x400, 0x9ce, 0x206, 0x4}, {0x2, 0x80000000, 0x5, 0x5, 0x2, 0x7ff}, {0xe509, 0x0, 0xfff, 0x8, 0x200}, {0x9, 0x0, 0x8, 0xeb7, 0x1, 0x3ff}, {0x6, 0xf3, 0x7477, 0xd, 0x6, 0x9}, {0xce0, 0x0, 0x2, 0x7, 0xffffdc8a, 0xc17d}, {0x2f, 0x67, 0x515c56c1, 0x0, 0x12, 0x6}, {0x9, 0x8b5, 0xff8000, 0x5, 0xd24, 0x6}, {0xffffffff, 0x4, 0x759, 0x1, 0x3f, 0x81}, {0x800, 0x0, 0x80, 0x0, 0x5, 0x2}, {0x6, 0x9, 0x1f, 0x1a, 0x9, 0x6}, {0x1, 0x9, 0x4, 0x1f, 0xeee6, 0x6}, {0x78, 0x0, 0x7, 0x9, 0x3, 0x40}, {0x3, 0x8, 0x101, 0x1, 0x2, 0x9}, {0x2, 0x100, 0x3, 0x6, 0x3, 0x80000000}, {0x5, 0x80000000, 0x7, 0x1, 0xff, 0x7fff}, {0x0, 0x3, 0x7fffffff, 0x6, 0xfff, 0x96}, {0x0, 0x2, 0x0, 0x4, 0x4, 0x1}, {0xfffffffc, 0x7, 0x6, 0xd3bb, 0x5, 0x81}, {0x0, 0x9, 0x2dc, 0x6c, 0x6, 0x5}, {0xcd, 0xfff, 0x8, 0xfffffe1e, 0x9, 0x2c1}, {0x3, 0x1ff, 0x3, 0x0, 0x2, 0x7}, {0x38, 0x3, 0x3, 0x1, 0x5, 0x1}, {0x7, 0x7f, 0x7, 0x7ff, 0x0, 0x9}, {0xc55, 0x2, 0x0, 0x1, 0x1, 0x2}, {0x80000000, 0x7, 0xf0, 0x4, 0x8, 0xda2}, {0xfffffffe, 0x6, 0x0, 0x1, 0x3}, {0x2e5800, 0x1, 0x4, 0x3, 0x1, 0x4}, {0xbac, 0x0, 0x2, 0x7d, 0x6, 0x81}, {0x10000, 0x200, 0x7, 0x1, 0x463, 0x1}, {0x10, 0x2c, 0x9f, 0x80, 0xffffd02a, 0x7fffffff}, {0x40, 0x0, 0x0, 0x20, 0x8, 0x13c000}, {0x6, 0x1, 0x1, 0x3, 0x9, 0x3}, {0x4, 0x8, 0xb138, 0x5, 0x3, 0x7}, {0xffff7fff, 0xffffffff, 0x4, 0x6, 0x4, 0x7ff}, {0x8, 0x10, 0x7fffffff, 0x8, 0x1000, 0x7f}, {0x81, 0x1ff, 0x2, 0x400, 0x10001, 0x10001}, {0x2, 0x8, 0x10001, 0x401, 0x2, 0x2}, {0x8000, 0x5, 0x4, 0x1ff, 0x3, 0x7}, {0x0, 0xeb9f, 0x1, 0xf7, 0x400, 0x101}, {0x2, 0x10000, 0x7, 0x2, 0x31, 0x3}, {0x7, 0x6, 0x7fffffff, 0xda0, 0x7, 0x2}, {0x2b8, 0x4, 0x48000, 0x2, 0x800, 0xc6}, {0xa376, 0x4, 0x6, 0x3, 0xfffff001, 0x10000}, {0x1f, 0xb08, 0x2, 0x4, 0x7fffffff, 0xfffffffd}, {0xe, 0x9, 0x2, 0x6, 0xfffffe00}, {0x1f, 0xc48c, 0x6, 0x75, 0x4, 0x4}, {0x9, 0x6, 0x9, 0x4, 0x1, 0x6}, {0x3, 0x200, 0x1, 0x3ff, 0x5fe, 0xffffffde}, {0xcf8, 0x5, 0x0, 0x7fffffff, 0xffffffff, 0x5}, {0x6, 0x9, 0xc2, 0x9a}, {0x81, 0x6, 0x8, 0x9, 0x800, 0x80}, {0x6f, 0x80000001, 0xe2, 0x1, 0x51153816, 0x3}], [{0x4}, {0x4, 0x1}, {0x0, 0x1}, {0x3}, {0x1}, {0x4, 0x1}, {0x2, 0x1}, {}, {0x4}, {0x1}, {0x4, 0x1}, {0x2, 0x1}, {0x2}, {0x3, 0x1}, {0x4}, {0x3, 0x1}, {0x2, 0x1}, {0x3}, {0x3, 0x1}, {0x2}, {0x0, 0x1}, {0x3}, {0x5, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x1}, {0x0, 0x1}, {0x3}, {0x5}, {0x5, 0x1}, {0x1, 0x1}, {0x2}, {0x2, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {0x2}, {0x1, 0x1}, {0x1}, {0x4}, {0x6}, {0x5, 0x1}, {0x1}, {0x0, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x0, 0x1}, {0x0, 0x1}, {0x3}, {0x2}, {0x1, 0x1}, {}, {0x2}, {0x3, 0x1}, {0x0, 0x1}, {0x4}, {0x3}, {0x1}, {0x3, 0x1}, {0x1}, {0x5}, {0x3}, {0x2}, {0x4, 0x1}, {0x0, 0x1}, {}, {0x4}, {0x0, 0x1}, {0x5, 0x1}, {0x4}, {0x2}, {0x5, 0x1}, {0x0, 0x1}, {0x1, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {0x3, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x2}, {0x3}, {0x1, 0x1}, {0x5, 0x1}, {0x3}, {0x4, 0x1}, {}, {0x1, 0x1}, {0x4, 0x1}, {0x3}, {0x0, 0x1}, {0x5, 0x1}, {0x5}, {0x6, 0x1}, {0x2}, {0x5, 0x1}, {0x1, 0x1}, {}, {0x4}, {0x5, 0x1}, {0x1}, {}, {0x0, 0x1}, {0x4}, {0x4}, {0x3, 0x1}, {0x1}, {0x3, 0x1}, {0x0, 0xc81d88bd138eaf89}, {0x2}, {0x2}, {0x5}, {0x5, 0x1}, {0x2}, {0x2, 0x1}, {0x3, 0x1}, {0x4, 0x1}, {}, {}, {0x3, 0x1}, {0x1}, {0x3}, {0x0, 0x1}, {0x5, 0x1}, {0x2, 0x1}]}}]}, {0x9d, 0x6, "da5b604da59f3f6750e85c9075a023203d8a1f0bd177b32e3dcab3b3ecbc822005e98b069bcbfde15c2b2785a9638795dd963c14c97099b9984a0c6abb9376a00e9762f3177cdb2d1e70d0302dece8c81518e753ef437eb5c7ddaeea98c05a8ba7927ef6706344ec481b36a3c03b1e2a6e0af9566fbe5a7e75f3dbece8621af62356a6c5f59dd067d1c04eb6a4f6350c5c8c33f7c77028a4b6"}, {0xc}, {0xc, 0x8, {0x3, 0x3}}}}, @m_mpls={0x8c, 0x15, 0x0, 0x0, {{0x9}, {0x24, 0x2, 0x0, 0x1, [@TCA_MPLS_TTL={0x5, 0x7, 0xab}, @TCA_MPLS_BOS={0x5}, @TCA_MPLS_TTL={0x5, 0x7, 0x6}, @TCA_MPLS_PROTO={0x6, 0x4, 0x86dd}]}, {0x3e, 0x6, "84565cee71a295f51c1e39136126565a26ef7fc25035c01a1378cb836517d1398e9413bd92f609ac62c7810fc0e95d2c031e43139fd653f1673c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x4, 0x6}}}}]}]}, 0x6120}, 0x1, 0x0, 0x0, 0x40}, 0x20000000) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000006400)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) ioctl$CAPI_GET_PROFILE(r1, 0xc0404309, &(0x7f0000006440)=0x7fff) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x14, &(0x7f0000006480)=@assoc_value={0x0}, &(0x7f00000064c0)=0x8) sendto(r0, &(0x7f0000006500)="5cae40ea5d7c37f50eddd1f8c858b3a0d0cbb04069da964cd37815ddcf57cf5e853038c44d571cc6f272ce1e670229b4dd0db7605b9308", 0x37, 0x0, &(0x7f0000006540)=@pppoe={0x18, 0x0, {0x2, @local, 'ipvlan0\x00'}}, 0x80) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f00000065c0), 0x2c0000, 0x0) sendmsg$nl_route(r3, &(0x7f00000066c0)={&(0x7f0000006600)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f0000006680)={&(0x7f0000006640)=@ipmr_newroute={0x38, 0x18, 0x20, 0x70bd28, 0x25dfdbfb, {0x80, 0x0, 0x80, 0xda, 0xff, 0x1, 0xc8, 0x4, 0x1700}, [@RTA_MULTIPATH={0xc, 0x9, {0x101, 0x3, 0xbc}}, @RTA_OIF={0x8}, @RTA_GATEWAY={0x8, 0x5, @rand_addr=0x64010101}]}, 0x38}, 0x1, 0x0, 0x0, 0x4000080}, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r1, 0x8933, &(0x7f0000006700)={'wg0\x00', 0x0}) setsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000006740)=@assoc_value={r2, 0x8}, 0x8) ioctl$F2FS_IOC_GET_PIN_FILE(r0, 0x8004f50e, &(0x7f0000006780)) sendmsg$nl_route_sched(r1, &(0x7f00000068c0)={&(0x7f00000067c0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000006880)={&(0x7f0000006800)=@newqdisc={0x6c, 0x24, 0x10, 0x70bd26, 0x25dfdbfd, {0x0, 0x0, 0x0, r4, {0x0, 0xd}, {0xb}, {0xfff2, 0x9}}, [@qdisc_kind_options=@q_red={{0x8}, {0x38, 0x2, [@TCA_RED_MAX_P={0x8, 0x3, 0x3}, @TCA_RED_PARMS={0x14, 0x1, {0x1, 0x80000001, 0x7, 0x1e, 0x4, 0xf, 0x1}}, @TCA_RED_FLAGS={0xc, 0x4, {0x0, 0x8}}, @TCA_RED_FLAGS={0xc, 0x4, {0x0, 0xb}}]}}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x80000000}]}, 0x6c}, 0x1, 0x0, 0x0, 0x4000900}, 0x40000) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x1f, &(0x7f0000006900)={r2, @in6={{0xa, 0x4e21, 0x7fe0, @mcast1, 0xb6c}}, 0x1, 0x7be5}, 0x90) connect(r1, &(0x7f00000069c0)=@ieee802154={0x24, @none={0x0, 0xffff}}, 0x80) r5 = syz_open_procfs(0x0, &(0x7f0000006a40)='net/packet\x00') sendmsg$SMC_PNETID_GET(r5, &(0x7f0000006b80)={&(0x7f0000006a80)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000006b40)={&(0x7f0000006ac0)={0x58, 0x0, 0x100, 0x70bd2a, 0x25dfdbfb, {}, [@SMC_PNETID_ETHNAME={0x14, 0x2, 'nicvf0\x00'}, @SMC_PNETID_IBNAME={0x9, 0x3, 'syz2\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz0\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}]}, 0x58}, 0x1, 0x0, 0x0, 0x4000}, 0x4004000) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r5, 0xc018937d, &(0x7f0000006bc0)={{0x1, 0x1, 0x18, r3, {0x3}}, './file0\x00'}) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r6, 0x84, 0x9, &(0x7f0000006c00)={r2, @in={{0x2, 0x4e22, @multicast2}}, 0x40, 0x1, 0x80000001, 0x5, 0x837529ce1b0d02d8, 0x2, 0x8}, 0x9c) setxattr$trusted_overlay_nlink(&(0x7f0000006cc0)='./file0\x00', &(0x7f0000006d00), &(0x7f0000006d40)={'U-', 0x1}, 0x16, 0x3) 00:13:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x1fe, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000000dec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 0: r0 = accept(0xffffffffffffffff, &(0x7f0000000000)=@in={0x2, 0x0, @dev}, &(0x7f0000000080)=0x80) ioctl$AUTOFS_IOC_EXPIRE(r0, 0x810c9365, &(0x7f00000000c0)={{0x8000, 0x22e581e9}, 0x100, './file0\x00'}) (async) sendmsg$nl_route_sched(r0, &(0x7f00000063c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000006380)={&(0x7f0000000240)=@newtaction={0x6120, 0x30, 0x800, 0x70bd27, 0x25dfdbfd, {}, [{0x238, 0x1, [@m_gact={0x8c, 0x5, 0x0, 0x0, {{0x9}, {0x1c, 0x2, 0x0, 0x1, [@TCA_GACT_PROB={0xc, 0x3, {0x1, 0x1126, 0x20000000}}, @TCA_GACT_PROB={0xc, 0x3, {0x97428335ae4399cc, 0x585, 0x419be48debe8099a}}]}, {0x47, 0x6, "929b0413d8c56a2c01336cce6378cbbbaa58932a4c618bf55529ec20b9c985c2d2a84900465085f42bf21cc9796b4918804d7e1ad8c12f0a45a13ce297666fc4362a49"}, {0xc}, {0xc, 0x8, {0x3, 0x2}}}}, @m_ipt={0x58, 0x9, 0x0, 0x0, {{0x8}, {0x30, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'filter\x00'}]}, {0x4}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_mpls={0x84, 0xb, 0x0, 0x0, {{0x9}, {0x28, 0x2, 0x0, 0x1, [@TCA_MPLS_PARMS={0x1c, 0x2, {{0x5, 0x6, 0x5, 0xfffffffe, 0x1}, 0x3}}, @TCA_MPLS_LABEL={0x8, 0x5, 0xa728}]}, {0x34, 0x6, "11e201f10a3c15e57b778c91f2f640f4f3a524fb7cc49f3e053bcbd98000e421bb8c1a12ba9487d00acf8292a1db5b9f"}, {0xc}, {0xc, 0x8, {0x1, 0x1}}}}, @m_ipt={0xcc, 0x9, 0x0, 0x0, {{0x8}, {0x24, 0x2, 0x0, 0x1, [@TCA_IPT_INDEX={0x8, 0x3, 0x6}, @TCA_IPT_HOOK={0x8}, @TCA_IPT_INDEX={0x8, 0x3, 0x9}, @TCA_IPT_HOOK={0x8}]}, {0x84, 0x6, "b06691ace8cb4da1538239d3c27f1d280cdb47e20979c3229e922834908d9bef83ad922196714f3de943054c799e870ba0772ec922199936ac9ba3915a2b1667712215177503515e2cd3b71ab582dab443311b762a1714eef12d4efb3974ad0bbf2859ae07775c77527e6d73687e4e2ffdabde792d16f365f88b35f886f8c0f0"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x1, 0x1}}}}]}, {0x2f8c, 0x1, [@m_mpls={0x88, 0x1a, 0x0, 0x0, {{0x9}, {0x58, 0x2, 0x0, 0x1, [@TCA_MPLS_TTL={0x5}, @TCA_MPLS_TC={0x5, 0x6, 0x2}, @TCA_MPLS_PROTO={0x6, 0x4, 0x3}, @TCA_MPLS_BOS={0x5}, @TCA_MPLS_BOS={0x5, 0x8, 0x1}, @TCA_MPLS_PROTO={0x6, 0x4, 0xa01}, @TCA_MPLS_PARMS={0x1c, 0x2, {{0x0, 0x80000000, 0x1, 0x0, 0x401}, 0x4}}, @TCA_MPLS_LABEL={0x8, 0x5, 0x75075}]}, {0x8, 0x6, "68cbd24b"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x2}}}}, @m_sample={0xfc, 0x17, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [@TCA_SAMPLE_RATE={0x8, 0x3, 0x6}, @TCA_SAMPLE_RATE={0x8, 0x3, 0x4}, @TCA_SAMPLE_RATE={0x8, 0x3, 0xfffffffe}, @TCA_SAMPLE_TRUNC_SIZE={0x8, 0x4, 0x1}, @TCA_SAMPLE_PARMS={0x18, 0x2, {0x80000001, 0x2, 0x4, 0x3f, 0x1}}, @TCA_SAMPLE_TRUNC_SIZE={0x8, 0x4, 0xfffffff7}, @TCA_SAMPLE_PARMS={0x18, 0x2, {0x200, 0x2, 0x5, 0x2}}, @TCA_SAMPLE_PSAMPLE_GROUP={0x8}]}, {0x6f, 0x6, "68c7dfe273c90198820c39a19bd9e086cfd4fcb9ed7795bb766bed7ee48dd95dd09a51c5e2a15c23729feac41f350767650a37051fe1d42e89f16d05e28dabfb73d0933e7c512563aaf2e205ec1b3851dbb090f5f6be2ed5b632ccb507f3a1a4d7f7e554862ec8219fc4a2"}, {0xc}, {0xc, 0x8, {0x0, 0x1}}}}, @m_skbmod={0xd0, 0x0, 0x0, 0x0, {{0xb}, {0x50, 0x2, 0x0, 0x1, [@TCA_SKBMOD_PARMS={0x24, 0x2, {{0x6, 0x40, 0x20000000, 0x3, 0x5}, 0x4}}, @TCA_SKBMOD_DMAC={0xa, 0x3, @remote}, @TCA_SKBMOD_ETYPE={0x6, 0x5, 0x8}, @TCA_SKBMOD_ETYPE={0x6, 0x5, 0x7f}, @TCA_SKBMOD_DMAC={0xa, 0x3, @multicast}]}, {0x56, 0x6, "392c4fc0465d214114a1459b0bc50e921f8f59808e0ecdc504aab1f1de45118281b411284bbd1aa02fceeb634fb5f086d48ccb5f4e7bb810cdb5da987fbb45dafefffa1e7acc2af30b53b769053651530f25"}, {0xc}, {0xc, 0x8, {0x2}}}}, @m_pedit={0x2d34, 0xd, 0x0, 0x0, {{0xa}, {0x2cc8, 0x2, 0x0, 0x1, [@TCA_PEDIT_PARMS_EX={0xe80, 0x4, {{{0x6, 0xbd8d, 0x1, 0x1, 0x4}, 0x7, 0x40, [{0x6, 0x73c, 0xfffffffd, 0x6, 0x7, 0x1ff}, {0x81, 0x5, 0x0, 0xfb9718ae, 0x0, 0x4}, {0xff, 0x5, 0xf0, 0xffffffff, 0x0, 0x8}, {0xffffff89, 0x40, 0x2, 0xb8aa, 0x6, 0x4}]}, [{0x8000, 0x10000, 0x80000000, 0x0, 0x80000000}, {0x1, 0x8, 0x7, 0x5, 0x1f, 0xfb3}, {0x1f, 0x4, 0x80000000, 0x1ff, 0x4, 0x1}, {0x401, 0x5, 0xfffffff8, 0x0, 0x2, 0xaca1}, {0x8, 0x5, 0x20, 0xd7ff, 0x6, 0x8}, {0x3e4, 0x5, 0x80000001, 0x4, 0x81, 0x9}, {0x40, 0x9, 0x1, 0x5, 0x1, 0x9}, {0x40, 0x8, 0x0, 0x0, 0x9, 0x968b}, {0x57a, 0x80000000, 0x3f, 0x7f, 0x86b, 0x7fffffff}, {0xfffffc01, 0x2, 0x0, 0x4, 0x57, 0x401}, {0xfff, 0x8, 0x318, 0xfff, 0x8000, 0x9}, {0x1000, 0x9, 0x1, 0x9, 0xffffffff, 0x5e41}, {0x3, 0x4, 0x0, 0x8, 0x5, 0x7ff}, {0x77, 0x4, 0x3ff, 0x9, 0x40, 0x1}, {0x7, 0xdbe, 0x45d, 0x28, 0x8, 0x4}, {0x5, 0xab0, 0x80, 0x401, 0x3f, 0x9}, {0x17, 0x0, 0x80, 0x4, 0xe5, 0x7}, {0x11, 0x2, 0x8000, 0x7fff, 0x3fc62f38, 0x137}, {0x1, 0x400, 0x80000000, 0x6, 0x80000001, 0xffffffe1}, {0x6, 0x10001, 0x1000, 0x8, 0x3, 0x9}, {0x3, 0x0, 0x400, 0x5, 0x0, 0xba37}, {0x1, 0x2, 0x6, 0x100, 0x40, 0x531e}, {0x50000, 0x1, 0x800, 0x5, 0x52, 0x8000}, {0x2, 0x7a, 0x0, 0x6, 0x3, 0x128625f9}, {0x2, 0x1f, 0x100, 0x8ab0, 0x6, 0x6f6}, {0x80, 0x1f, 0x8, 0x7f, 0x8, 0x4}, {0x9, 0x100, 0xdbbf, 0x754, 0x2, 0x40}, {0x4, 0x8, 0x3, 0x11, 0x4, 0x6}, {0x0, 0x9, 0x6, 0x2, 0x1, 0x5}, {0x3, 0x10001, 0x7, 0x1, 0x9, 0x4}, {0x6f, 0x5, 0x800, 0x2, 0x800, 0xcd9d}, {0x101, 0x3, 0x100, 0x2, 0x7, 0x8}, {0x4, 0x9, 0x6, 0x5, 0xfffff6e6, 0xab}, {0x200, 0x3, 0x101, 0xffff, 0x0, 0x1ff}, {0x2, 0x1, 0x3, 0x0, 0x6, 0x200}, {0x3, 0x0, 0x6, 0x6, 0x1, 0x4eb}, {0x1, 0x9b, 0x3, 0x55e, 0x0, 0x80}, {0x0, 0x400, 0x8, 0xc4, 0x222, 0x2}, {0x33, 0x6, 0x15d, 0x0, 0x3, 0x4}, {0x1, 0xbef7, 0x6, 0xf, 0x7, 0x4}, {0x5, 0x1965c0, 0x1, 0x5, 0x4, 0x101}, {0x8, 0x1, 0x1, 0x0, 0x80000000, 0x3}, {0x7fffffff, 0x0, 0x3, 0xc7, 0x16, 0x4}, {0x3, 0x4, 0x1, 0x3, 0x0, 0xa3}, {0x1, 0x7f, 0x5, 0x81, 0x6, 0xa}, {0xd92, 0x8000, 0x3, 0x7f, 0x5, 0x5}, {0x6, 0x2, 0x3, 0x2, 0x1, 0x80000000}, {0x3, 0x2, 0x2, 0x9, 0xec8, 0xb1}, {0x7, 0x6, 0x1f, 0x5, 0x81, 0x7ff}, {0xbd77, 0xffff, 0x8, 0x20, 0x8, 0x5}, {0x4, 0x9, 0xfffff000, 0x0, 0x1, 0x9}, {0xffffff7f, 0x80, 0x20, 0x9, 0x200, 0x9}, {0x1d7, 0x4, 0x4, 0xec76, 0x8, 0x6}, {0x9a00000, 0x9, 0xcaf, 0x6, 0x96, 0x3}, {0x8, 0x6c8a, 0x3f, 0x8, 0xffffffff, 0x6}, {0x1, 0x8, 0x14, 0x11d, 0x0, 0x40}, {0x0, 0x74b, 0x7fff, 0x3ff, 0x7, 0x71f}, {0x0, 0x3, 0x6, 0xffff, 0x6, 0x3800000}, {0x9, 0x9, 0x5, 0x1, 0x7, 0x8}, {0x929, 0x3, 0x1, 0x1, 0x2, 0x4}, {0x8001, 0x9, 0xfeb, 0x8000, 0x9834, 0xfffffff8}, {0x0, 0x8, 0x67, 0x1, 0x0, 0x1f}, {0x3f, 0x6, 0x80, 0x2c, 0x7, 0xc47}, {0x1, 0x8, 0x8, 0x5a8, 0x1000, 0x7}, {0xfffffff4, 0x4aa, 0x4, 0x1f, 0x1, 0x6}, {0xfffffffb, 0x4, 0x10a49e37, 0xfffffd2f, 0xc1d}, {0x7, 0x1, 0x7f, 0x9, 0x3f, 0x401}, {0x400, 0x4, 0xfffffe00, 0x0, 0x389}, {0x1, 0x81, 0x0, 0x5920, 0x7fff, 0x4}, {0x0, 0x0, 0x7, 0x23cd, 0x8, 0x372}, {0x0, 0xffffff01, 0x62, 0x0, 0x6, 0x3}, {0xffff, 0x7, 0x7fff, 0x1c, 0x339, 0xffff497d}, {0x4, 0x9, 0xc000, 0x6, 0x3f, 0xffff}, {0x1ff, 0x0, 0x3643, 0x3, 0x5, 0x2d}, {0x81, 0x20, 0x0, 0x9, 0x4, 0x80}, {0x6, 0xfffffffb, 0x3c53, 0x6, 0x6, 0x9}, {0x6, 0x7, 0x9, 0x400, 0xfffffffb, 0x10001}, {0xf0d, 0x40, 0x4, 0x2, 0x1ff, 0x800}, {0x2e, 0x100, 0x4, 0x3, 0x7ff, 0x10001}, {0x4, 0x0, 0x8000, 0x93, 0x66b, 0x1}, {0x1ff, 0x5, 0x1, 0x7a128ae9, 0x3, 0x36f4}, {0x5be, 0xc99, 0x3e, 0x7, 0x0, 0xb539}, {0x101, 0xfff, 0x200, 0x4, 0x0, 0xfff}, {0x7fffffff, 0x20, 0x200, 0x7f, 0x2ec9, 0x2}, {0x7f, 0x800, 0x5, 0x6, 0x80000000}, {0x8, 0x1, 0x9, 0x4, 0x6, 0x4}, {0x3f, 0x101ddc3, 0x43, 0x8, 0x1, 0x6}, {0x6, 0x4, 0x0, 0x4e, 0x3, 0x7e11}, {0x1, 0x2f00000, 0x4, 0x9c7e, 0x88, 0x6}, {0x84, 0x9, 0x2, 0x3, 0x9, 0xc3}, {0x8bed, 0x200000, 0x2, 0x6, 0xf5, 0x5}, {0x7f, 0x7, 0x9, 0x7f, 0x3, 0x7}, {0x400, 0xffff, 0x7, 0x7, 0x13e, 0x2}, {0x6, 0x4, 0x400, 0x0, 0x10000, 0x1d}, {0x9, 0xb19, 0x712, 0xfffffffc, 0xce1, 0x1}, {0x2ee2, 0x2, 0x8, 0x0, 0x28ed, 0x5f3}, {0x1, 0x5, 0x8001, 0x1, 0x2, 0x8}, {0x9, 0xffffffff, 0x3, 0x2, 0x4}, {0x40400000, 0x5, 0x0, 0x401, 0x1f, 0x3d50e193}, {0x20, 0x80000000, 0x80000001, 0x8, 0x7f, 0xfffffff7}, {0x8, 0x2, 0x97, 0xffffffff, 0x20, 0x5}, {0x80, 0x1, 0x3, 0xe80a, 0x6}, {0x76, 0x9, 0x6, 0xffff0000, 0x8001, 0x3}, {0x2, 0x5, 0x5, 0x7, 0x1, 0x40000000}, {0x5, 0x1, 0x7, 0x6, 0x7, 0x4}, {0x4, 0x20, 0x80000001, 0x2, 0xa3, 0x6}, {0x6, 0xff, 0x2, 0x80000000, 0x6}, {0x355, 0xa2ad, 0x1, 0x1, 0x400, 0xbe35}, {0x9, 0x94f, 0x0, 0x1, 0x4, 0x8}, {0x4, 0x401, 0x5, 0x2, 0x5}, {0x0, 0x80, 0x9, 0xfffffffa, 0x1}, {0x9, 0x1000, 0x7, 0xdc, 0xfffffff9, 0x1}, {0x5, 0x2, 0x0, 0x1, 0x6, 0x7}, {0x1, 0x1, 0x10001, 0x0, 0x0, 0xb2b}, {0x25e, 0xfffff3e5, 0x1, 0x9, 0x3ff, 0x81}, {0x80000001, 0xfffffffe, 0xa9d7, 0x9, 0x7b6, 0x80000000}, {0x5, 0x7ff, 0xce, 0x30000000, 0x5673, 0x1}, {0x80000000, 0x5, 0x51c6, 0x1, 0x7fffffff, 0x384}, {0x2, 0x8, 0x200, 0x7ff, 0x3f, 0x4}, {0xb6, 0x1f, 0xffff, 0x0, 0x0, 0x80000001}, {0x8, 0x8, 0x401, 0x8, 0x5, 0x10001}, {0x6, 0x400, 0x5, 0x2, 0xffff, 0x43a4}, {0x7, 0xe9b8, 0xca2, 0x1, 0x40, 0x610}, {0xb2, 0x7, 0x2, 0x1, 0x9, 0x3}, {0x7d, 0x9, 0xffffff7f, 0x62b, 0x3, 0xff}, {0x4, 0x10001, 0xed, 0x3f, 0x9, 0x3}, {0x8, 0x3f, 0x4, 0x2, 0x7ff, 0x57b5}, {0x1, 0x8000, 0x5, 0x100, 0x80, 0xffff}], [{0x2}, {0x0, 0x1}, {0x7, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x4}, {0x5, 0x1}, {0x90bd66f9c522c868, 0x1}, {}, {0x3}, {0x4}, {0x1}, {0x0, 0x1}, {0x5}, {0x4}, {0x2, 0x10d81a55dc0ec569}, {0x0, 0x1}, {0x1}, {0x3, 0x1}, {0x4}, {0x2, 0x1}, {0x3}, {0x3}, {0x2}, {0x5}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {}, {0x4, 0x1}, {}, {0x4, 0x1}, {0x1}, {}, {0x2}, {0x1, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {}, {0x0, 0x1}, {0x5}, {}, {0x4, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x4, 0x3}, {}, {0x5, 0x1}, {0x3}, {0x1, 0x1}, {0x3}, {0x2}, {0x1}, {}, {0x6, 0x1}, {0x721679c6fcc74d28}, {}, {0x1, 0x1}, {0x3}, {0x4, 0x1}, {0x4}, {0x2, 0x1}, {0x5}, {0x3}, {}, {0x1}, {0x1}, {0x4}, {}, {0x4, 0x1}, {0x3}, {0xc38945d01884aa03}, {0x1, 0xc099fae0cf0a69b7}, {0x2, 0x1}, {0x5, 0x1}, {0x2}, {0x4, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {0x5, 0x1}, {0x4}, {0x5, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {0x0, 0x1}, {0x3}, {0x3, 0x1}, {0x4, 0x1}, {0x3}, {0x2}, {0x2, 0x1}, {0x0, 0x1}, {0xba942459c3716eb0, 0x1}, {0x5}, {0x2, 0x1}, {0x1}, {0x4}, {0x1}, {0x5, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x1}, {}, {0x3, 0x1}, {0x3}, {0x4}, {0x5}, {}, {0x0, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {0x3}, {0x4}, {0x3, 0x1}, {0x3, 0x1}], 0x1}}, @TCA_PEDIT_PARMS={0xe38, 0x2, {{{0xffffffff, 0x3, 0x0, 0x64e1, 0x3f}, 0x0, 0xf9, [{0xff, 0x4, 0x4, 0x1870aac0, 0xd9ab, 0x8}]}, [{0x0, 0x61, 0x1, 0x80000000, 0x2, 0x101}, {0x1, 0x3, 0x1, 0x8, 0x1000, 0x4}, {0x8, 0x1, 0x8001, 0xffff7fff, 0xfff, 0xca8}, {0x4, 0x4, 0x1, 0x3, 0x10000, 0x2}, {0x3, 0x3, 0x9221, 0x6, 0x1f, 0x7}, {0x4, 0x0, 0x1, 0x17, 0x9c, 0xfffffff8}, {0x7, 0xd0b80000, 0x1, 0x7, 0x5e, 0x10e}, {0x99, 0x0, 0x3, 0x6, 0x7, 0x200}, {0x1, 0x2, 0x8, 0x0, 0x3}, {0x1, 0x2, 0x0, 0xffffff3a, 0x1f, 0x2}, {0x2, 0x3ff, 0x4f35, 0x618, 0x81, 0x9}, {0x3f, 0x8000, 0x80000000, 0x0, 0x1, 0x2}, {0x7, 0x1000, 0x4e, 0x54, 0x4, 0x6}, {0x9, 0x7, 0x3, 0x7fff, 0x10000, 0x98}, {0x4, 0x10001, 0x8000, 0xbf, 0x9}, {0xa7c, 0x7, 0x4, 0x6, 0xfffffffa, 0x6}, {0x4, 0x2, 0x7, 0x4, 0x104485c1, 0x7cd4}, {0x3, 0x6, 0x2, 0x8, 0xffffff7f, 0x36}, {0x9, 0x1, 0x0, 0x8, 0x400, 0x8000}, {0x6, 0x8, 0x6, 0x8, 0xc492, 0xa6f0}, {0x5, 0xf37, 0x4, 0x37fe, 0x2, 0x10000}, {0x56, 0x4, 0x7, 0x80000000, 0x62975411, 0x65ae2456}, {0x2, 0x4800000, 0x2, 0x6, 0x9, 0xffffff81}, {0x1, 0x1, 0xfffff800, 0x7217, 0x4, 0x72}, {0x0, 0x81, 0x9, 0x7, 0xffffffff, 0x7}, {0x9, 0x800, 0x8001, 0x5, 0xe3f8, 0xfff}, {0xfffffff7, 0x1, 0x400, 0xb3cb, 0x2, 0x3}, {0xff, 0x100, 0x2, 0x5, 0x1}, {0x3ff, 0x1000, 0x400, 0x337, 0x4, 0x5}, {0x2, 0x7ff, 0x6, 0x400, 0x7a, 0x7}, {0xffffffff, 0x5, 0x6, 0xff, 0x8000, 0x9}, {0x7f, 0x7, 0x6, 0x5, 0x6, 0x100}, {0x7, 0x9, 0xffffffc1, 0x3, 0x6, 0x8}, {0x8, 0x7, 0x80000001, 0x5, 0x5, 0x8}, {0x10000, 0x401, 0x5, 0x218c9534, 0x0, 0x1}, {0x9, 0x32, 0x5c000, 0x4, 0xa37, 0x3}, {0x80000000, 0x5, 0x7, 0x0, 0x81, 0x10000}, {0x7fff, 0x80, 0x3b3d, 0x400, 0x7, 0x5}, {0x9, 0x6, 0x8000, 0x3, 0x99fe, 0x2}, {0x5, 0x1, 0x9, 0x10001, 0x3f, 0x40}, {0x20, 0x8, 0x8, 0x7, 0x1, 0x100}, {0x0, 0x4, 0x200, 0x40, 0x7, 0x7f}, {0x0, 0x2, 0x6, 0x64, 0x10000, 0x3}, {0x7, 0x5, 0x4, 0x8, 0x3}, {0x0, 0x40, 0x9, 0xfffffff9, 0xe00000, 0xffffffff}, {0x100, 0x1, 0x2, 0x81, 0x6, 0x4}, {0x3, 0x80000000, 0xf8b9, 0x3, 0x70, 0x1ff}, {0x80000001, 0x7f, 0x9, 0xfffffff9, 0xc44, 0x5}, {0x4260, 0x2, 0xfffffffa, 0x2, 0x9, 0x7f}, {0x6, 0x3f, 0x5, 0x29e9, 0x1, 0x3}, {0xdc, 0x40, 0x4, 0x81, 0x1, 0x1000}, {0x10001, 0x0, 0x6, 0x1, 0x6, 0x8}, {0x9, 0x0, 0xffffff01, 0x2, 0x6, 0x7}, {0x590, 0x7, 0x2, 0xe739, 0x2, 0x736}, {0x10000, 0x3, 0xff, 0xaed5, 0x40, 0x5}, {0xfffff800, 0x100, 0x0, 0x1, 0x9, 0xcfde}, {0x9, 0x7fffffff, 0x3, 0x48a78171, 0x10001, 0x88cd}, {0x0, 0x4, 0xf4db, 0x4, 0x101, 0x299dc7ff}, {0x2000000, 0xff, 0x5, 0x3, 0x6, 0x84}, {0x28, 0x1f, 0x0, 0x80000000, 0x43, 0x1}, {0xa99, 0x4, 0x6, 0x101, 0x766, 0xbd}, {0x400, 0xffff2aa5, 0x5, 0x9, 0x0, 0x7}, {0x3, 0xfac, 0x7e90, 0x1, 0x6, 0x8000}, {0x6, 0xe5, 0x9, 0x8, 0x80000000, 0xffffffff}, {0xffffff48, 0x117, 0x4, 0x8, 0x4, 0x1ff}, {0xfffffffe, 0x6, 0x8000, 0x63, 0x8001, 0x200}, {0xffff8001, 0x4ff, 0x9, 0x9, 0x5, 0x1fc00}, {0x3f, 0x6, 0x5, 0x8001, 0x800, 0x4}, {0x7, 0x1, 0xfffffffe, 0x2, 0x5, 0x9}, {0x5, 0x0, 0xf2, 0xba0, 0x0, 0x7}, {0x8000, 0x8, 0x3, 0x1, 0x8, 0x10001}, {0x1, 0x6, 0x4, 0xffff, 0x1ff, 0x1}, {0xef, 0x7fff, 0x67a, 0x8, 0x3, 0x9}, {0x2, 0x233, 0x4, 0x0, 0x9, 0x3}, {0xfffffff9, 0x52, 0x463, 0x3, 0x1, 0x10001}, {0x648, 0x5, 0x657f, 0x0, 0x1}, {0x5, 0x7ff, 0x3, 0x9, 0xee, 0x9}, {0x8001, 0x60, 0xfffffffc, 0x1, 0x3, 0x15}, {0x808, 0x9, 0x6, 0x5, 0x9, 0x10000}, {0xc1f5238, 0x7ff, 0x3, 0x7fffffff, 0xfffffffc, 0x6}, {0x2, 0x401, 0xfffffffa, 0x33f6, 0x5, 0x9}, {0x2, 0xb67, 0x2, 0x1, 0x4, 0x7fff}, {0x1000, 0x3, 0x9, 0x7, 0xffffff80, 0x5}, {0x8, 0x3, 0x3ff, 0x3, 0x8, 0x1}, {0x80000001, 0x3ff, 0x5, 0x0, 0xffffffff, 0x3}, {0x6, 0x8, 0x10000, 0x7, 0x3, 0x70}, {0x3, 0x4, 0x2, 0xffffffff, 0x3d3, 0x6}, {0x1, 0x4, 0x8, 0x4, 0xc13, 0x53}, {0x1, 0x0, 0x2, 0x1, 0x4, 0x4}, {0x5, 0x7ff, 0xdc, 0x8, 0x80, 0x98}, {0x100, 0x1, 0x200, 0xa7, 0x4, 0x3ff}, {0x5, 0x1ca, 0x0, 0x8000, 0xae71, 0x3f}, {0x6, 0xff, 0x9, 0x8, 0x8001, 0x8}, {0xfffe0000, 0x5, 0x4, 0x3, 0x90, 0x6}, {0xe2, 0x620, 0x80000001, 0x0, 0x5, 0x80000000}, {0x7, 0x80, 0x1, 0x2, 0x0, 0xee}, {0xffffffff, 0x5, 0x5, 0x9, 0x80000001, 0x80}, {0x3, 0x14000000, 0x9, 0x8, 0xee, 0x5}, {0x1850f0ef, 0x0, 0xfe, 0x7, 0x3ffc0, 0x2}, {0x0, 0x7, 0x8, 0x80000001, 0x40, 0x1}, {0x80, 0x700000, 0x7, 0x2, 0x2, 0xfa}, {0x7, 0x0, 0x8, 0x6, 0x6}, {0x401, 0xff, 0x400, 0x6f27, 0xffffffff, 0xabec}, {0x200, 0xef70, 0x8000, 0x2, 0x0, 0x8}, {0x1, 0x4, 0xfffffff8, 0x5, 0x8, 0x6}, {0x4, 0xfffffffc, 0x8, 0x7, 0xfff}, {0x10000, 0x40, 0x3, 0x2, 0x20, 0x8}, {0x1, 0x8, 0x9, 0x172c, 0x1, 0x80}, {0x7, 0x6c, 0x5, 0x8001, 0x7, 0x8001}, {0xffffffff, 0xdb3, 0x0, 0x243, 0x7, 0x4}, {0x101, 0x0, 0xfffffffc, 0x4, 0x0, 0x80}, {0x5, 0x4, 0xffffffff, 0x7fffffff, 0x9, 0x7fff}, {0x32, 0xe18, 0x0, 0x1, 0x20, 0x3ff}, {0x20000, 0x7, 0x7, 0x7, 0x4, 0x4}, {0x3, 0x1f, 0x0, 0x1, 0x4, 0x80000000}, {0x8000, 0x2, 0xe1, 0x9, 0x20, 0x2}, {0x3, 0x2, 0x900, 0x5, 0x1, 0x3}, {0x7ff, 0x3, 0x4, 0x6, 0xffffffff, 0x7}, {0x5aaddf67, 0xca12575, 0x1, 0x1, 0x3, 0x7}, {0x3, 0xffff, 0x41e, 0x9ae, 0x80000000, 0x9}, {0x23, 0x3f, 0x6, 0x9d, 0x0, 0x5000000}, {0x5, 0x1ff, 0x1, 0x1, 0xffffffff, 0x9f6}, {0x1, 0x7, 0x6, 0x1, 0x100, 0xffffffff}, {0x1ff, 0x200, 0x2, 0x7fff, 0x40, 0x69}, {0x7, 0x7, 0xffffffff, 0x9ba, 0x6, 0x7fff}, {0x8, 0x7ff, 0x10000, 0x0, 0x8, 0x8}, {0x8, 0x1000, 0x5, 0x5, 0x2, 0x279}, {0x7, 0x0, 0x8, 0x375, 0x7, 0x1}], [{0x5}, {0x4}, {}, {0x5, 0xf66e242ff0e976ac}, {0x1}, {0x1, 0x1}, {0x4}, {}, {}, {0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x2}, {}, {0x3}, {0x4}, {0x1, 0x1}, {0x1b68c4d37cd138d1}, {0x2}, {0x5}, {0x3, 0x1}, {}, {0x4}, {0x2}, {0x1, 0x1}, {0x2}, {0x2, 0x1}, {0x2, 0x1}, {0x1}, {}, {0x3, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x5, 0xb5aeb08142c0227a}, {0x0, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5, 0x1}, {0x5, 0x1}, {}, {0x3, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x4, 0x1}, {0x2}, {0x3, 0x1}, {0x4}, {0x1, 0x1}, {0x5, 0x1}, {0x4}, {0x0, 0x3}, {0x3, 0x1}, {}, {0x5, 0x1}, {0x1, 0x1}, {0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {}, {0x2}, {0x4, 0x1}, {}, {0x1}, {0x4, 0x1}, {}, {0x2}, {0x2}, {0x2}, {}, {0x3, 0x1}, {0x1, 0x1}, {0x1}, {}, {0x3, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x5}, {0x2}, {0x0, 0x1}, {0x2}, {}, {0x4, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x7, 0x1}, {0x1, 0x1}, {0x3, 0x1}, {0x7, 0x1}, {}, {0x3}, {0x2, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {0x1}, {0x3}, {0x0, 0x1}, {0x3}, {0x5}, {0x1}, {0x1, 0x1}, {0x4}, {0x5, 0x1}, {}, {0x0, 0x1}, {0x5}, {0x5}, {0x2, 0x7279be85729da8e8}, {}, {}, {0x3, 0x1}, {0x5}, {0x4, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x4}, {0x0, 0x1}, {0x4}, {0x2}, {0x1}, {0x1}, {0x3}, {}, {}, {0x5, 0x1}]}}, @TCA_PEDIT_KEYS_EX={0xbc, 0x5, 0x0, 0x1, [{0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x34, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x54, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}]}]}, @TCA_PEDIT_KEYS_EX={0x40, 0x5, 0x0, 0x1, [{0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}]}, @TCA_PEDIT_KEYS_EX={0x18, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}]}]}, @TCA_PEDIT_PARMS={0xef8, 0x2, {{{0x9, 0x1000, 0x2, 0x481, 0x9}, 0x40, 0x0, [{0xfffff000, 0x1, 0x5, 0x9, 0x10001, 0xfffffc00}, {0x49a, 0x100, 0x7, 0x9, 0x1f, 0x5}, {0x4, 0x2, 0x110, 0x8, 0x80000001, 0x3}, {0x80000000, 0x977, 0x78, 0x95, 0x95, 0x3ff}, {0x9c, 0x0, 0x7e01, 0x3, 0x7fff, 0x80000001}, {0x7, 0x0, 0x8, 0x11, 0x0, 0x2}, {0x8, 0x2, 0x7, 0xabc3, 0x32, 0x9}, {0x7, 0x8, 0x5, 0x1, 0x7, 0x80000001}, {0x1f, 0x200, 0x8, 0x5, 0x9, 0xfffff430}]}, [{0xa1, 0x54da, 0x80, 0xb2c0, 0xd365, 0x5}, {0x5, 0x5, 0x7, 0x3, 0x8, 0x2}, {0x2, 0x0, 0x0, 0x7, 0x1, 0xfffffffb}, {0x0, 0x2, 0x8000, 0x0, 0x8ac, 0x800}, {0x6, 0x16, 0x80000000, 0x81, 0xba6}, {0x3, 0x8, 0x40, 0x8, 0x3f, 0x7}, {0x0, 0x9, 0xc06, 0x6, 0x400, 0x340}, {0xf, 0xddb, 0xffffffff, 0x6, 0x2, 0xe9}, {0xd4, 0x101, 0x4, 0x2, 0x8c4, 0xffff}, {0x8000, 0x4, 0x2, 0x5a, 0x8, 0x9}, {0x800, 0x1, 0x6, 0x7, 0x0, 0x9}, {0x4, 0xc00000, 0x5, 0x6, 0x20, 0x2}, {0xffffff01, 0x401, 0x69, 0x1, 0x4, 0x7f}, {0x2, 0x3ff, 0xfffffff8, 0x1, 0xfff, 0x80000001}, {0x4, 0x10000, 0x13, 0x7ff, 0x8000, 0xffffffff}, {0x4d81, 0x8001, 0x1, 0x4, 0x8000}, {0xcfb6, 0x4, 0x8, 0x8303, 0x6, 0xfff}, {0x80000001, 0xfffffffc, 0xfcf, 0x5, 0x1000, 0x9}, {0x9, 0x6, 0x1000, 0x7fffffff, 0x4, 0x3}, {0xcd10, 0x8c0, 0xa56a, 0x8, 0x400, 0x3ff}, {0x200, 0x696c, 0x4, 0xfffffffe, 0x4, 0xffffffff}, {0x1, 0x7f, 0x7, 0x8000, 0x4, 0x3f}, {0x101, 0xe5d, 0x4, 0x6, 0x7fffffff, 0x7fffffff}, {0x7fff, 0xb951, 0x8, 0x4, 0xb32e, 0x38}, {0x3, 0x6, 0x0, 0x4, 0x1a3b, 0x68d}, {0x7fffffff, 0x101, 0x9c6, 0x3, 0x2}, {0x5, 0x7, 0x4712, 0x1, 0x7f, 0x8}, {0xbcba, 0x40, 0x5, 0x4, 0x7175, 0x2}, {0xfff, 0x3249, 0x80, 0x1ff, 0xf471, 0x6}, {0x0, 0x3ff, 0xdec, 0x1f, 0x3f, 0x6}, {0x100, 0x4, 0x2, 0x3}, {0x2, 0x5, 0x5877, 0x3, 0xd14, 0x7}, {0xfffff8a7, 0x5, 0x0, 0x3ff, 0x10000, 0x5}, {0x2ef63ef2, 0x54, 0x0, 0x2, 0xfff, 0x6}, {0x1f, 0x5, 0x3273, 0x2, 0x9, 0x1000}, {0x8, 0x4, 0x4e2, 0x3, 0x4, 0x100}, {0xfffffa43, 0x0, 0xc23, 0x10000, 0xffff, 0xf43}, {0x0, 0x0, 0x7, 0x500000, 0x8, 0x6}, {0xcd, 0x1c000, 0x3ff, 0x5, 0xc000000, 0x6}, {0x100, 0xffff, 0x7fff, 0x6, 0x62c67b19, 0x4}, {0x572800, 0x6b, 0x9, 0x8903, 0x3f, 0xe1e7}, {0x5, 0x7fffffff, 0x5b, 0x7, 0x7, 0x6}, {0x4, 0xff, 0x7, 0x1, 0x7, 0x6}, {0x80000001, 0x8, 0x64c, 0x4, 0x6}, {0xd17b, 0x7, 0x7, 0x8, 0x0, 0x7ff}, {0xf0, 0x3f, 0x1, 0x6, 0x81, 0x40}, {0x9, 0x1, 0xffffffff, 0xfffffffc, 0x7fff, 0x482}, {0x3, 0xffffffff, 0x4, 0x80000001, 0x3, 0x1f}, {0xffff, 0x2, 0x3, 0x20, 0xfffff0c0, 0x3ff}, {0x1, 0x2, 0x100, 0x3, 0x8, 0x3ff}, {0x80, 0x7fff, 0x7, 0x40, 0x2, 0x8000}, {0xd4ee, 0x2, 0x8, 0x7, 0x0, 0x4}, {0x7fffffff, 0x7fff, 0x10001, 0x100, 0x8, 0x8000}, {0x6, 0x7fffffff, 0x6, 0xfffffff8, 0x7ff, 0x5}, {0xecd, 0x5, 0x0, 0x2792, 0x0, 0xffffffff}, {0x84, 0x7, 0xb2, 0x4b, 0xa3c, 0x2}, {0x1ff, 0x2e5d, 0x8, 0x1f, 0x3, 0x2}, {0xfffffffe, 0x6, 0x7, 0x3ff, 0x4, 0x5}, {0x200, 0x20, 0x8, 0x8, 0x7, 0x8}, {0xfff, 0x4e, 0xfffffc01, 0x8, 0x7fffffff, 0x10000}, {0x1ae9, 0x6, 0x6, 0x4, 0x3, 0x7ff}, {0x4, 0x9, 0x4, 0x90000000, 0x9, 0x73}, {0x2, 0x7f, 0x1, 0x3f, 0x101, 0xd99}, {0x62a, 0x9, 0x0, 0xfffffffa, 0x2e}, {0x4, 0x7, 0x196, 0x2, 0x1, 0x400}, {0x41a, 0x610, 0x1f, 0x80000000, 0x800, 0x9}, {0x9, 0x0, 0x1, 0x7, 0x0, 0x7fffffff}, {0xfffffc22, 0x40, 0x0, 0x703, 0x0, 0x7fffffff}, {0x4, 0x7, 0x6, 0xc4}, {0x7, 0x1ff, 0x9, 0x9, 0x4, 0x800}, {0xfed, 0x3ff, 0x3ff, 0x0, 0x7, 0x4}, {0x3, 0x7f, 0x401, 0x1, 0x85e7, 0x3}, {0x27, 0x8, 0x6, 0x4, 0x83a9, 0xee1}, {0x4, 0x0, 0xffffffff, 0x9, 0xd202, 0xffffffc1}, {0x6, 0xaa, 0x8, 0x7fffffff, 0x209d, 0xfffffffd}, {0x7fffffff, 0x3, 0x16ce94ac, 0xb6, 0x5, 0x6}, {0x63c4, 0x85f0, 0x1ff, 0x3, 0x1, 0x7fff}, {0x8001, 0x7fffffff, 0x2, 0x8001, 0x5f6e68de, 0x3}, {0x4, 0x789f, 0x8, 0xdc, 0x1000, 0x3}, {0x9, 0x5, 0x0, 0x80000000, 0x2, 0x421b}, {0x10000, 0x6, 0x1, 0x40, 0xfffffbff, 0x11}, {0x4, 0x7f, 0x8, 0x0, 0x9, 0x567c}, {0xff, 0x1, 0x3, 0x100}, {0x5, 0x1, 0x7fffffff, 0x4e, 0x63ea8000, 0x3}, {0x40, 0x7f, 0x9, 0xffffffc0, 0x5}, {0x6b, 0x5, 0x2, 0x9, 0xace8, 0x401}, {0x1000, 0x2, 0x3, 0xdc12, 0x9}, {0x8, 0x86b, 0x67, 0x5, 0x9, 0x10001}, {0x4, 0x3, 0x2, 0x1, 0x733a, 0x6}, {0x4, 0x9, 0x8, 0x4, 0xffffffff, 0x3f}, {0x3, 0x8, 0x4, 0x8, 0x5, 0x8}, {0x0, 0x1, 0x0, 0x5, 0x3eaa4dd7, 0x2}, {0x9, 0x5, 0x3, 0x8, 0x800, 0x1}, {0x80000000, 0x3, 0x4, 0x80000000, 0x7fff, 0x4}, {0x2, 0x5, 0xfff, 0x7, 0x239, 0x10}, {0x9, 0x6, 0x0, 0x4, 0x0, 0x7f}, {0x4, 0x7fffffff, 0x6, 0x4ed6, 0x2470bcce, 0x6}, {0xbe, 0x4, 0x8, 0x7, 0x8, 0x80000001}, {0x4, 0x8, 0xf3f, 0x5, 0x6, 0x7ff}, {0x8, 0x2, 0x6, 0x406b, 0x1f, 0x6}, {0x3f, 0x75c3, 0x3, 0x2, 0x1, 0xe70}, {0x6e67931, 0x2, 0x7fff, 0xdfab, 0x470, 0x20}, {0x8f6, 0x7fff, 0x2, 0x400, 0x2, 0x3}, {0x400, 0x1, 0x2000000, 0x0, 0x7fffffff, 0x9}, {0x2, 0x357a, 0x9, 0x0, 0x3, 0x20}, {0x40, 0xfff, 0x1, 0x3, 0x6, 0x80000001}, {0x0, 0x20, 0x4, 0x81, 0x8000, 0x3}, {0x9, 0xffffffff, 0xfff, 0xfffffe01, 0xfff, 0x4}, {0x7ff, 0x9, 0xfffffffc, 0x2, 0x10001, 0xfffffff9}, {0xd952, 0x6, 0x6, 0x3, 0x401, 0x80000000}, {0xfffffff9, 0x40, 0x0, 0x40, 0x690, 0x7fffffff}, {0x9, 0x527, 0x7, 0x3, 0x6, 0x7f}, {0x2b, 0x80000000, 0x8001, 0x1ff, 0x80000001, 0x7}, {0x7, 0x7fff, 0x2, 0x48a1, 0x8}, {0x6, 0x7, 0x2, 0x1, 0x101, 0x6}, {0x1, 0x4, 0x9, 0xdbd, 0x2, 0x800}, {0x0, 0x7660, 0x8000, 0x200, 0xa41e1a5, 0x8000}, {0x6, 0xfffffffc, 0x9, 0x7e9f, 0x3}, {0x8001, 0x9, 0x9, 0x5, 0x9, 0x6}, {0x7fffffff, 0x1, 0x6, 0x68, 0xffff, 0x8}, {0x0, 0x5, 0x6, 0x101, 0x3ff, 0x7f}, {0x37, 0x4d, 0x7, 0x5, 0x76e1, 0x7}, {0x2, 0x3, 0xfffffd9c, 0x3, 0x3, 0x1}, {0x42a, 0x3, 0x0, 0x5, 0xf213, 0x90f0}, {0x40000, 0x1000, 0x0, 0x3, 0x9, 0x6}, {0x4, 0x40, 0x1, 0x4, 0x2, 0x5}, {0x80, 0x58, 0x4, 0x7, 0x5, 0x7}, {0x6, 0x7ff, 0x7, 0x3, 0x7f, 0x91ec}], [{0x5, 0x1}, {0x5}, {0x4, 0x1}, {0x4}, {0x1}, {0x1, 0x1}, {}, {0x4}, {0x1}, {0x3}, {0x5, 0x1}, {0x1, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x1, 0x1}, {0x0, 0x1}, {0x5, 0x1}, {0x4}, {}, {0x4, 0x1}, {0x2}, {0xd467b7ea2997b692}, {}, {0x0, 0x1}, {0x3}, {0x2, 0x1}, {0x3, 0x1}, {0x1}, {}, {0x2, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {}, {0x1, 0x1}, {0x5}, {0x0, 0x1}, {0x3}, {0x2, 0x1}, {0x4, 0x1}, {0x4}, {0x3}, {0x4}, {0x4}, {0x2}, {0x7, 0x1}, {0x2}, {}, {0x5}, {0x1}, {0x1}, {0x2, 0x1}, {0x5}, {}, {0x6261d967603f9a9d, 0x1}, {0x0, 0x1}, {0x7}, {0x5}, {0x3}, {0x3, 0x1}, {0x2}, {0x2, 0x1}, {0x2, 0x1}, {0x1}, {0x3}, {}, {0x1}, {0x3}, {0x1, 0x1}, {0x4679a4e3951a1088}, {0x5, 0x1}, {}, {0x0, 0x1}, {0x1, 0x1}, {0x3}, {0x2, 0x1}, {0x5}, {0x4}, {0x4, 0x1}, {}, {0x1, 0x1}, {0x4}, {0x4}, {}, {0x1, 0x1}, {0x1}, {0x4}, {0x5, 0x1}, {}, {0x5, 0x1}, {0x3}, {0x2, 0x1}, {0x1}, {0x5}, {0x4}, {0x4, 0x1}, {0x5}, {0x0, 0x1}, {0x5}, {0x1, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x4}, {0x2}, {0x3, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x2, 0x1}, {0x1}, {0x5}, {0x2, 0x3}, {0x4}, {0x5}, {0x4}, {0x4}, {0x2}, {0x5, 0x1}, {0x5}, {0x4, 0x1}, {0x3, 0x1}, {0x2}, {0x4, 0x1}, {0x3, 0x1}]}}]}, {0x43, 0x6, "4b39896f622d49019f89d6710c7ee7f447635531699838213ae6cf805bc1c71ddf90185f8cb712fdeb00af7576d620a93b7c4a201f19b8e80ddb24a20f985e"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x3, 0x3}}}}]}, {0x2f48, 0x1, [@m_tunnel_key={0xf0, 0x14, 0x0, 0x0, {{0xf}, {0x14, 0x2, 0x0, 0x1, [@TCA_TUNNEL_KEY_ENC_KEY_ID={0x8, 0x7, 0x3}, @TCA_TUNNEL_KEY_ENC_DST_PORT={0x6, 0x9, 0x4e20}]}, {0xae, 0x6, "dda54a0ffdc02cc1956363dc0c06c2db4e4ee2325326cb6b5db05058af2a0d773cf655d1aab528f5f86499cf5aa35eea974ae47f1142359369f2d4b7f7495257c3175124f2342114f849afc2ce0d49b110ec0ea727756f6a03d625316f1c610c234c09288509bb21a836716dd6afb3f4220a178e68b6151060327fd1f4b27afe676d369b85882d4294d7b25b81d2570665cc13d37e0e07509eb7026380100f338ed7a8d9320f7944f339"}, {0xc, 0x7, {0x1, 0x1}}, {0xc}}}, @m_pedit={0x2dc8, 0xe, 0x0, 0x0, {{0xa}, {0x2d00, 0x2, 0x0, 0x1, [@TCA_PEDIT_PARMS_EX={0xe80, 0x4, {{{0x0, 0x3, 0x20000000, 0x40, 0x6}, 0x7f, 0x3, [{0x1, 0x9, 0x1ff, 0xffffffff, 0xfffffffe, 0x3}, {0x6000, 0xffff, 0x3, 0x1ff, 0x6, 0x7}, {0x2, 0x2, 0x1, 0x0, 0x5, 0x100}, {0x2b77, 0x1f, 0x61, 0x6, 0x875000, 0x1ff}]}, [{0x6, 0xffff, 0x5, 0x130000, 0x20, 0x101}, {0xf6, 0x4, 0x0, 0x0, 0x1, 0x81}, {0x7, 0x3, 0x2, 0x1, 0x7fffffff, 0xe1}, {0x3, 0x0, 0x8, 0x4, 0x400}, {0x8, 0x8, 0x80000000, 0x8, 0xffff, 0x7a3}, {0x53, 0x0, 0xe75d, 0x7f, 0x332, 0xc}, {0x10000, 0x915, 0x2, 0x8, 0x90bc, 0x8e}, {0x8, 0x5, 0x4, 0x6dd0, 0x5, 0x3}, {0xfffffffe, 0x0, 0x8, 0x2, 0x5, 0x7}, {0x1ff, 0x80, 0x9, 0x0, 0x8, 0x400}, {0x8000, 0x2, 0x101, 0x9669, 0x3, 0x2}, {0x5, 0x2, 0x2, 0x100, 0x0, 0x2}, {0x4283, 0xa3, 0x0, 0x0, 0x100, 0x5}, {0x20, 0x6, 0xf34, 0x8, 0x7fffffff, 0x64}, {0x6, 0xeb01, 0x8000, 0x81, 0x1, 0x6a21}, {0x5, 0x8, 0x4, 0xfff, 0xdf2, 0x5}, {0xc0, 0x8, 0x7fff, 0x64b000, 0xc34, 0x5}, {0x5, 0x0, 0x6, 0x81, 0x8000, 0x2}, {0x81, 0x6, 0x9, 0x38, 0x1, 0x37f}, {0x40, 0x2, 0x3, 0x8, 0xf9, 0xffffffff}, {0x2, 0x3676, 0xb, 0x3f, 0x2, 0x6}, {0x8, 0xffffffff, 0x1000, 0x1000, 0x3, 0x1}, {0x6, 0x5, 0x7, 0x9, 0x2bf2, 0xffffff7f}, {0x5, 0x80, 0x3, 0x1, 0x40, 0x4}, {0x4, 0x80, 0x1, 0x47ca18, 0x3f, 0x4643}, {0x0, 0x9, 0x50a, 0x800, 0xffffffff, 0x800}, {0x7, 0x7, 0x70, 0x0, 0x14, 0x3}, {0xfffffffb, 0x80000000, 0x5, 0x3, 0x2, 0x3}, {0x0, 0x1, 0x1, 0x8000, 0x2, 0x80000001}, {0x3, 0x1, 0x5, 0x10001, 0x9, 0x9}, {0x8, 0xbad, 0xffffffc0, 0xfffffff9, 0xf02}, {0x7c, 0x9, 0x974, 0xfffffff8, 0x6000, 0x125}, {0x81, 0x7, 0x200, 0x3, 0x9, 0x8}, {0x20, 0xcda, 0xa3, 0x8001, 0x1, 0x9}, {0x0, 0x200, 0x643b, 0x6, 0x1, 0x80000001}, {0x800, 0x10001, 0x7, 0x3, 0x844, 0x8}, {0x80, 0x10001, 0x4, 0x1, 0x6, 0x7}, {0x200, 0x5, 0x5, 0x1f, 0x7, 0x3}, {0x7fffffff, 0xa2, 0x1dc3, 0x410, 0x1, 0x3}, {0x8, 0x100, 0x4, 0xff, 0x7, 0x6}, {0x3, 0xe77, 0x5, 0x1b426d87, 0x40, 0x1d}, {0x4, 0x6, 0x0, 0x1ff, 0xdd0, 0x81}, {0x7fff, 0xffff, 0x2, 0x42a, 0x1, 0x3f}, {0x0, 0xff, 0x5, 0x81, 0x456526a0, 0x1f}, {0x5, 0xfff, 0x2be4, 0x7fff, 0xf6, 0x9c41}, {0x2, 0x6, 0xf2, 0xffff, 0x8001, 0x9}, {0x6, 0x9b8, 0xb6, 0x3f, 0x4, 0x3ff}, {0x7, 0x5, 0x9, 0x100, 0x7, 0x8}, {0x7ff, 0x6, 0xb5, 0x8, 0x6, 0x4}, {0x0, 0x2, 0x7, 0x100, 0x41a, 0x2}, {0xc9, 0x6, 0xae44, 0x5, 0x2, 0x3}, {0x9, 0x10000, 0xfffffff9, 0xa0f, 0xfa, 0xfffffffc}, {0x1, 0x8, 0x76, 0x6, 0x101, 0x9}, {0x5a6cb9dd, 0x1f, 0xfffff09e, 0x2, 0x1c6963a4, 0xff}, {0x3, 0x521, 0x200, 0x6, 0x41, 0x6}, {0x2, 0x80000001, 0x10001, 0x4, 0x3, 0x3}, {0x3, 0x3, 0x2, 0x2, 0x1000, 0x5}, {0x1ff, 0x7, 0x7, 0xffffffff, 0x8, 0x10000}, {0x40, 0xaa, 0x4, 0x0, 0xcc4, 0xe1d2}, {0xe47, 0x3, 0x7, 0x0, 0x3ff, 0x888}, {0xc000, 0x4, 0x100, 0x8001, 0x7, 0xc4bd}, {0x6, 0x6, 0x4, 0x4, 0x277, 0xf3ae}, {0x4, 0x2f596964, 0x3, 0x40, 0x2, 0x3}, {0x7, 0x81, 0x14, 0x60a9, 0x0, 0x7}, {0x8, 0xff, 0x1, 0xffff, 0x9, 0x62f}, {0x2aff, 0x3, 0x5, 0x1, 0x6, 0x5}, {0x3ff, 0xe266, 0x7, 0x5, 0xfff, 0x101}, {0x40, 0x1ff, 0x4, 0x2, 0x5, 0x87ef}, {0x3f, 0x0, 0x0, 0x80, 0xffff88e6}, {0x3, 0x8aa, 0x6, 0x80000001, 0xcc7d, 0x8}, {0x101, 0x7, 0x1000, 0x1f, 0xfffff800, 0x9}, {0x8, 0xe3, 0x8, 0x6, 0x0, 0x8000}, {0x4, 0x7, 0x20, 0x7, 0x81, 0x7}, {0xfffeffff, 0x4, 0x9, 0xfffffff8, 0x9, 0x40}, {0x3, 0x5, 0x0, 0x401, 0x524da1da, 0x80000001}, {0x4, 0x2, 0x2, 0x4, 0x5, 0x100}, {0x4, 0x40, 0x6, 0x4, 0x0, 0x4}, {0x7, 0x101, 0x10000, 0x9, 0xffff}, {0x3, 0x2, 0x1, 0x8, 0xfffff000, 0x5}, {0x2, 0x1f, 0xacc, 0xb5b, 0x1, 0x46fe}, {0x8, 0x51364ad7, 0x200000, 0x1ff, 0x5, 0x5}, {0x7ff, 0x1f, 0x20, 0xad5, 0x5, 0x7}, {0x3fb, 0x3, 0x7d9, 0xf7, 0x6, 0xfffffffd}, {0x8, 0x9, 0x24, 0x3, 0x3ff, 0x8}, {0x10001, 0x5, 0x16cf, 0x3, 0x7, 0x4}, {0x6, 0x100, 0x0, 0x1000, 0x20, 0x40}, {0x5, 0x3, 0x946, 0xf4, 0x8001, 0x7}, {0x80000001, 0x80000000, 0x80000001, 0x1ff, 0x3f, 0x6}, {0x0, 0x100, 0x3bc, 0x80000000, 0x0, 0x3}, {0x3, 0x8, 0x6, 0x6, 0x80, 0x800}, {0x6, 0x8, 0x13407e7b, 0x1, 0x7fffffff, 0x80000000}, {0x3cb, 0x80000001, 0x7fff, 0x3ff, 0x1f, 0x7}, {0x81, 0x0, 0x4, 0x1ff, 0x200, 0x9}, {0x2, 0x0, 0x9, 0x3ff, 0x7ff, 0x400}, {0xffff, 0x8001, 0x0, 0x995, 0x8000, 0x7fffffff}, {0x2, 0x2c, 0x1, 0x7, 0x7, 0xfffffffa}, {0x100, 0xb3f, 0x3, 0x3, 0x0, 0xfffffc01}, {0x672, 0x4b07, 0xffffffff, 0x6, 0x80, 0x2}, {0x2, 0x4, 0x48, 0x1, 0x6, 0xc5}, {0x9, 0x1, 0xffff0001, 0x8, 0xffffffff, 0x5}, {0x3ff, 0x7, 0x2, 0xfe, 0x1ff, 0xfff0000}, {0x6f0e, 0x4, 0x8, 0x1, 0x5}, {0x3, 0x3ff, 0x100, 0x5, 0x200, 0x8000}, {0x4, 0xffff8001, 0x4, 0xffffff1e, 0x20, 0x7}, {0x1, 0x3, 0x3, 0x77, 0x3, 0xc11c}, {0x3, 0x1200, 0xffffffcb, 0x0, 0x6}, {0x80, 0x9, 0x0, 0x5, 0x4, 0x9}, {0x7fff, 0x200, 0x4e, 0x1, 0x7fff}, {0x1, 0x5, 0x6, 0x8000, 0x4, 0x7}, {0x5, 0x1, 0x9, 0x6, 0xa33b, 0x8}, {0x368, 0x6, 0xffffffff, 0x6, 0x4, 0x2}, {0xffffffff, 0x7, 0x7, 0x3, 0x3ff, 0x40}, {0xfffffff7, 0x10001, 0x5, 0xffffffff, 0xffff8000, 0x2}, {0x4, 0x80000000, 0x3, 0x0, 0xffffffff, 0x1}, {0xa28a, 0x8, 0x8, 0x3ff, 0xc0000, 0x10000}, {0x0, 0x80000000, 0x1, 0x0, 0x80000000, 0x5}, {0x2, 0xfffffff8, 0x1, 0xff, 0x80000001, 0x5}, {0x0, 0x0, 0x7fffffff, 0x2, 0x6, 0x9}, {0x8, 0x2, 0x3, 0x9, 0x7ab, 0x80000001}, {0x3ff, 0x3, 0x401, 0xffffffff, 0xcd0, 0x101}, {0x401, 0x4, 0x3, 0x200, 0x1, 0x8}, {0xe4, 0x1ff, 0x80000001, 0xfffffd95, 0x4, 0x4}, {0x10001, 0x0, 0x1, 0x7, 0xffff, 0x1f}, {0xff, 0x80, 0x9, 0x9, 0x3, 0x6}, {0x2, 0x7, 0x200, 0x8, 0x4, 0x100}, {0x8001, 0x0, 0x6, 0x4, 0x1, 0x7}, {0xdd, 0xffff, 0x1, 0x8, 0x400, 0x9}, {0x551, 0x7, 0x80000000, 0x5, 0x0, 0x3}], [{0x4}, {0x4, 0x1}, {0x2}, {0x4}, {0x1, 0x1}, {0x2, 0x1}, {0x1}, {0x3}, {0x3}, {0x5}, {0x2, 0x1}, {0x5}, {}, {0x4}, {0x2, 0x1}, {0x3, 0x1}, {0x6, 0x1}, {0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x1}, {0x3}, {0x3, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {}, {0x3, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x4, 0x1}, {0x2}, {0x1}, {0x1, 0x1}, {0x2}, {0x4, 0x1}, {0x3}, {0x4}, {0x1}, {0x4}, {0x3}, {0x5}, {0x1, 0x1}, {0x1, 0x1}, {0x5, 0x1}, {0x6}, {0x1, 0x1}, {0x5}, {0x5}, {0x2, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x3}, {0x0, 0x1}, {0x2, 0x1}, {0x2}, {0x2}, {0x4}, {0x2, 0x1}, {0x3}, {0x4}, {}, {0x5, 0x1}, {0x5}, {0x1}, {0x3, 0x1}, {0x1}, {0x3, 0x1}, {0x1, 0x1}, {}, {0x0, 0x1}, {}, {0x4, 0x1}, {0x5}, {0x7, 0x1}, {0x5, 0x1}, {0x4}, {0x2, 0x1}, {0x3}, {0x4, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {0x7}, {0x4}, {0x5, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x2}, {}, {0x5}, {0x4, 0x1}, {0x5, 0x1}, {0x1}, {0x3, 0x1}, {}, {0x0, 0x1}, {0x4, 0x1}, {0x4}, {0x2}, {0x5, 0x1}, {0x4}, {0x3}, {0x2, 0x1}, {0x0, 0x1}, {0x4, 0x1}, {0x0, 0x1}, {0x0, 0x1}, {0x1}, {0x4}, {0x42f6f398b2c761f3}, {0x5, 0x1}, {0x2, 0x1}, {}, {0x5, 0x1}, {0x5, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {}, {}, {0x4}, {0x5, 0x1}], 0x1}}, @TCA_PEDIT_PARMS_EX={0xe98, 0x4, {{{0x1ff, 0x5, 0x0, 0xfffffff7, 0x8}, 0x1, 0x6, [{0x10001, 0x100, 0x7fffffff, 0x3, 0x2, 0x800}, {0x8, 0x8, 0x4, 0xbeb, 0x0, 0x5}, {0x1000, 0x1ff, 0x66, 0x6, 0xdc, 0xfffffff8}, {0x401, 0x6, 0x6108, 0x3, 0x1, 0x3}, {0x3, 0x42b, 0x4085, 0x3, 0x7ff, 0x73}]}, [{0x9, 0x1, 0x4, 0x80000000, 0xa2, 0x9}, {0x2, 0x80, 0x1, 0xaed, 0x4, 0xa3c}, {0x8, 0x5, 0x7fffffff, 0x7, 0x1, 0x1ff}, {0x2, 0x7, 0x8001, 0x7ff, 0x100}, {0x3ff, 0x4, 0x5, 0x3, 0x770, 0xffffffff}, {0x7, 0x20, 0x1ff, 0x9, 0xffff, 0x7f}, {0x0, 0x4, 0x8, 0x44, 0xfff, 0x1f}, {0x1ff, 0x5, 0x7, 0xa38, 0x40, 0x6}, {0x6fed, 0x0, 0x3, 0x4, 0xbc0, 0x3}, {0x8, 0x5, 0x4, 0x80, 0x5, 0x7fff}, {0x3f, 0x1, 0x8, 0x7, 0x101, 0xf8000000}, {0x7f, 0x5, 0x0, 0x262, 0x0, 0x6}, {0x0, 0x80, 0x7, 0xcee0, 0x41d, 0x39}, {0x401, 0xffffffc0, 0xfffffff8, 0x3f, 0x3d, 0x81}, {0x3, 0xdded, 0x5, 0x7, 0x8, 0x9}, {0x8, 0xa89, 0x9, 0x7, 0x9, 0x7f31}, {0x7, 0x8001, 0x401, 0x5, 0xaa6f, 0x9}, {0x5, 0x5, 0x1, 0x8, 0x9, 0x7e}, {0x5, 0x20f6be3f, 0xffff, 0x8, 0xcfe, 0xac}, {0xfffffffb, 0x2, 0x1, 0x0, 0x400, 0x9}, {0x1, 0x3ff, 0x1, 0x8000, 0x1, 0x3}, {0x4, 0x7ff, 0x401, 0xffff, 0x101, 0x2}, {0x7f, 0x2, 0x1c9, 0xff, 0x9, 0x1f}, {0x6, 0x1f, 0x2, 0x2, 0x5, 0x1}, {0x0, 0x4, 0x8, 0x1, 0x81, 0x1}, {0x6, 0x3, 0x3bf08c8d, 0x7ff, 0x0, 0xff}, {0x7fffffff, 0x40, 0x200, 0x7, 0xaac, 0x1}, {0x7, 0x940, 0x1, 0x10000, 0x2, 0x6b}, {0x80000001, 0x5, 0x8, 0x5, 0x8, 0x2da}, {0x3, 0xe6d, 0x74, 0x1, 0x1, 0x3}, {0x6, 0x1ff, 0x8, 0x3, 0x5, 0x3ff}, {0x1, 0xd6, 0xfff, 0x4, 0x400, 0x2}, {0x7, 0xac, 0x9, 0x80000000, 0x0, 0x1f}, {0x7, 0x1, 0xffffffff, 0x0, 0x5, 0x6}, {0x5, 0x4, 0x8, 0x2f, 0x4, 0x6}, {0x6, 0x6, 0xfffeffff, 0x1, 0xfffffffc, 0x6}, {0x8, 0xffffffff, 0x800, 0x0, 0x1, 0x3ff}, {0x8, 0x50d, 0x81, 0x2, 0x9, 0x5}, {0x401, 0x6, 0x1, 0x0, 0x1, 0x5}, {0x7, 0x3, 0x101, 0x6, 0x4}, {0xdb, 0x8000, 0x1f, 0xfffffffc, 0x3f, 0x4}, {0x401, 0x7, 0x81, 0x1000, 0x53e4, 0xb2d}, {0x7, 0x9, 0xffffff1f, 0x38, 0x6, 0x3}, {0x80000000, 0x1, 0x84, 0x2, 0x4, 0xdaa}, {0x101, 0xf, 0x1b, 0x800, 0x4, 0x5}, {0x5, 0x3, 0x0, 0x8, 0x0, 0x10001}, {0x4, 0xa7c8, 0x1, 0x19d81d35, 0xfff, 0x7}, {0xfff, 0x2, 0x4, 0x9, 0x2e6f, 0x7}, {0xfffffffc, 0x0, 0x8, 0x0, 0x7, 0x3ff}, {0x4, 0x8, 0x0, 0x3a, 0x6, 0x1}, {0xad87, 0x3ff, 0x1f, 0x8000, 0x7}, {0xde, 0x9, 0x2, 0x7, 0x0, 0x7f}, {0x5, 0x8, 0x7f, 0x8, 0xffffff8b, 0x7}, {0x0, 0x8, 0x3, 0x3e, 0xfffffffb, 0x3}, {0x0, 0x100, 0x0, 0x81, 0x25, 0x3}, {0x6, 0x0, 0x4, 0x3, 0x6, 0x57}, {0x8, 0x8, 0x0, 0xffffffff, 0x8, 0x410a}, {0x8, 0x5, 0x9, 0x1, 0x9e}, {0xff, 0x6, 0xfff, 0x7, 0xfffffffb, 0xffff}, {0x9, 0xfffffffb, 0x2c07, 0xf9, 0x1, 0x2fef9e51}, {0x25d, 0x4000000, 0x3, 0x1, 0x7fffffff, 0xffffcc0f}, {0x3, 0x9, 0x0, 0x2, 0x9, 0x110}, {0x44, 0x1, 0xfb1b, 0x7, 0x0, 0x83aa}, {0x2008, 0x7, 0x7f, 0xb0, 0xffffffa7, 0xd31}, {0x6, 0xc53, 0x20, 0x3, 0x104, 0x2}, {0x10000, 0x0, 0x8501, 0x401, 0x80}, {0x4, 0x9, 0x3e, 0x200, 0x0, 0xfe000}, {0xffffffc0, 0x3, 0x20, 0xffffffff, 0x200, 0xce}, {0xfffffff9, 0x6, 0x0, 0x6, 0x1, 0x200}, {0x401, 0x5, 0xffffffff, 0x98, 0x2, 0x974b}, {0x1, 0x3, 0x97b9, 0xba, 0x4, 0x2}, {0x1, 0x1000, 0x10001, 0x4b, 0x14, 0x9}, {0x20, 0xffffffc0, 0xc7, 0x2, 0x8000, 0x401}, {0x7, 0x7fffffff, 0x80, 0x4, 0x9, 0xfff}, {0x101, 0x3ff, 0x1, 0x1, 0x10000, 0x81a}, {0x807, 0x1, 0xffffffe5, 0x9, 0x80000000, 0x3}, {0x3, 0x1000, 0x5, 0x10000, 0x800, 0x9}, {0x9, 0xff, 0x1, 0x101, 0x1f, 0x80000001}, {0xffff, 0x3, 0x9, 0x0, 0x4, 0x10000}, {0x2, 0xffffff6b, 0x2, 0x5, 0x8001, 0x5}, {0x200, 0x5, 0x0, 0x4, 0x1}, {0x1ff, 0x2259, 0x0, 0x3, 0x6, 0x8}, {0x4, 0x4, 0x4f98c046, 0xfffffffd, 0x57ec87a, 0x45}, {0x483, 0xfff, 0x80000000, 0x80, 0x8000, 0x3}, {0x0, 0x0, 0x99de, 0x238a4a94, 0x800, 0x1ff}, {0x2, 0x4, 0x7f, 0x1, 0x8b4, 0x5}, {0x3, 0x4, 0x4, 0x3, 0x400, 0x5}, {0x3f, 0x3f, 0x80, 0x9, 0x8, 0x7}, {0xfffffff7, 0xfb21, 0x1421, 0xef, 0x1, 0x2}, {0x1, 0x8, 0x6, 0x7fffffff, 0x4, 0xf0a}, {0x3, 0x400, 0x7bfb, 0x80000001, 0x2, 0x6}, {0x4b8b, 0x8001, 0x1000, 0x7, 0x0, 0x83de}, {0x9, 0x8001, 0x1ff, 0x100, 0x400, 0x8}, {0x7, 0x1, 0x0, 0x25ac, 0x1000, 0xff}, {0x8, 0x1a, 0xdb3, 0xa1, 0x1ff, 0x6ec}, {0xa, 0x7, 0x2, 0x17c0, 0x6, 0x8}, {0xb6, 0x3ff, 0x200, 0x5, 0x1, 0xfffffffb}, {0x7fffffff, 0x68f4f54e, 0x7, 0x9, 0xffffff25, 0x400}, {0x1000, 0x8001, 0x3, 0x2, 0x58, 0xb0d}, {0x1f, 0x3, 0x0, 0x2, 0xffffff2d, 0x2}, {0x4, 0x3, 0xffffffff, 0x1, 0x0, 0x1}, {0x1, 0x6b4, 0x2, 0xc06, 0x36, 0x7fffffff}, {0x7, 0xa9000000, 0x3, 0xfff, 0x3}, {0xd10, 0x8, 0xddfa, 0x0, 0x5, 0x9}, {0x7, 0x5, 0x1, 0x3, 0x100, 0x1000}, {0x6, 0x8, 0x6ff7, 0x4, 0x5, 0x1}, {0x7, 0x81, 0x0, 0x0, 0x1}, {0x6, 0x7, 0x10000, 0x7, 0x8, 0xfffffff7}, {0x401, 0x1000, 0x8, 0x20, 0x3, 0x6}, {0x6, 0xa7, 0x2, 0x5, 0x8, 0xfffffe00}, {0x2, 0x5, 0x1f, 0xffffffff, 0x81, 0x7}, {0x0, 0x8001, 0x8, 0x2, 0x2, 0x3}, {0x2, 0x6, 0x8000, 0xa000, 0x4, 0xffffff17}, {0x8, 0x1, 0x401, 0x5, 0x2d, 0x7}, {0xe8, 0x80, 0x6, 0x5, 0xff, 0x9}, {0x7, 0xaf, 0x8, 0x7, 0x2}, {0x55d9, 0x8, 0x7, 0x49, 0x2, 0x3f}, {0xfffffff9, 0xa7, 0x0, 0x7fff, 0x1ff8, 0x6}, {0x3, 0x7f, 0xe58, 0x0, 0x80, 0x9}, {0x9, 0x6, 0x6, 0x8, 0x112000, 0xcb4}, {0x6, 0x3, 0xfff, 0x5, 0x9, 0x4}, {0x4, 0x6b36, 0x80000001, 0xfff, 0x40, 0x2}, {0x8, 0x5, 0x7, 0x1000, 0x3, 0xfffff000}, {0x6, 0x10000, 0x40, 0x0, 0x401, 0x7}, {0x3ff, 0x2, 0x7f, 0x1db, 0x6, 0x80}, {0xc8e0, 0x3f, 0x3, 0x10001, 0x5, 0x200}, {0x7, 0x7ff, 0xfff, 0x1, 0x9, 0x5}, {0x85, 0x4, 0x9, 0x1, 0x80000000, 0x3}], [{0x4, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x4}, {0x3, 0x2}, {0x2}, {0x3}, {0x5}, {0x4, 0x1}, {0x4, 0x1}, {0x3}, {0x1, 0x1}, {0x5}, {0x3, 0x1}, {0x5}, {0x3}, {0x1, 0x2}, {0x4}, {0x4, 0x1}, {0x5}, {0x1, 0x1}, {0x1}, {0x3}, {0x5, 0x1}, {0x2, 0x1}, {0x4}, {}, {0x4}, {0x5}, {0x5}, {0x5}, {0x5}, {0x2}, {0x4}, {0x4}, {0x1}, {0x6, 0x1}, {0x5}, {0x4, 0x1}, {0x5, 0x1}, {0x3}, {0x1, 0x1}, {0x3}, {}, {0x7}, {0x2, 0x79bd49deb1e719da}, {0x2, 0x1}, {0x1, 0x1}, {0x7, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x2}, {0x3, 0x1}, {0x7}, {0x1}, {0x4, 0x1}, {0x2, 0x2f898cd86831f5e7}, {0x3}, {0x1}, {0x1}, {}, {0x0, 0x1}, {0x2}, {}, {0x3, 0x1}, {0x0, 0x1}, {0x4, 0x1}, {0x3}, {0x1}, {0x7f04ca8ff537292b, 0x1}, {0x0, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x1}, {0x5}, {0x2}, {0x1, 0x1}, {0x5, 0x1}, {0x4, 0x2}, {0x0, 0x1}, {}, {0x4}, {0x2, 0x1}, {0x4, 0x1}, {0x5}, {0x4, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x4, 0x1}, {0x5, 0x1}, {}, {}, {0x3}, {0x2, 0x1}, {0x2}, {0x5, 0x1}, {}, {0x3, 0x1}, {0x3, 0x1}, {0x5}, {0x2}, {0x1}, {0x4, 0x1}, {0x4}, {0x5}, {0x4}, {0x4, 0x1}, {0x2}, {0x4, 0x1}, {0x3, 0x1}, {0x3}, {0x5}, {0x3}, {0x4}, {0x3, 0x1}, {0x5}, {0x5, 0x1}, {0x0, 0x1}, {0x2, 0x1}, {0x6, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x4}, {0x5, 0x1}]}}, @TCA_PEDIT_KEYS_EX={0x80, 0x5, 0x0, 0x1, [{0x3c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}, {0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}]}, @TCA_PEDIT_KEYS_EX={0xcc, 0x5, 0x0, 0x1, [{0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}]}, {0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}, {0x54, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}]}, @TCA_PEDIT_PARMS={0xe98, 0x2, {{{0x0, 0x8001, 0x8, 0x2, 0x3aa7}, 0x3, 0x6, [{0x6, 0x7, 0x6, 0xb6db, 0xfffffffe, 0x9}, {0x0, 0xc7c3, 0xd1b5, 0x7, 0x1, 0x6}, {0x1, 0x5, 0x2, 0x4, 0x1f07, 0x80000000}, {0x1, 0x5, 0x0, 0xe8, 0xae000000, 0x7fff}, {0x5, 0xfff, 0xfffffffc, 0x8000, 0x5}]}, [{0x3f, 0x1, 0x7, 0x6, 0x5}, {0x2d, 0x400, 0xd0, 0xfd4, 0x9, 0x3}, {0x80000001, 0x5, 0x7, 0x9ab, 0x5, 0x300}, {0xe00, 0xf48, 0xfd5, 0x4, 0x200, 0x3}, {0x6, 0x2, 0x1f, 0x9, 0x8, 0xef}, {0x6, 0xffff0000, 0x8, 0x2, 0xba1, 0x37162f3b}, {0x7, 0x3, 0x7000, 0x1, 0x3, 0x1f}, {0x0, 0x1, 0x7, 0xba, 0x0, 0x5}, {0xe15, 0x3, 0x7, 0x79ed712b, 0x8, 0x9}, {0x200, 0xff, 0x6, 0x5, 0x200, 0x1}, {0x0, 0xff, 0x4, 0x6, 0xc00, 0x6}, {0x276, 0xfffffffd, 0x2, 0xfffffff8, 0x20, 0x1}, {0x1f, 0x7, 0x2, 0x401, 0x3, 0x1ac53d0c}, {0xf66, 0x2, 0x9a3d, 0x6, 0x3, 0x3}, {0xa2, 0x1000, 0x8000, 0x2, 0x9, 0x9}, {0xff, 0x8, 0xcbdc, 0x9, 0x1000, 0x20}, {0x8, 0xffffff80, 0x2, 0x7, 0x7, 0x200}, {0x4, 0x10000, 0x8, 0x1, 0x7ff}, {0x2, 0x8, 0x6, 0x0, 0x4, 0x5}, {0x1d176d93, 0x3, 0x101, 0x8, 0x3, 0x3}, {0x7, 0xfffffffa, 0x1, 0x5, 0x80000000, 0x1000}, {0x81, 0x2, 0x568, 0x9, 0x400080, 0xfff}, {0x8, 0x2, 0xde28, 0x0, 0x1ff, 0x1}, {0x3f, 0x268, 0x58d, 0x0, 0x2, 0x21}, {0x1f, 0x4, 0x9, 0x100, 0x3a3, 0x1}, {0xede, 0x400, 0xfa, 0x5, 0x400, 0x9}, {0x2, 0x7f, 0x8, 0x6, 0x1, 0x4}, {0x8, 0x0, 0x1, 0xffffff3f, 0x37, 0x1}, {0x0, 0x8000, 0xffffffff, 0x8, 0x10001, 0x7}, {0x5, 0x6, 0x6, 0x7, 0x5182, 0x2}, {0x3ff, 0xffff, 0x7, 0x10001, 0x6, 0xffff8001}, {0x1f, 0x8, 0x101, 0x100, 0xfffffff7, 0x4}, {0x3, 0x5, 0x4, 0xf55, 0x10001, 0x2}, {0xcd01, 0x6, 0x100, 0x0, 0xffffffff, 0x2}, {0xa20d, 0x2a34, 0x0, 0xfffffffe, 0x9, 0x1f}, {0x4, 0x6, 0x4c04, 0xfffffff7, 0xff, 0x3}, {0x4, 0x400, 0x10001, 0x4, 0x2, 0xa05}, {0x0, 0x9, 0x3, 0x800, 0x7, 0x1}, {0x5, 0x80000001, 0xfffff001, 0x7, 0x1, 0x6}, {0x3d3, 0x401, 0x5, 0x1ff, 0x93, 0xffff}, {0xde5, 0x1, 0x2, 0x5, 0x80000001}, {0x9, 0x120000, 0x3, 0x5, 0x40, 0x1}, {0xffffffff, 0x6, 0x6, 0x400, 0x7, 0x1}, {0x8b6c, 0x5, 0xfffffffe, 0x5, 0x43f, 0xffffdc61}, {0xdc, 0x8000, 0xb1, 0x80, 0x81, 0x8}, {0x6d8, 0x0, 0x9, 0x9, 0x80000000, 0x800}, {0x7, 0xab, 0x1b, 0x0, 0xe68, 0x9}, {0x8000, 0x36a5, 0x5, 0x3, 0x248, 0x2}, {0x3, 0x81, 0x1, 0x6, 0x4, 0x401}, {0x9, 0xb41, 0x1, 0x200, 0xfffffeff, 0x5}, {0x0, 0x79, 0x24b, 0x39b, 0x3}, {0x3, 0x1, 0x5, 0xff, 0xfffffffd, 0x1000}, {0x10000, 0xfff, 0x0, 0x0, 0x1, 0x2}, {0x9, 0x7f, 0x0, 0x7, 0x4, 0x3}, {0xaeb7, 0x80000001, 0x6, 0x38, 0x3ff, 0x9}, {0x101, 0x4, 0xffff7fff, 0x3, 0x9, 0x9}, {0x1, 0x3f, 0x4, 0x9, 0x0, 0x5f}, {0x1, 0xffffffc1, 0xffffffff, 0x3, 0x3, 0x1000}, {0x2, 0x8, 0x0, 0x12a023c6, 0x4}, {0x4, 0xd6be, 0x2da9, 0x7fff, 0x94ef, 0xfffff801}, {0x9438, 0x0, 0xbc, 0x9, 0x3ff, 0x8}, {0x5b9, 0xbd04, 0x3f, 0x10001, 0x80000000, 0x7}, {0x10001, 0x1, 0x1ff, 0x6, 0x800, 0x800}, {0x101, 0x3ff, 0x5, 0x7fff, 0x3, 0xfffffffd}, {0xfff, 0x7f, 0x6, 0x6, 0x7, 0x401}, {0x2, 0x20, 0x1, 0xffffffff, 0x2, 0x659}, {0xfffffffd, 0xfffffffc, 0x10000, 0x100, 0x5, 0x6dd3}, {0x372, 0x4, 0x3, 0x1, 0x200}, {0x3, 0x7, 0x6, 0x80, 0x2, 0x8001}, {0x8, 0x9, 0x400, 0x7f, 0x5, 0x3}, {0x7fff, 0x7, 0x294, 0x5e9, 0x5, 0x2}, {0x9, 0x9, 0x1, 0x3ff, 0x7fffffff, 0x87}, {0x8, 0x1, 0x8, 0x6, 0xfffffffe, 0x8}, {0x0, 0x3ff, 0x2, 0x8, 0x80000000, 0x8}, {0x8, 0xf1, 0x6, 0x2c, 0x9, 0x5514bd63}, {0x401, 0x7ff, 0x400, 0x9ce, 0x206, 0x4}, {0x2, 0x80000000, 0x5, 0x5, 0x2, 0x7ff}, {0xe509, 0x0, 0xfff, 0x8, 0x200}, {0x9, 0x0, 0x8, 0xeb7, 0x1, 0x3ff}, {0x6, 0xf3, 0x7477, 0xd, 0x6, 0x9}, {0xce0, 0x0, 0x2, 0x7, 0xffffdc8a, 0xc17d}, {0x2f, 0x67, 0x515c56c1, 0x0, 0x12, 0x6}, {0x9, 0x8b5, 0xff8000, 0x5, 0xd24, 0x6}, {0xffffffff, 0x4, 0x759, 0x1, 0x3f, 0x81}, {0x800, 0x0, 0x80, 0x0, 0x5, 0x2}, {0x6, 0x9, 0x1f, 0x1a, 0x9, 0x6}, {0x1, 0x9, 0x4, 0x1f, 0xeee6, 0x6}, {0x78, 0x0, 0x7, 0x9, 0x3, 0x40}, {0x3, 0x8, 0x101, 0x1, 0x2, 0x9}, {0x2, 0x100, 0x3, 0x6, 0x3, 0x80000000}, {0x5, 0x80000000, 0x7, 0x1, 0xff, 0x7fff}, {0x0, 0x3, 0x7fffffff, 0x6, 0xfff, 0x96}, {0x0, 0x2, 0x0, 0x4, 0x4, 0x1}, {0xfffffffc, 0x7, 0x6, 0xd3bb, 0x5, 0x81}, {0x0, 0x9, 0x2dc, 0x6c, 0x6, 0x5}, {0xcd, 0xfff, 0x8, 0xfffffe1e, 0x9, 0x2c1}, {0x3, 0x1ff, 0x3, 0x0, 0x2, 0x7}, {0x38, 0x3, 0x3, 0x1, 0x5, 0x1}, {0x7, 0x7f, 0x7, 0x7ff, 0x0, 0x9}, {0xc55, 0x2, 0x0, 0x1, 0x1, 0x2}, {0x80000000, 0x7, 0xf0, 0x4, 0x8, 0xda2}, {0xfffffffe, 0x6, 0x0, 0x1, 0x3}, {0x2e5800, 0x1, 0x4, 0x3, 0x1, 0x4}, {0xbac, 0x0, 0x2, 0x7d, 0x6, 0x81}, {0x10000, 0x200, 0x7, 0x1, 0x463, 0x1}, {0x10, 0x2c, 0x9f, 0x80, 0xffffd02a, 0x7fffffff}, {0x40, 0x0, 0x0, 0x20, 0x8, 0x13c000}, {0x6, 0x1, 0x1, 0x3, 0x9, 0x3}, {0x4, 0x8, 0xb138, 0x5, 0x3, 0x7}, {0xffff7fff, 0xffffffff, 0x4, 0x6, 0x4, 0x7ff}, {0x8, 0x10, 0x7fffffff, 0x8, 0x1000, 0x7f}, {0x81, 0x1ff, 0x2, 0x400, 0x10001, 0x10001}, {0x2, 0x8, 0x10001, 0x401, 0x2, 0x2}, {0x8000, 0x5, 0x4, 0x1ff, 0x3, 0x7}, {0x0, 0xeb9f, 0x1, 0xf7, 0x400, 0x101}, {0x2, 0x10000, 0x7, 0x2, 0x31, 0x3}, {0x7, 0x6, 0x7fffffff, 0xda0, 0x7, 0x2}, {0x2b8, 0x4, 0x48000, 0x2, 0x800, 0xc6}, {0xa376, 0x4, 0x6, 0x3, 0xfffff001, 0x10000}, {0x1f, 0xb08, 0x2, 0x4, 0x7fffffff, 0xfffffffd}, {0xe, 0x9, 0x2, 0x6, 0xfffffe00}, {0x1f, 0xc48c, 0x6, 0x75, 0x4, 0x4}, {0x9, 0x6, 0x9, 0x4, 0x1, 0x6}, {0x3, 0x200, 0x1, 0x3ff, 0x5fe, 0xffffffde}, {0xcf8, 0x5, 0x0, 0x7fffffff, 0xffffffff, 0x5}, {0x6, 0x9, 0xc2, 0x9a}, {0x81, 0x6, 0x8, 0x9, 0x800, 0x80}, {0x6f, 0x80000001, 0xe2, 0x1, 0x51153816, 0x3}], [{0x4}, {0x4, 0x1}, {0x0, 0x1}, {0x3}, {0x1}, {0x4, 0x1}, {0x2, 0x1}, {}, {0x4}, {0x1}, {0x4, 0x1}, {0x2, 0x1}, {0x2}, {0x3, 0x1}, {0x4}, {0x3, 0x1}, {0x2, 0x1}, {0x3}, {0x3, 0x1}, {0x2}, {0x0, 0x1}, {0x3}, {0x5, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x1}, {0x0, 0x1}, {0x3}, {0x5}, {0x5, 0x1}, {0x1, 0x1}, {0x2}, {0x2, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {0x2}, {0x1, 0x1}, {0x1}, {0x4}, {0x6}, {0x5, 0x1}, {0x1}, {0x0, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x0, 0x1}, {0x0, 0x1}, {0x3}, {0x2}, {0x1, 0x1}, {}, {0x2}, {0x3, 0x1}, {0x0, 0x1}, {0x4}, {0x3}, {0x1}, {0x3, 0x1}, {0x1}, {0x5}, {0x3}, {0x2}, {0x4, 0x1}, {0x0, 0x1}, {}, {0x4}, {0x0, 0x1}, {0x5, 0x1}, {0x4}, {0x2}, {0x5, 0x1}, {0x0, 0x1}, {0x1, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {0x3, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x2}, {0x3}, {0x1, 0x1}, {0x5, 0x1}, {0x3}, {0x4, 0x1}, {}, {0x1, 0x1}, {0x4, 0x1}, {0x3}, {0x0, 0x1}, {0x5, 0x1}, {0x5}, {0x6, 0x1}, {0x2}, {0x5, 0x1}, {0x1, 0x1}, {}, {0x4}, {0x5, 0x1}, {0x1}, {}, {0x0, 0x1}, {0x4}, {0x4}, {0x3, 0x1}, {0x1}, {0x3, 0x1}, {0x0, 0xc81d88bd138eaf89}, {0x2}, {0x2}, {0x5}, {0x5, 0x1}, {0x2}, {0x2, 0x1}, {0x3, 0x1}, {0x4, 0x1}, {}, {}, {0x3, 0x1}, {0x1}, {0x3}, {0x0, 0x1}, {0x5, 0x1}, {0x2, 0x1}]}}]}, {0x9d, 0x6, "da5b604da59f3f6750e85c9075a023203d8a1f0bd177b32e3dcab3b3ecbc822005e98b069bcbfde15c2b2785a9638795dd963c14c97099b9984a0c6abb9376a00e9762f3177cdb2d1e70d0302dece8c81518e753ef437eb5c7ddaeea98c05a8ba7927ef6706344ec481b36a3c03b1e2a6e0af9566fbe5a7e75f3dbece8621af62356a6c5f59dd067d1c04eb6a4f6350c5c8c33f7c77028a4b6"}, {0xc}, {0xc, 0x8, {0x3, 0x3}}}}, @m_mpls={0x8c, 0x15, 0x0, 0x0, {{0x9}, {0x24, 0x2, 0x0, 0x1, [@TCA_MPLS_TTL={0x5, 0x7, 0xab}, @TCA_MPLS_BOS={0x5}, @TCA_MPLS_TTL={0x5, 0x7, 0x6}, @TCA_MPLS_PROTO={0x6, 0x4, 0x86dd}]}, {0x3e, 0x6, "84565cee71a295f51c1e39136126565a26ef7fc25035c01a1378cb836517d1398e9413bd92f609ac62c7810fc0e95d2c031e43139fd653f1673c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x4, 0x6}}}}]}]}, 0x6120}, 0x1, 0x0, 0x0, 0x40}, 0x20000000) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000006400)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) ioctl$CAPI_GET_PROFILE(r1, 0xc0404309, &(0x7f0000006440)=0x7fff) (async) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x14, &(0x7f0000006480)=@assoc_value={0x0}, &(0x7f00000064c0)=0x8) (async) sendto(r0, &(0x7f0000006500)="5cae40ea5d7c37f50eddd1f8c858b3a0d0cbb04069da964cd37815ddcf57cf5e853038c44d571cc6f272ce1e670229b4dd0db7605b9308", 0x37, 0x0, &(0x7f0000006540)=@pppoe={0x18, 0x0, {0x2, @local, 'ipvlan0\x00'}}, 0x80) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f00000065c0), 0x2c0000, 0x0) sendmsg$nl_route(r3, &(0x7f00000066c0)={&(0x7f0000006600)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f0000006680)={&(0x7f0000006640)=@ipmr_newroute={0x38, 0x18, 0x20, 0x70bd28, 0x25dfdbfb, {0x80, 0x0, 0x80, 0xda, 0xff, 0x1, 0xc8, 0x4, 0x1700}, [@RTA_MULTIPATH={0xc, 0x9, {0x101, 0x3, 0xbc}}, @RTA_OIF={0x8}, @RTA_GATEWAY={0x8, 0x5, @rand_addr=0x64010101}]}, 0x38}, 0x1, 0x0, 0x0, 0x4000080}, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_wireguard(r1, 0x8933, &(0x7f0000006700)={'wg0\x00', 0x0}) setsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000006740)=@assoc_value={r2, 0x8}, 0x8) (async, rerun: 64) ioctl$F2FS_IOC_GET_PIN_FILE(r0, 0x8004f50e, &(0x7f0000006780)) (async, rerun: 64) sendmsg$nl_route_sched(r1, &(0x7f00000068c0)={&(0x7f00000067c0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000006880)={&(0x7f0000006800)=@newqdisc={0x6c, 0x24, 0x10, 0x70bd26, 0x25dfdbfd, {0x0, 0x0, 0x0, r4, {0x0, 0xd}, {0xb}, {0xfff2, 0x9}}, [@qdisc_kind_options=@q_red={{0x8}, {0x38, 0x2, [@TCA_RED_MAX_P={0x8, 0x3, 0x3}, @TCA_RED_PARMS={0x14, 0x1, {0x1, 0x80000001, 0x7, 0x1e, 0x4, 0xf, 0x1}}, @TCA_RED_FLAGS={0xc, 0x4, {0x0, 0x8}}, @TCA_RED_FLAGS={0xc, 0x4, {0x0, 0xb}}]}}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x80000000}]}, 0x6c}, 0x1, 0x0, 0x0, 0x4000900}, 0x40000) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x1f, &(0x7f0000006900)={r2, @in6={{0xa, 0x4e21, 0x7fe0, @mcast1, 0xb6c}}, 0x1, 0x7be5}, 0x90) (async) connect(r1, &(0x7f00000069c0)=@ieee802154={0x24, @none={0x0, 0xffff}}, 0x80) r5 = syz_open_procfs(0x0, &(0x7f0000006a40)='net/packet\x00') sendmsg$SMC_PNETID_GET(r5, &(0x7f0000006b80)={&(0x7f0000006a80)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000006b40)={&(0x7f0000006ac0)={0x58, 0x0, 0x100, 0x70bd2a, 0x25dfdbfb, {}, [@SMC_PNETID_ETHNAME={0x14, 0x2, 'nicvf0\x00'}, @SMC_PNETID_IBNAME={0x9, 0x3, 'syz2\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz0\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}]}, 0x58}, 0x1, 0x0, 0x0, 0x4000}, 0x4004000) (async, rerun: 64) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r5, 0xc018937d, &(0x7f0000006bc0)={{0x1, 0x1, 0x18, r3, {0x3}}, './file0\x00'}) (rerun: 64) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r6, 0x84, 0x9, &(0x7f0000006c00)={r2, @in={{0x2, 0x4e22, @multicast2}}, 0x40, 0x1, 0x80000001, 0x5, 0x837529ce1b0d02d8, 0x2, 0x8}, 0x9c) setxattr$trusted_overlay_nlink(&(0x7f0000006cc0)='./file0\x00', &(0x7f0000006d00), &(0x7f0000006d40)={'U-', 0x1}, 0x16, 0x3) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000681300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) recvmmsg(r0, &(0x7f0000002cc0)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000040)=@l2tp={0x2, 0x0, @private}, 0x80, &(0x7f00000001c0)=[{&(0x7f00000000c0)=""/144, 0x90}, {&(0x7f0000000180)=""/5, 0x5}], 0x2, &(0x7f0000000200)=""/248, 0xf8}}, {{&(0x7f0000000300)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @private2}}}, 0x80, &(0x7f0000000500)=[{&(0x7f0000000380)=""/54, 0x36}, {&(0x7f00000003c0)=""/105, 0x69}, {&(0x7f0000000440)=""/63, 0x3f}, {&(0x7f0000000480)=""/123, 0x7b}, {&(0x7f00000006c0)=""/232, 0xe8}, {&(0x7f00000005c0)=""/160, 0xa0}, {&(0x7f00000007c0)=""/176, 0xb0}], 0x7, &(0x7f0000000880)=""/240, 0xf0}, 0x1f}, {{&(0x7f0000000980)=@pptp={0x18, 0x2, {0x0, @empty}}, 0x80, &(0x7f0000000a40)=[{&(0x7f0000000a00)=""/30, 0x1e}], 0x1}, 0x3ff}, {{0x0, 0x0, &(0x7f0000000c40)=[{&(0x7f0000000a80)=""/243, 0xf3}, {&(0x7f0000000b80)=""/153, 0x99}], 0x2, &(0x7f0000000c80)=""/58, 0x3a}}, {{&(0x7f0000000cc0)=@nfc, 0x80, &(0x7f0000002040)=[{&(0x7f0000000d40)=""/36, 0x24}, {&(0x7f0000000d80)=""/183, 0xb7}, {&(0x7f0000000e40)=""/77, 0x4d}, {&(0x7f0000000ec0)=""/4096, 0x1000}, {&(0x7f0000001ec0)=""/228, 0xe4}, {&(0x7f0000001fc0)=""/75, 0x4b}], 0x6}, 0x8c000000}, {{&(0x7f00000020c0)=@ieee802154={0x24, @long}, 0x80, &(0x7f0000002180)=[{&(0x7f0000002140)=""/24, 0x18}], 0x1, &(0x7f00000021c0)=""/208, 0xd0}, 0x1}, {{&(0x7f00000022c0)=@generic, 0x80, &(0x7f00000032c0)=[{&(0x7f0000002340)=""/16, 0x10}, {&(0x7f0000002380)=""/159, 0x9f}, {&(0x7f0000002440)=""/59, 0x3b}, {&(0x7f0000002f00)=""/221, 0xdd}, {&(0x7f0000003000)=""/227, 0xe3}, {&(0x7f0000003100)=""/192, 0xc0}, {&(0x7f00000031c0)=""/45, 0x2d}, {&(0x7f0000003200)=""/188, 0xbc}], 0x8}, 0x3ff}, {{&(0x7f00000024c0)=@vsock={0x28, 0x0, 0x0, @local}, 0x80, &(0x7f0000002b80)=[{&(0x7f0000002540)=""/96, 0x60}, {&(0x7f00000025c0)=""/96, 0x60}, {&(0x7f0000002640)=""/242, 0xf2}, {&(0x7f0000002740)=""/87, 0x57}, {&(0x7f00000027c0)=""/104, 0x68}, {&(0x7f0000002840)=""/171, 0xab}, {&(0x7f0000002900)=""/195, 0xc3}, {&(0x7f0000002a00)=""/138, 0x8a}, {&(0x7f0000002ac0)=""/139, 0x8b}], 0x9, &(0x7f0000002c40)=""/98, 0x62}, 0xffffffff}], 0x9, 0x20a0, 0x0) (async) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000680)={&(0x7f0000004280)=ANY=[@ANYBLOB="14000000", @ANYRES16=0x0, @ANYBLOB="7d0b000000d47bca08dd1c46702e0e0000000034000000"], 0x14}}, 0x0) r2 = accept4$nfc_llcp(r0, &(0x7f0000003980), &(0x7f0000003a00)=0x60, 0x80800) sendmmsg(r1, &(0x7f0000004080)=[{{&(0x7f0000003340)=@ethernet={0x1, @local}, 0x80, &(0x7f0000002480)=[{&(0x7f00000033c0)="80b94da375fac598dae8d9698c30e7deb2ca2eb87cb24119690c3d5c9ff207a089ca069609692e005540fa3186c7155c73a10bf81ab9d048a316b48cca9741243060febce9dfbb31e91b84b958a5ef1a1b0f69b4cf8976275a8daafe6b4481ad83b4861a74cd33000b11c0938ba8c54a9c994e5a5ad2960f1c7c52f344adf449507c519d599a205eaa9dd0a8a600a99a2dfc2c7e1b1664df9f7ecbed2c2688fd28685dff7271b6fb7539705bbe5f10ab6f51261fa354d630918bc81beaac667aaed34f33e50517b3", 0xc8}, {&(0x7f00000034c0)="5c4c7973b7a522a5807c81b9610f410fc0d07c5df771471c31477922cc095b84956a0dc2bbdd77a18019622fec57a35e330ad97d83b0d5c0183b0d847fc7c12b26c65ea95a647e8efd3b544c8c7145f6a5586e74bbfa6a862861ea0ac9b6761f014b65e6431089dc2ff62f7fd2d2eb06334e9779169a5f24efb23b", 0x7b}], 0x2, &(0x7f0000003540)=[{0x28, 0x10f, 0x5, "ec4b19c0d65fdb8cec8ea3e81e896371f99b1e8fe5"}, {0xb8, 0x11, 0x3, "2fb73fde8c9d3735892a4eb1e872911837e64261ac3724ce2dc2d2529dcbfaa952d18a130aebbd11ea4c10c52da9da86d8476df2ed3f036a71289bc6ded8a362b5ce490d003957851d2cbfe3ce4863666e73ebfa8881457608f8677c79c5556fff1375abfff2576a60bf5e779b8b420014753de423264f6633993ab9b9c1d68157ece4e65f98089645ccde14b4c5fbe316351ec4cc3a4c5a24bff010cbff9908a97f8044f8304f76"}, {0x20, 0x104, 0x84, "f78919d62e20210867ecaa1a6cd7"}, {0x110, 0x10e, 0x7, "12454a1519ed9a1b140ee1a6d598c58d92682c0e83dced7a1fd17cca4fdd6cd90b1a8ae611b19abe3845181c76819be9b71bedabdd38f8f2713d2575e61c1c81373f38216edfe1dd326610f2630d5b139c1052a013aa4f4dd95bf75a1377ce2cf8663cb14544f40642cb42f2ffdf48b8433aa7d1e31948cdae68dd6c1c73628c297d299b7c0e0b4a1819a9d4842d6ae1b1c0c9468209a4fe976a4da55bc5ca41a70d59ae950aaa8f281207bf0812c8886f7e308ba1c4c2a51b5460bfc3b7e1293380c95d9ae1d5d278f1042befbf24172202ba89f4f55dc515760e6c568b7ad3e83b8e8498f70ac7cad2d15f7708f2bd8a13e03f1a6f06cb2897ff9d7f"}, {0x58, 0x101, 0x3fd, "30322584b5b08b9e935fac4405453d7a4818bb2359489b4daaa43a9203a3aea64598da73aa41ea670856de339d23e0b4dd9e8790327c056fe07dd8b6a6ee6f117389"}, {0xc8, 0x118, 0xfc, "cde466b5a76c79a8bb388cc28d03a44f5745026c0c4532354541e5b155711ba4cf922e5ae6da1e68ac2a3cd6c660c94e2953314659ffd3a40abbe0bc08271a4641d443685abdf6bf821997032bf2b92e722c5a3ca04227c0739479976db881c8bc7a7423ccecb1ec4e60b7ec2279e1c82d1743ef279e9b5a43de01cad75ed3395aefa4b0e7f938228a8695eeb411763ad3ce0dde8ae51ce0ead2fcb03a848a4e7428893149fa024bf3d20050c56341bf6cff"}, {0x48, 0x116, 0x0, "9ab00e5668d10f0f46da4ab094a1d3b123787f52a0613938298723f25044cc2be832c35219338c4ae9280e8fd34f256965"}, {0x10, 0x117}, {0x98, 0x10d, 0x5, "362835825e6f273feaa87c4f553b5bc6dbc50c8a3f31063a23649b466af11e6f29c1cdbce9b20b4060cccbc3070cdadc15ab4ad067750820c818e8b3fe59bbc06679a62d751b55dc49f4012ae709f878a7e435cb68190a5c936c3716d5420608cd24b44f171153b8dad02addb1ac880a88bc6622ac356a30880888d03cc1af7696f5b00c9a002783"}], 0x420}}, {{&(0x7f0000003a40)=@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e24, @broadcast}, 0x1, 0x2, 0x3}}, 0x80, &(0x7f0000004000)=[{&(0x7f0000003ac0)="6f376a09da5410cc7c85e1ce59d63bfe06fe61d2965b5ca618d64467166fa68fb402f6da8bd250c3e03d8b1cec04ecc1f21acc1ae72f6483d5dc88df910e717ea7c7b1a3e32598aa4d7272a8b8684eb9370ffac5d34954c0559b79d50ff48130e388cc53e5c89e2d490d9fc5b5c29c41672a9d7349b7aaff612aed8ebab333db02e47b770145f09f5aedc8cc33ef050156a2c0b3", 0x94}, {&(0x7f0000003b80)="a36a99d6dcdf5d8ca14410d542e955fa3bba25994c0b3a30fa824c57949d8c259cf9557c1b38e2a2414115e1956d5fcee8998aea03a7dc4eafdf3f0ae3647d10c5612cabf296dcf3372bd5e7336c4e7acf29ed28a12d7abcf5601023f1", 0x5d}, {&(0x7f0000003c00)="63c80dea94eba9fc36eb4810eb715e2405d45153fd1eb0871f30ca7b490ba52b6fa0b6e0d0730abd35362989e76884106e1c53aa1275f4fa8cac95ecc9d73c0dd44d2fb1b4a61d4ee6c43d0d9e1b38f4c8c4944988a163c7c8bf7e213c5615bf48b9a3da44b7c7af2804e7a39c99856ccd3fa73bda0f481d0854d6d8112010b0d1f19b26d351ffacc44ff6feec98b21c80bc1824fd63ba5b22", 0x99}, {&(0x7f0000003cc0)="edbf35449186bf75fef5687163707ee2aa5bbfcfb2dec660b1a1ece8ccd34b4bf9a6849b642cd994c30dd8f71aac8e8cb861694f2da9d33291c682b30ab74936a9ad5612cc42544a517d4d09c3cb341b54d866a8f7ce59a453d6cca85c5036327aa0a465501130f5f6c5e2c9d307b4c9fec12c6d4b0f5018735051", 0x7b}, {&(0x7f0000003d40)="567999f4fa2e60c683c8e9f2cebc2220574d3c52a8ec10d9be085469ec3fd39950fdd53745f5ce239226e82f272e4a3c091ee5f68183530367a638e4f057aaa84ff87fa0a72b7eeeab6f09e923f837002a88fc9067e13cce9a72341af2c6b52665ba3af7f52b85a4840e52", 0x6b}, {&(0x7f0000003dc0)="d20a4bb064e470d4900e7db812d83dc09ede1b11e51bfd36f25d45f8b50bd53802ea0a835f1257e09104f9672e674322a9736b43b5f4b080244e579c70a5231ccb54a09f30c145b2e571cc9e4a85aa195e454901d56f0b69b0579762ed45fa5eb6ee32c137ef9ef56db90a217d40824f60668be85fd435091291a43584b0636dec6c26781bd09adf1f76ab7c0030f6dd4c205e48678ae7c867a18b6b5055f3930dbe4debe6f8c2e2c8eab1876fc6417e9b612a3bb2ba626e4e3d84b09f315d246ba880846924b2141ebc4c335462eb1d8f5a60fa1f7590e4", 0xd8}, {&(0x7f0000003ec0)="fb91e2e02642f2b93b6adec5acffd042a98dba704228017b7393a1bbd682f2ae6be53fd827fddeb04d23bf076448d94f97834744428468f71588a1f14522bfc0315f30262485dcecba2c1d10c5fb87a6cd9919d39df7810b46d974d2a09935de3d1ff6166b26911607dc3a617ec0cb8932acb8c32b71a12db1bf417117a481989ff049326e6955433699888c8c25c87b94c5a7a01cb796691f806d332f7b2d2f0916e6b2e5c0df4836441ea3e8e7d8f156d770982f4138b81f1fa06bff0bf90b6e8ad928108adaac16a9d1d914723bd41d32d309fd4a57f4f6983c0b8f241d350204bdd00549d07d7f1318625a", 0xed}, {&(0x7f0000003fc0)}], 0x8}}], 0x2, 0x90) (async) r3 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r3, 0x0) (async) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000004100), r0) sendmsg$NL80211_CMD_SET_INTERFACE(r3, &(0x7f0000004240)={&(0x7f0000003fc0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000004200)={&(0x7f0000004140)={0xb4, r4, 0x300, 0x70bd28, 0x25dfdbfc, {{}, {@void, @val={0xc, 0x99, {0x5, 0x4a}}}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0xb}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_4ADDR={0x5, 0x53, 0x1}, @mon_options=[@NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @broadcast}, @NL80211_ATTR_MU_MIMO_GROUP_DATA={0x1c, 0xe7, "d35208a47f0716500f7e41a4cf779e751b688c57db382b20"}, @NL80211_ATTR_MU_MIMO_GROUP_DATA={0x1c, 0xe7, "96d6f9ed89fe9395b41b56c05a21bd3bcaa57792a9841fed"}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa}]]}, 0xb4}, 0x1, 0x0, 0x0, 0x4004000}, 0x4000000) 00:13:50 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x8933, &(0x7f0000000040)) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000000eec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900006c1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: r0 = accept(0xffffffffffffffff, &(0x7f0000000000)=@in={0x2, 0x0, @dev}, &(0x7f0000000080)=0x80) ioctl$AUTOFS_IOC_EXPIRE(r0, 0x810c9365, &(0x7f00000000c0)={{0x8000, 0x22e581e9}, 0x100, './file0\x00'}) (async) sendmsg$nl_route_sched(r0, &(0x7f00000063c0)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000006380)={&(0x7f0000000240)=@newtaction={0x6120, 0x30, 0x800, 0x70bd27, 0x25dfdbfd, {}, [{0x238, 0x1, [@m_gact={0x8c, 0x5, 0x0, 0x0, {{0x9}, {0x1c, 0x2, 0x0, 0x1, [@TCA_GACT_PROB={0xc, 0x3, {0x1, 0x1126, 0x20000000}}, @TCA_GACT_PROB={0xc, 0x3, {0x97428335ae4399cc, 0x585, 0x419be48debe8099a}}]}, {0x47, 0x6, "929b0413d8c56a2c01336cce6378cbbbaa58932a4c618bf55529ec20b9c985c2d2a84900465085f42bf21cc9796b4918804d7e1ad8c12f0a45a13ce297666fc4362a49"}, {0xc}, {0xc, 0x8, {0x3, 0x2}}}}, @m_ipt={0x58, 0x9, 0x0, 0x0, {{0x8}, {0x30, 0x2, 0x0, 0x1, [@TCA_IPT_HOOK={0x8, 0x2, 0x4}, @TCA_IPT_TABLE={0x24, 0x1, 'filter\x00'}]}, {0x4}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x3, 0x3}}}}, @m_mpls={0x84, 0xb, 0x0, 0x0, {{0x9}, {0x28, 0x2, 0x0, 0x1, [@TCA_MPLS_PARMS={0x1c, 0x2, {{0x5, 0x6, 0x5, 0xfffffffe, 0x1}, 0x3}}, @TCA_MPLS_LABEL={0x8, 0x5, 0xa728}]}, {0x34, 0x6, "11e201f10a3c15e57b778c91f2f640f4f3a524fb7cc49f3e053bcbd98000e421bb8c1a12ba9487d00acf8292a1db5b9f"}, {0xc}, {0xc, 0x8, {0x1, 0x1}}}}, @m_ipt={0xcc, 0x9, 0x0, 0x0, {{0x8}, {0x24, 0x2, 0x0, 0x1, [@TCA_IPT_INDEX={0x8, 0x3, 0x6}, @TCA_IPT_HOOK={0x8}, @TCA_IPT_INDEX={0x8, 0x3, 0x9}, @TCA_IPT_HOOK={0x8}]}, {0x84, 0x6, "b06691ace8cb4da1538239d3c27f1d280cdb47e20979c3229e922834908d9bef83ad922196714f3de943054c799e870ba0772ec922199936ac9ba3915a2b1667712215177503515e2cd3b71ab582dab443311b762a1714eef12d4efb3974ad0bbf2859ae07775c77527e6d73687e4e2ffdabde792d16f365f88b35f886f8c0f0"}, {0xc, 0x7, {0x0, 0x1}}, {0xc, 0x8, {0x1, 0x1}}}}]}, {0x2f8c, 0x1, [@m_mpls={0x88, 0x1a, 0x0, 0x0, {{0x9}, {0x58, 0x2, 0x0, 0x1, [@TCA_MPLS_TTL={0x5}, @TCA_MPLS_TC={0x5, 0x6, 0x2}, @TCA_MPLS_PROTO={0x6, 0x4, 0x3}, @TCA_MPLS_BOS={0x5}, @TCA_MPLS_BOS={0x5, 0x8, 0x1}, @TCA_MPLS_PROTO={0x6, 0x4, 0xa01}, @TCA_MPLS_PARMS={0x1c, 0x2, {{0x0, 0x80000000, 0x1, 0x0, 0x401}, 0x4}}, @TCA_MPLS_LABEL={0x8, 0x5, 0x75075}]}, {0x8, 0x6, "68cbd24b"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x1, 0x2}}}}, @m_sample={0xfc, 0x17, 0x0, 0x0, {{0xb}, {0x64, 0x2, 0x0, 0x1, [@TCA_SAMPLE_RATE={0x8, 0x3, 0x6}, @TCA_SAMPLE_RATE={0x8, 0x3, 0x4}, @TCA_SAMPLE_RATE={0x8, 0x3, 0xfffffffe}, @TCA_SAMPLE_TRUNC_SIZE={0x8, 0x4, 0x1}, @TCA_SAMPLE_PARMS={0x18, 0x2, {0x80000001, 0x2, 0x4, 0x3f, 0x1}}, @TCA_SAMPLE_TRUNC_SIZE={0x8, 0x4, 0xfffffff7}, @TCA_SAMPLE_PARMS={0x18, 0x2, {0x200, 0x2, 0x5, 0x2}}, @TCA_SAMPLE_PSAMPLE_GROUP={0x8}]}, {0x6f, 0x6, "68c7dfe273c90198820c39a19bd9e086cfd4fcb9ed7795bb766bed7ee48dd95dd09a51c5e2a15c23729feac41f350767650a37051fe1d42e89f16d05e28dabfb73d0933e7c512563aaf2e205ec1b3851dbb090f5f6be2ed5b632ccb507f3a1a4d7f7e554862ec8219fc4a2"}, {0xc}, {0xc, 0x8, {0x0, 0x1}}}}, @m_skbmod={0xd0, 0x0, 0x0, 0x0, {{0xb}, {0x50, 0x2, 0x0, 0x1, [@TCA_SKBMOD_PARMS={0x24, 0x2, {{0x6, 0x40, 0x20000000, 0x3, 0x5}, 0x4}}, @TCA_SKBMOD_DMAC={0xa, 0x3, @remote}, @TCA_SKBMOD_ETYPE={0x6, 0x5, 0x8}, @TCA_SKBMOD_ETYPE={0x6, 0x5, 0x7f}, @TCA_SKBMOD_DMAC={0xa, 0x3, @multicast}]}, {0x56, 0x6, "392c4fc0465d214114a1459b0bc50e921f8f59808e0ecdc504aab1f1de45118281b411284bbd1aa02fceeb634fb5f086d48ccb5f4e7bb810cdb5da987fbb45dafefffa1e7acc2af30b53b769053651530f25"}, {0xc}, {0xc, 0x8, {0x2}}}}, @m_pedit={0x2d34, 0xd, 0x0, 0x0, {{0xa}, {0x2cc8, 0x2, 0x0, 0x1, [@TCA_PEDIT_PARMS_EX={0xe80, 0x4, {{{0x6, 0xbd8d, 0x1, 0x1, 0x4}, 0x7, 0x40, [{0x6, 0x73c, 0xfffffffd, 0x6, 0x7, 0x1ff}, {0x81, 0x5, 0x0, 0xfb9718ae, 0x0, 0x4}, {0xff, 0x5, 0xf0, 0xffffffff, 0x0, 0x8}, {0xffffff89, 0x40, 0x2, 0xb8aa, 0x6, 0x4}]}, [{0x8000, 0x10000, 0x80000000, 0x0, 0x80000000}, {0x1, 0x8, 0x7, 0x5, 0x1f, 0xfb3}, {0x1f, 0x4, 0x80000000, 0x1ff, 0x4, 0x1}, {0x401, 0x5, 0xfffffff8, 0x0, 0x2, 0xaca1}, {0x8, 0x5, 0x20, 0xd7ff, 0x6, 0x8}, {0x3e4, 0x5, 0x80000001, 0x4, 0x81, 0x9}, {0x40, 0x9, 0x1, 0x5, 0x1, 0x9}, {0x40, 0x8, 0x0, 0x0, 0x9, 0x968b}, {0x57a, 0x80000000, 0x3f, 0x7f, 0x86b, 0x7fffffff}, {0xfffffc01, 0x2, 0x0, 0x4, 0x57, 0x401}, {0xfff, 0x8, 0x318, 0xfff, 0x8000, 0x9}, {0x1000, 0x9, 0x1, 0x9, 0xffffffff, 0x5e41}, {0x3, 0x4, 0x0, 0x8, 0x5, 0x7ff}, {0x77, 0x4, 0x3ff, 0x9, 0x40, 0x1}, {0x7, 0xdbe, 0x45d, 0x28, 0x8, 0x4}, {0x5, 0xab0, 0x80, 0x401, 0x3f, 0x9}, {0x17, 0x0, 0x80, 0x4, 0xe5, 0x7}, {0x11, 0x2, 0x8000, 0x7fff, 0x3fc62f38, 0x137}, {0x1, 0x400, 0x80000000, 0x6, 0x80000001, 0xffffffe1}, {0x6, 0x10001, 0x1000, 0x8, 0x3, 0x9}, {0x3, 0x0, 0x400, 0x5, 0x0, 0xba37}, {0x1, 0x2, 0x6, 0x100, 0x40, 0x531e}, {0x50000, 0x1, 0x800, 0x5, 0x52, 0x8000}, {0x2, 0x7a, 0x0, 0x6, 0x3, 0x128625f9}, {0x2, 0x1f, 0x100, 0x8ab0, 0x6, 0x6f6}, {0x80, 0x1f, 0x8, 0x7f, 0x8, 0x4}, {0x9, 0x100, 0xdbbf, 0x754, 0x2, 0x40}, {0x4, 0x8, 0x3, 0x11, 0x4, 0x6}, {0x0, 0x9, 0x6, 0x2, 0x1, 0x5}, {0x3, 0x10001, 0x7, 0x1, 0x9, 0x4}, {0x6f, 0x5, 0x800, 0x2, 0x800, 0xcd9d}, {0x101, 0x3, 0x100, 0x2, 0x7, 0x8}, {0x4, 0x9, 0x6, 0x5, 0xfffff6e6, 0xab}, {0x200, 0x3, 0x101, 0xffff, 0x0, 0x1ff}, {0x2, 0x1, 0x3, 0x0, 0x6, 0x200}, {0x3, 0x0, 0x6, 0x6, 0x1, 0x4eb}, {0x1, 0x9b, 0x3, 0x55e, 0x0, 0x80}, {0x0, 0x400, 0x8, 0xc4, 0x222, 0x2}, {0x33, 0x6, 0x15d, 0x0, 0x3, 0x4}, {0x1, 0xbef7, 0x6, 0xf, 0x7, 0x4}, {0x5, 0x1965c0, 0x1, 0x5, 0x4, 0x101}, {0x8, 0x1, 0x1, 0x0, 0x80000000, 0x3}, {0x7fffffff, 0x0, 0x3, 0xc7, 0x16, 0x4}, {0x3, 0x4, 0x1, 0x3, 0x0, 0xa3}, {0x1, 0x7f, 0x5, 0x81, 0x6, 0xa}, {0xd92, 0x8000, 0x3, 0x7f, 0x5, 0x5}, {0x6, 0x2, 0x3, 0x2, 0x1, 0x80000000}, {0x3, 0x2, 0x2, 0x9, 0xec8, 0xb1}, {0x7, 0x6, 0x1f, 0x5, 0x81, 0x7ff}, {0xbd77, 0xffff, 0x8, 0x20, 0x8, 0x5}, {0x4, 0x9, 0xfffff000, 0x0, 0x1, 0x9}, {0xffffff7f, 0x80, 0x20, 0x9, 0x200, 0x9}, {0x1d7, 0x4, 0x4, 0xec76, 0x8, 0x6}, {0x9a00000, 0x9, 0xcaf, 0x6, 0x96, 0x3}, {0x8, 0x6c8a, 0x3f, 0x8, 0xffffffff, 0x6}, {0x1, 0x8, 0x14, 0x11d, 0x0, 0x40}, {0x0, 0x74b, 0x7fff, 0x3ff, 0x7, 0x71f}, {0x0, 0x3, 0x6, 0xffff, 0x6, 0x3800000}, {0x9, 0x9, 0x5, 0x1, 0x7, 0x8}, {0x929, 0x3, 0x1, 0x1, 0x2, 0x4}, {0x8001, 0x9, 0xfeb, 0x8000, 0x9834, 0xfffffff8}, {0x0, 0x8, 0x67, 0x1, 0x0, 0x1f}, {0x3f, 0x6, 0x80, 0x2c, 0x7, 0xc47}, {0x1, 0x8, 0x8, 0x5a8, 0x1000, 0x7}, {0xfffffff4, 0x4aa, 0x4, 0x1f, 0x1, 0x6}, {0xfffffffb, 0x4, 0x10a49e37, 0xfffffd2f, 0xc1d}, {0x7, 0x1, 0x7f, 0x9, 0x3f, 0x401}, {0x400, 0x4, 0xfffffe00, 0x0, 0x389}, {0x1, 0x81, 0x0, 0x5920, 0x7fff, 0x4}, {0x0, 0x0, 0x7, 0x23cd, 0x8, 0x372}, {0x0, 0xffffff01, 0x62, 0x0, 0x6, 0x3}, {0xffff, 0x7, 0x7fff, 0x1c, 0x339, 0xffff497d}, {0x4, 0x9, 0xc000, 0x6, 0x3f, 0xffff}, {0x1ff, 0x0, 0x3643, 0x3, 0x5, 0x2d}, {0x81, 0x20, 0x0, 0x9, 0x4, 0x80}, {0x6, 0xfffffffb, 0x3c53, 0x6, 0x6, 0x9}, {0x6, 0x7, 0x9, 0x400, 0xfffffffb, 0x10001}, {0xf0d, 0x40, 0x4, 0x2, 0x1ff, 0x800}, {0x2e, 0x100, 0x4, 0x3, 0x7ff, 0x10001}, {0x4, 0x0, 0x8000, 0x93, 0x66b, 0x1}, {0x1ff, 0x5, 0x1, 0x7a128ae9, 0x3, 0x36f4}, {0x5be, 0xc99, 0x3e, 0x7, 0x0, 0xb539}, {0x101, 0xfff, 0x200, 0x4, 0x0, 0xfff}, {0x7fffffff, 0x20, 0x200, 0x7f, 0x2ec9, 0x2}, {0x7f, 0x800, 0x5, 0x6, 0x80000000}, {0x8, 0x1, 0x9, 0x4, 0x6, 0x4}, {0x3f, 0x101ddc3, 0x43, 0x8, 0x1, 0x6}, {0x6, 0x4, 0x0, 0x4e, 0x3, 0x7e11}, {0x1, 0x2f00000, 0x4, 0x9c7e, 0x88, 0x6}, {0x84, 0x9, 0x2, 0x3, 0x9, 0xc3}, {0x8bed, 0x200000, 0x2, 0x6, 0xf5, 0x5}, {0x7f, 0x7, 0x9, 0x7f, 0x3, 0x7}, {0x400, 0xffff, 0x7, 0x7, 0x13e, 0x2}, {0x6, 0x4, 0x400, 0x0, 0x10000, 0x1d}, {0x9, 0xb19, 0x712, 0xfffffffc, 0xce1, 0x1}, {0x2ee2, 0x2, 0x8, 0x0, 0x28ed, 0x5f3}, {0x1, 0x5, 0x8001, 0x1, 0x2, 0x8}, {0x9, 0xffffffff, 0x3, 0x2, 0x4}, {0x40400000, 0x5, 0x0, 0x401, 0x1f, 0x3d50e193}, {0x20, 0x80000000, 0x80000001, 0x8, 0x7f, 0xfffffff7}, {0x8, 0x2, 0x97, 0xffffffff, 0x20, 0x5}, {0x80, 0x1, 0x3, 0xe80a, 0x6}, {0x76, 0x9, 0x6, 0xffff0000, 0x8001, 0x3}, {0x2, 0x5, 0x5, 0x7, 0x1, 0x40000000}, {0x5, 0x1, 0x7, 0x6, 0x7, 0x4}, {0x4, 0x20, 0x80000001, 0x2, 0xa3, 0x6}, {0x6, 0xff, 0x2, 0x80000000, 0x6}, {0x355, 0xa2ad, 0x1, 0x1, 0x400, 0xbe35}, {0x9, 0x94f, 0x0, 0x1, 0x4, 0x8}, {0x4, 0x401, 0x5, 0x2, 0x5}, {0x0, 0x80, 0x9, 0xfffffffa, 0x1}, {0x9, 0x1000, 0x7, 0xdc, 0xfffffff9, 0x1}, {0x5, 0x2, 0x0, 0x1, 0x6, 0x7}, {0x1, 0x1, 0x10001, 0x0, 0x0, 0xb2b}, {0x25e, 0xfffff3e5, 0x1, 0x9, 0x3ff, 0x81}, {0x80000001, 0xfffffffe, 0xa9d7, 0x9, 0x7b6, 0x80000000}, {0x5, 0x7ff, 0xce, 0x30000000, 0x5673, 0x1}, {0x80000000, 0x5, 0x51c6, 0x1, 0x7fffffff, 0x384}, {0x2, 0x8, 0x200, 0x7ff, 0x3f, 0x4}, {0xb6, 0x1f, 0xffff, 0x0, 0x0, 0x80000001}, {0x8, 0x8, 0x401, 0x8, 0x5, 0x10001}, {0x6, 0x400, 0x5, 0x2, 0xffff, 0x43a4}, {0x7, 0xe9b8, 0xca2, 0x1, 0x40, 0x610}, {0xb2, 0x7, 0x2, 0x1, 0x9, 0x3}, {0x7d, 0x9, 0xffffff7f, 0x62b, 0x3, 0xff}, {0x4, 0x10001, 0xed, 0x3f, 0x9, 0x3}, {0x8, 0x3f, 0x4, 0x2, 0x7ff, 0x57b5}, {0x1, 0x8000, 0x5, 0x100, 0x80, 0xffff}], [{0x2}, {0x0, 0x1}, {0x7, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x4}, {0x5, 0x1}, {0x90bd66f9c522c868, 0x1}, {}, {0x3}, {0x4}, {0x1}, {0x0, 0x1}, {0x5}, {0x4}, {0x2, 0x10d81a55dc0ec569}, {0x0, 0x1}, {0x1}, {0x3, 0x1}, {0x4}, {0x2, 0x1}, {0x3}, {0x3}, {0x2}, {0x5}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {}, {0x4, 0x1}, {}, {0x4, 0x1}, {0x1}, {}, {0x2}, {0x1, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {}, {0x0, 0x1}, {0x5}, {}, {0x4, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x4, 0x3}, {}, {0x5, 0x1}, {0x3}, {0x1, 0x1}, {0x3}, {0x2}, {0x1}, {}, {0x6, 0x1}, {0x721679c6fcc74d28}, {}, {0x1, 0x1}, {0x3}, {0x4, 0x1}, {0x4}, {0x2, 0x1}, {0x5}, {0x3}, {}, {0x1}, {0x1}, {0x4}, {}, {0x4, 0x1}, {0x3}, {0xc38945d01884aa03}, {0x1, 0xc099fae0cf0a69b7}, {0x2, 0x1}, {0x5, 0x1}, {0x2}, {0x4, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {0x5, 0x1}, {0x4}, {0x5, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {0x0, 0x1}, {0x3}, {0x3, 0x1}, {0x4, 0x1}, {0x3}, {0x2}, {0x2, 0x1}, {0x0, 0x1}, {0xba942459c3716eb0, 0x1}, {0x5}, {0x2, 0x1}, {0x1}, {0x4}, {0x1}, {0x5, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x1}, {}, {0x3, 0x1}, {0x3}, {0x4}, {0x5}, {}, {0x0, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {0x3}, {0x4}, {0x3, 0x1}, {0x3, 0x1}], 0x1}}, @TCA_PEDIT_PARMS={0xe38, 0x2, {{{0xffffffff, 0x3, 0x0, 0x64e1, 0x3f}, 0x0, 0xf9, [{0xff, 0x4, 0x4, 0x1870aac0, 0xd9ab, 0x8}]}, [{0x0, 0x61, 0x1, 0x80000000, 0x2, 0x101}, {0x1, 0x3, 0x1, 0x8, 0x1000, 0x4}, {0x8, 0x1, 0x8001, 0xffff7fff, 0xfff, 0xca8}, {0x4, 0x4, 0x1, 0x3, 0x10000, 0x2}, {0x3, 0x3, 0x9221, 0x6, 0x1f, 0x7}, {0x4, 0x0, 0x1, 0x17, 0x9c, 0xfffffff8}, {0x7, 0xd0b80000, 0x1, 0x7, 0x5e, 0x10e}, {0x99, 0x0, 0x3, 0x6, 0x7, 0x200}, {0x1, 0x2, 0x8, 0x0, 0x3}, {0x1, 0x2, 0x0, 0xffffff3a, 0x1f, 0x2}, {0x2, 0x3ff, 0x4f35, 0x618, 0x81, 0x9}, {0x3f, 0x8000, 0x80000000, 0x0, 0x1, 0x2}, {0x7, 0x1000, 0x4e, 0x54, 0x4, 0x6}, {0x9, 0x7, 0x3, 0x7fff, 0x10000, 0x98}, {0x4, 0x10001, 0x8000, 0xbf, 0x9}, {0xa7c, 0x7, 0x4, 0x6, 0xfffffffa, 0x6}, {0x4, 0x2, 0x7, 0x4, 0x104485c1, 0x7cd4}, {0x3, 0x6, 0x2, 0x8, 0xffffff7f, 0x36}, {0x9, 0x1, 0x0, 0x8, 0x400, 0x8000}, {0x6, 0x8, 0x6, 0x8, 0xc492, 0xa6f0}, {0x5, 0xf37, 0x4, 0x37fe, 0x2, 0x10000}, {0x56, 0x4, 0x7, 0x80000000, 0x62975411, 0x65ae2456}, {0x2, 0x4800000, 0x2, 0x6, 0x9, 0xffffff81}, {0x1, 0x1, 0xfffff800, 0x7217, 0x4, 0x72}, {0x0, 0x81, 0x9, 0x7, 0xffffffff, 0x7}, {0x9, 0x800, 0x8001, 0x5, 0xe3f8, 0xfff}, {0xfffffff7, 0x1, 0x400, 0xb3cb, 0x2, 0x3}, {0xff, 0x100, 0x2, 0x5, 0x1}, {0x3ff, 0x1000, 0x400, 0x337, 0x4, 0x5}, {0x2, 0x7ff, 0x6, 0x400, 0x7a, 0x7}, {0xffffffff, 0x5, 0x6, 0xff, 0x8000, 0x9}, {0x7f, 0x7, 0x6, 0x5, 0x6, 0x100}, {0x7, 0x9, 0xffffffc1, 0x3, 0x6, 0x8}, {0x8, 0x7, 0x80000001, 0x5, 0x5, 0x8}, {0x10000, 0x401, 0x5, 0x218c9534, 0x0, 0x1}, {0x9, 0x32, 0x5c000, 0x4, 0xa37, 0x3}, {0x80000000, 0x5, 0x7, 0x0, 0x81, 0x10000}, {0x7fff, 0x80, 0x3b3d, 0x400, 0x7, 0x5}, {0x9, 0x6, 0x8000, 0x3, 0x99fe, 0x2}, {0x5, 0x1, 0x9, 0x10001, 0x3f, 0x40}, {0x20, 0x8, 0x8, 0x7, 0x1, 0x100}, {0x0, 0x4, 0x200, 0x40, 0x7, 0x7f}, {0x0, 0x2, 0x6, 0x64, 0x10000, 0x3}, {0x7, 0x5, 0x4, 0x8, 0x3}, {0x0, 0x40, 0x9, 0xfffffff9, 0xe00000, 0xffffffff}, {0x100, 0x1, 0x2, 0x81, 0x6, 0x4}, {0x3, 0x80000000, 0xf8b9, 0x3, 0x70, 0x1ff}, {0x80000001, 0x7f, 0x9, 0xfffffff9, 0xc44, 0x5}, {0x4260, 0x2, 0xfffffffa, 0x2, 0x9, 0x7f}, {0x6, 0x3f, 0x5, 0x29e9, 0x1, 0x3}, {0xdc, 0x40, 0x4, 0x81, 0x1, 0x1000}, {0x10001, 0x0, 0x6, 0x1, 0x6, 0x8}, {0x9, 0x0, 0xffffff01, 0x2, 0x6, 0x7}, {0x590, 0x7, 0x2, 0xe739, 0x2, 0x736}, {0x10000, 0x3, 0xff, 0xaed5, 0x40, 0x5}, {0xfffff800, 0x100, 0x0, 0x1, 0x9, 0xcfde}, {0x9, 0x7fffffff, 0x3, 0x48a78171, 0x10001, 0x88cd}, {0x0, 0x4, 0xf4db, 0x4, 0x101, 0x299dc7ff}, {0x2000000, 0xff, 0x5, 0x3, 0x6, 0x84}, {0x28, 0x1f, 0x0, 0x80000000, 0x43, 0x1}, {0xa99, 0x4, 0x6, 0x101, 0x766, 0xbd}, {0x400, 0xffff2aa5, 0x5, 0x9, 0x0, 0x7}, {0x3, 0xfac, 0x7e90, 0x1, 0x6, 0x8000}, {0x6, 0xe5, 0x9, 0x8, 0x80000000, 0xffffffff}, {0xffffff48, 0x117, 0x4, 0x8, 0x4, 0x1ff}, {0xfffffffe, 0x6, 0x8000, 0x63, 0x8001, 0x200}, {0xffff8001, 0x4ff, 0x9, 0x9, 0x5, 0x1fc00}, {0x3f, 0x6, 0x5, 0x8001, 0x800, 0x4}, {0x7, 0x1, 0xfffffffe, 0x2, 0x5, 0x9}, {0x5, 0x0, 0xf2, 0xba0, 0x0, 0x7}, {0x8000, 0x8, 0x3, 0x1, 0x8, 0x10001}, {0x1, 0x6, 0x4, 0xffff, 0x1ff, 0x1}, {0xef, 0x7fff, 0x67a, 0x8, 0x3, 0x9}, {0x2, 0x233, 0x4, 0x0, 0x9, 0x3}, {0xfffffff9, 0x52, 0x463, 0x3, 0x1, 0x10001}, {0x648, 0x5, 0x657f, 0x0, 0x1}, {0x5, 0x7ff, 0x3, 0x9, 0xee, 0x9}, {0x8001, 0x60, 0xfffffffc, 0x1, 0x3, 0x15}, {0x808, 0x9, 0x6, 0x5, 0x9, 0x10000}, {0xc1f5238, 0x7ff, 0x3, 0x7fffffff, 0xfffffffc, 0x6}, {0x2, 0x401, 0xfffffffa, 0x33f6, 0x5, 0x9}, {0x2, 0xb67, 0x2, 0x1, 0x4, 0x7fff}, {0x1000, 0x3, 0x9, 0x7, 0xffffff80, 0x5}, {0x8, 0x3, 0x3ff, 0x3, 0x8, 0x1}, {0x80000001, 0x3ff, 0x5, 0x0, 0xffffffff, 0x3}, {0x6, 0x8, 0x10000, 0x7, 0x3, 0x70}, {0x3, 0x4, 0x2, 0xffffffff, 0x3d3, 0x6}, {0x1, 0x4, 0x8, 0x4, 0xc13, 0x53}, {0x1, 0x0, 0x2, 0x1, 0x4, 0x4}, {0x5, 0x7ff, 0xdc, 0x8, 0x80, 0x98}, {0x100, 0x1, 0x200, 0xa7, 0x4, 0x3ff}, {0x5, 0x1ca, 0x0, 0x8000, 0xae71, 0x3f}, {0x6, 0xff, 0x9, 0x8, 0x8001, 0x8}, {0xfffe0000, 0x5, 0x4, 0x3, 0x90, 0x6}, {0xe2, 0x620, 0x80000001, 0x0, 0x5, 0x80000000}, {0x7, 0x80, 0x1, 0x2, 0x0, 0xee}, {0xffffffff, 0x5, 0x5, 0x9, 0x80000001, 0x80}, {0x3, 0x14000000, 0x9, 0x8, 0xee, 0x5}, {0x1850f0ef, 0x0, 0xfe, 0x7, 0x3ffc0, 0x2}, {0x0, 0x7, 0x8, 0x80000001, 0x40, 0x1}, {0x80, 0x700000, 0x7, 0x2, 0x2, 0xfa}, {0x7, 0x0, 0x8, 0x6, 0x6}, {0x401, 0xff, 0x400, 0x6f27, 0xffffffff, 0xabec}, {0x200, 0xef70, 0x8000, 0x2, 0x0, 0x8}, {0x1, 0x4, 0xfffffff8, 0x5, 0x8, 0x6}, {0x4, 0xfffffffc, 0x8, 0x7, 0xfff}, {0x10000, 0x40, 0x3, 0x2, 0x20, 0x8}, {0x1, 0x8, 0x9, 0x172c, 0x1, 0x80}, {0x7, 0x6c, 0x5, 0x8001, 0x7, 0x8001}, {0xffffffff, 0xdb3, 0x0, 0x243, 0x7, 0x4}, {0x101, 0x0, 0xfffffffc, 0x4, 0x0, 0x80}, {0x5, 0x4, 0xffffffff, 0x7fffffff, 0x9, 0x7fff}, {0x32, 0xe18, 0x0, 0x1, 0x20, 0x3ff}, {0x20000, 0x7, 0x7, 0x7, 0x4, 0x4}, {0x3, 0x1f, 0x0, 0x1, 0x4, 0x80000000}, {0x8000, 0x2, 0xe1, 0x9, 0x20, 0x2}, {0x3, 0x2, 0x900, 0x5, 0x1, 0x3}, {0x7ff, 0x3, 0x4, 0x6, 0xffffffff, 0x7}, {0x5aaddf67, 0xca12575, 0x1, 0x1, 0x3, 0x7}, {0x3, 0xffff, 0x41e, 0x9ae, 0x80000000, 0x9}, {0x23, 0x3f, 0x6, 0x9d, 0x0, 0x5000000}, {0x5, 0x1ff, 0x1, 0x1, 0xffffffff, 0x9f6}, {0x1, 0x7, 0x6, 0x1, 0x100, 0xffffffff}, {0x1ff, 0x200, 0x2, 0x7fff, 0x40, 0x69}, {0x7, 0x7, 0xffffffff, 0x9ba, 0x6, 0x7fff}, {0x8, 0x7ff, 0x10000, 0x0, 0x8, 0x8}, {0x8, 0x1000, 0x5, 0x5, 0x2, 0x279}, {0x7, 0x0, 0x8, 0x375, 0x7, 0x1}], [{0x5}, {0x4}, {}, {0x5, 0xf66e242ff0e976ac}, {0x1}, {0x1, 0x1}, {0x4}, {}, {}, {0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x2}, {}, {0x3}, {0x4}, {0x1, 0x1}, {0x1b68c4d37cd138d1}, {0x2}, {0x5}, {0x3, 0x1}, {}, {0x4}, {0x2}, {0x1, 0x1}, {0x2}, {0x2, 0x1}, {0x2, 0x1}, {0x1}, {}, {0x3, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x5, 0xb5aeb08142c0227a}, {0x0, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5, 0x1}, {0x5, 0x1}, {}, {0x3, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x4, 0x1}, {0x2}, {0x3, 0x1}, {0x4}, {0x1, 0x1}, {0x5, 0x1}, {0x4}, {0x0, 0x3}, {0x3, 0x1}, {}, {0x5, 0x1}, {0x1, 0x1}, {0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {}, {0x2}, {0x4, 0x1}, {}, {0x1}, {0x4, 0x1}, {}, {0x2}, {0x2}, {0x2}, {}, {0x3, 0x1}, {0x1, 0x1}, {0x1}, {}, {0x3, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x5}, {0x2}, {0x0, 0x1}, {0x2}, {}, {0x4, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x7, 0x1}, {0x1, 0x1}, {0x3, 0x1}, {0x7, 0x1}, {}, {0x3}, {0x2, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {0x1}, {0x3}, {0x0, 0x1}, {0x3}, {0x5}, {0x1}, {0x1, 0x1}, {0x4}, {0x5, 0x1}, {}, {0x0, 0x1}, {0x5}, {0x5}, {0x2, 0x7279be85729da8e8}, {}, {}, {0x3, 0x1}, {0x5}, {0x4, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x4}, {0x0, 0x1}, {0x4}, {0x2}, {0x1}, {0x1}, {0x3}, {}, {}, {0x5, 0x1}]}}, @TCA_PEDIT_KEYS_EX={0xbc, 0x5, 0x0, 0x1, [{0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x34, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x54, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}]}]}, @TCA_PEDIT_KEYS_EX={0x40, 0x5, 0x0, 0x1, [{0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}]}, @TCA_PEDIT_KEYS_EX={0x18, 0x5, 0x0, 0x1, [{0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}]}]}, @TCA_PEDIT_PARMS={0xef8, 0x2, {{{0x9, 0x1000, 0x2, 0x481, 0x9}, 0x40, 0x0, [{0xfffff000, 0x1, 0x5, 0x9, 0x10001, 0xfffffc00}, {0x49a, 0x100, 0x7, 0x9, 0x1f, 0x5}, {0x4, 0x2, 0x110, 0x8, 0x80000001, 0x3}, {0x80000000, 0x977, 0x78, 0x95, 0x95, 0x3ff}, {0x9c, 0x0, 0x7e01, 0x3, 0x7fff, 0x80000001}, {0x7, 0x0, 0x8, 0x11, 0x0, 0x2}, {0x8, 0x2, 0x7, 0xabc3, 0x32, 0x9}, {0x7, 0x8, 0x5, 0x1, 0x7, 0x80000001}, {0x1f, 0x200, 0x8, 0x5, 0x9, 0xfffff430}]}, [{0xa1, 0x54da, 0x80, 0xb2c0, 0xd365, 0x5}, {0x5, 0x5, 0x7, 0x3, 0x8, 0x2}, {0x2, 0x0, 0x0, 0x7, 0x1, 0xfffffffb}, {0x0, 0x2, 0x8000, 0x0, 0x8ac, 0x800}, {0x6, 0x16, 0x80000000, 0x81, 0xba6}, {0x3, 0x8, 0x40, 0x8, 0x3f, 0x7}, {0x0, 0x9, 0xc06, 0x6, 0x400, 0x340}, {0xf, 0xddb, 0xffffffff, 0x6, 0x2, 0xe9}, {0xd4, 0x101, 0x4, 0x2, 0x8c4, 0xffff}, {0x8000, 0x4, 0x2, 0x5a, 0x8, 0x9}, {0x800, 0x1, 0x6, 0x7, 0x0, 0x9}, {0x4, 0xc00000, 0x5, 0x6, 0x20, 0x2}, {0xffffff01, 0x401, 0x69, 0x1, 0x4, 0x7f}, {0x2, 0x3ff, 0xfffffff8, 0x1, 0xfff, 0x80000001}, {0x4, 0x10000, 0x13, 0x7ff, 0x8000, 0xffffffff}, {0x4d81, 0x8001, 0x1, 0x4, 0x8000}, {0xcfb6, 0x4, 0x8, 0x8303, 0x6, 0xfff}, {0x80000001, 0xfffffffc, 0xfcf, 0x5, 0x1000, 0x9}, {0x9, 0x6, 0x1000, 0x7fffffff, 0x4, 0x3}, {0xcd10, 0x8c0, 0xa56a, 0x8, 0x400, 0x3ff}, {0x200, 0x696c, 0x4, 0xfffffffe, 0x4, 0xffffffff}, {0x1, 0x7f, 0x7, 0x8000, 0x4, 0x3f}, {0x101, 0xe5d, 0x4, 0x6, 0x7fffffff, 0x7fffffff}, {0x7fff, 0xb951, 0x8, 0x4, 0xb32e, 0x38}, {0x3, 0x6, 0x0, 0x4, 0x1a3b, 0x68d}, {0x7fffffff, 0x101, 0x9c6, 0x3, 0x2}, {0x5, 0x7, 0x4712, 0x1, 0x7f, 0x8}, {0xbcba, 0x40, 0x5, 0x4, 0x7175, 0x2}, {0xfff, 0x3249, 0x80, 0x1ff, 0xf471, 0x6}, {0x0, 0x3ff, 0xdec, 0x1f, 0x3f, 0x6}, {0x100, 0x4, 0x2, 0x3}, {0x2, 0x5, 0x5877, 0x3, 0xd14, 0x7}, {0xfffff8a7, 0x5, 0x0, 0x3ff, 0x10000, 0x5}, {0x2ef63ef2, 0x54, 0x0, 0x2, 0xfff, 0x6}, {0x1f, 0x5, 0x3273, 0x2, 0x9, 0x1000}, {0x8, 0x4, 0x4e2, 0x3, 0x4, 0x100}, {0xfffffa43, 0x0, 0xc23, 0x10000, 0xffff, 0xf43}, {0x0, 0x0, 0x7, 0x500000, 0x8, 0x6}, {0xcd, 0x1c000, 0x3ff, 0x5, 0xc000000, 0x6}, {0x100, 0xffff, 0x7fff, 0x6, 0x62c67b19, 0x4}, {0x572800, 0x6b, 0x9, 0x8903, 0x3f, 0xe1e7}, {0x5, 0x7fffffff, 0x5b, 0x7, 0x7, 0x6}, {0x4, 0xff, 0x7, 0x1, 0x7, 0x6}, {0x80000001, 0x8, 0x64c, 0x4, 0x6}, {0xd17b, 0x7, 0x7, 0x8, 0x0, 0x7ff}, {0xf0, 0x3f, 0x1, 0x6, 0x81, 0x40}, {0x9, 0x1, 0xffffffff, 0xfffffffc, 0x7fff, 0x482}, {0x3, 0xffffffff, 0x4, 0x80000001, 0x3, 0x1f}, {0xffff, 0x2, 0x3, 0x20, 0xfffff0c0, 0x3ff}, {0x1, 0x2, 0x100, 0x3, 0x8, 0x3ff}, {0x80, 0x7fff, 0x7, 0x40, 0x2, 0x8000}, {0xd4ee, 0x2, 0x8, 0x7, 0x0, 0x4}, {0x7fffffff, 0x7fff, 0x10001, 0x100, 0x8, 0x8000}, {0x6, 0x7fffffff, 0x6, 0xfffffff8, 0x7ff, 0x5}, {0xecd, 0x5, 0x0, 0x2792, 0x0, 0xffffffff}, {0x84, 0x7, 0xb2, 0x4b, 0xa3c, 0x2}, {0x1ff, 0x2e5d, 0x8, 0x1f, 0x3, 0x2}, {0xfffffffe, 0x6, 0x7, 0x3ff, 0x4, 0x5}, {0x200, 0x20, 0x8, 0x8, 0x7, 0x8}, {0xfff, 0x4e, 0xfffffc01, 0x8, 0x7fffffff, 0x10000}, {0x1ae9, 0x6, 0x6, 0x4, 0x3, 0x7ff}, {0x4, 0x9, 0x4, 0x90000000, 0x9, 0x73}, {0x2, 0x7f, 0x1, 0x3f, 0x101, 0xd99}, {0x62a, 0x9, 0x0, 0xfffffffa, 0x2e}, {0x4, 0x7, 0x196, 0x2, 0x1, 0x400}, {0x41a, 0x610, 0x1f, 0x80000000, 0x800, 0x9}, {0x9, 0x0, 0x1, 0x7, 0x0, 0x7fffffff}, {0xfffffc22, 0x40, 0x0, 0x703, 0x0, 0x7fffffff}, {0x4, 0x7, 0x6, 0xc4}, {0x7, 0x1ff, 0x9, 0x9, 0x4, 0x800}, {0xfed, 0x3ff, 0x3ff, 0x0, 0x7, 0x4}, {0x3, 0x7f, 0x401, 0x1, 0x85e7, 0x3}, {0x27, 0x8, 0x6, 0x4, 0x83a9, 0xee1}, {0x4, 0x0, 0xffffffff, 0x9, 0xd202, 0xffffffc1}, {0x6, 0xaa, 0x8, 0x7fffffff, 0x209d, 0xfffffffd}, {0x7fffffff, 0x3, 0x16ce94ac, 0xb6, 0x5, 0x6}, {0x63c4, 0x85f0, 0x1ff, 0x3, 0x1, 0x7fff}, {0x8001, 0x7fffffff, 0x2, 0x8001, 0x5f6e68de, 0x3}, {0x4, 0x789f, 0x8, 0xdc, 0x1000, 0x3}, {0x9, 0x5, 0x0, 0x80000000, 0x2, 0x421b}, {0x10000, 0x6, 0x1, 0x40, 0xfffffbff, 0x11}, {0x4, 0x7f, 0x8, 0x0, 0x9, 0x567c}, {0xff, 0x1, 0x3, 0x100}, {0x5, 0x1, 0x7fffffff, 0x4e, 0x63ea8000, 0x3}, {0x40, 0x7f, 0x9, 0xffffffc0, 0x5}, {0x6b, 0x5, 0x2, 0x9, 0xace8, 0x401}, {0x1000, 0x2, 0x3, 0xdc12, 0x9}, {0x8, 0x86b, 0x67, 0x5, 0x9, 0x10001}, {0x4, 0x3, 0x2, 0x1, 0x733a, 0x6}, {0x4, 0x9, 0x8, 0x4, 0xffffffff, 0x3f}, {0x3, 0x8, 0x4, 0x8, 0x5, 0x8}, {0x0, 0x1, 0x0, 0x5, 0x3eaa4dd7, 0x2}, {0x9, 0x5, 0x3, 0x8, 0x800, 0x1}, {0x80000000, 0x3, 0x4, 0x80000000, 0x7fff, 0x4}, {0x2, 0x5, 0xfff, 0x7, 0x239, 0x10}, {0x9, 0x6, 0x0, 0x4, 0x0, 0x7f}, {0x4, 0x7fffffff, 0x6, 0x4ed6, 0x2470bcce, 0x6}, {0xbe, 0x4, 0x8, 0x7, 0x8, 0x80000001}, {0x4, 0x8, 0xf3f, 0x5, 0x6, 0x7ff}, {0x8, 0x2, 0x6, 0x406b, 0x1f, 0x6}, {0x3f, 0x75c3, 0x3, 0x2, 0x1, 0xe70}, {0x6e67931, 0x2, 0x7fff, 0xdfab, 0x470, 0x20}, {0x8f6, 0x7fff, 0x2, 0x400, 0x2, 0x3}, {0x400, 0x1, 0x2000000, 0x0, 0x7fffffff, 0x9}, {0x2, 0x357a, 0x9, 0x0, 0x3, 0x20}, {0x40, 0xfff, 0x1, 0x3, 0x6, 0x80000001}, {0x0, 0x20, 0x4, 0x81, 0x8000, 0x3}, {0x9, 0xffffffff, 0xfff, 0xfffffe01, 0xfff, 0x4}, {0x7ff, 0x9, 0xfffffffc, 0x2, 0x10001, 0xfffffff9}, {0xd952, 0x6, 0x6, 0x3, 0x401, 0x80000000}, {0xfffffff9, 0x40, 0x0, 0x40, 0x690, 0x7fffffff}, {0x9, 0x527, 0x7, 0x3, 0x6, 0x7f}, {0x2b, 0x80000000, 0x8001, 0x1ff, 0x80000001, 0x7}, {0x7, 0x7fff, 0x2, 0x48a1, 0x8}, {0x6, 0x7, 0x2, 0x1, 0x101, 0x6}, {0x1, 0x4, 0x9, 0xdbd, 0x2, 0x800}, {0x0, 0x7660, 0x8000, 0x200, 0xa41e1a5, 0x8000}, {0x6, 0xfffffffc, 0x9, 0x7e9f, 0x3}, {0x8001, 0x9, 0x9, 0x5, 0x9, 0x6}, {0x7fffffff, 0x1, 0x6, 0x68, 0xffff, 0x8}, {0x0, 0x5, 0x6, 0x101, 0x3ff, 0x7f}, {0x37, 0x4d, 0x7, 0x5, 0x76e1, 0x7}, {0x2, 0x3, 0xfffffd9c, 0x3, 0x3, 0x1}, {0x42a, 0x3, 0x0, 0x5, 0xf213, 0x90f0}, {0x40000, 0x1000, 0x0, 0x3, 0x9, 0x6}, {0x4, 0x40, 0x1, 0x4, 0x2, 0x5}, {0x80, 0x58, 0x4, 0x7, 0x5, 0x7}, {0x6, 0x7ff, 0x7, 0x3, 0x7f, 0x91ec}], [{0x5, 0x1}, {0x5}, {0x4, 0x1}, {0x4}, {0x1}, {0x1, 0x1}, {}, {0x4}, {0x1}, {0x3}, {0x5, 0x1}, {0x1, 0x1}, {0x4, 0x1}, {0x5, 0x1}, {0x3, 0x1}, {0x1, 0x1}, {0x0, 0x1}, {0x5, 0x1}, {0x4}, {}, {0x4, 0x1}, {0x2}, {0xd467b7ea2997b692}, {}, {0x0, 0x1}, {0x3}, {0x2, 0x1}, {0x3, 0x1}, {0x1}, {}, {0x2, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {}, {0x1, 0x1}, {0x5}, {0x0, 0x1}, {0x3}, {0x2, 0x1}, {0x4, 0x1}, {0x4}, {0x3}, {0x4}, {0x4}, {0x2}, {0x7, 0x1}, {0x2}, {}, {0x5}, {0x1}, {0x1}, {0x2, 0x1}, {0x5}, {}, {0x6261d967603f9a9d, 0x1}, {0x0, 0x1}, {0x7}, {0x5}, {0x3}, {0x3, 0x1}, {0x2}, {0x2, 0x1}, {0x2, 0x1}, {0x1}, {0x3}, {}, {0x1}, {0x3}, {0x1, 0x1}, {0x4679a4e3951a1088}, {0x5, 0x1}, {}, {0x0, 0x1}, {0x1, 0x1}, {0x3}, {0x2, 0x1}, {0x5}, {0x4}, {0x4, 0x1}, {}, {0x1, 0x1}, {0x4}, {0x4}, {}, {0x1, 0x1}, {0x1}, {0x4}, {0x5, 0x1}, {}, {0x5, 0x1}, {0x3}, {0x2, 0x1}, {0x1}, {0x5}, {0x4}, {0x4, 0x1}, {0x5}, {0x0, 0x1}, {0x5}, {0x1, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x4}, {0x2}, {0x3, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x2, 0x1}, {0x1}, {0x5}, {0x2, 0x3}, {0x4}, {0x5}, {0x4}, {0x4}, {0x2}, {0x5, 0x1}, {0x5}, {0x4, 0x1}, {0x3, 0x1}, {0x2}, {0x4, 0x1}, {0x3, 0x1}]}}]}, {0x43, 0x6, "4b39896f622d49019f89d6710c7ee7f447635531699838213ae6cf805bc1c71ddf90185f8cb712fdeb00af7576d620a93b7c4a201f19b8e80ddb24a20f985e"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x3, 0x3}}}}]}, {0x2f48, 0x1, [@m_tunnel_key={0xf0, 0x14, 0x0, 0x0, {{0xf}, {0x14, 0x2, 0x0, 0x1, [@TCA_TUNNEL_KEY_ENC_KEY_ID={0x8, 0x7, 0x3}, @TCA_TUNNEL_KEY_ENC_DST_PORT={0x6, 0x9, 0x4e20}]}, {0xae, 0x6, "dda54a0ffdc02cc1956363dc0c06c2db4e4ee2325326cb6b5db05058af2a0d773cf655d1aab528f5f86499cf5aa35eea974ae47f1142359369f2d4b7f7495257c3175124f2342114f849afc2ce0d49b110ec0ea727756f6a03d625316f1c610c234c09288509bb21a836716dd6afb3f4220a178e68b6151060327fd1f4b27afe676d369b85882d4294d7b25b81d2570665cc13d37e0e07509eb7026380100f338ed7a8d9320f7944f339"}, {0xc, 0x7, {0x1, 0x1}}, {0xc}}}, @m_pedit={0x2dc8, 0xe, 0x0, 0x0, {{0xa}, {0x2d00, 0x2, 0x0, 0x1, [@TCA_PEDIT_PARMS_EX={0xe80, 0x4, {{{0x0, 0x3, 0x20000000, 0x40, 0x6}, 0x7f, 0x3, [{0x1, 0x9, 0x1ff, 0xffffffff, 0xfffffffe, 0x3}, {0x6000, 0xffff, 0x3, 0x1ff, 0x6, 0x7}, {0x2, 0x2, 0x1, 0x0, 0x5, 0x100}, {0x2b77, 0x1f, 0x61, 0x6, 0x875000, 0x1ff}]}, [{0x6, 0xffff, 0x5, 0x130000, 0x20, 0x101}, {0xf6, 0x4, 0x0, 0x0, 0x1, 0x81}, {0x7, 0x3, 0x2, 0x1, 0x7fffffff, 0xe1}, {0x3, 0x0, 0x8, 0x4, 0x400}, {0x8, 0x8, 0x80000000, 0x8, 0xffff, 0x7a3}, {0x53, 0x0, 0xe75d, 0x7f, 0x332, 0xc}, {0x10000, 0x915, 0x2, 0x8, 0x90bc, 0x8e}, {0x8, 0x5, 0x4, 0x6dd0, 0x5, 0x3}, {0xfffffffe, 0x0, 0x8, 0x2, 0x5, 0x7}, {0x1ff, 0x80, 0x9, 0x0, 0x8, 0x400}, {0x8000, 0x2, 0x101, 0x9669, 0x3, 0x2}, {0x5, 0x2, 0x2, 0x100, 0x0, 0x2}, {0x4283, 0xa3, 0x0, 0x0, 0x100, 0x5}, {0x20, 0x6, 0xf34, 0x8, 0x7fffffff, 0x64}, {0x6, 0xeb01, 0x8000, 0x81, 0x1, 0x6a21}, {0x5, 0x8, 0x4, 0xfff, 0xdf2, 0x5}, {0xc0, 0x8, 0x7fff, 0x64b000, 0xc34, 0x5}, {0x5, 0x0, 0x6, 0x81, 0x8000, 0x2}, {0x81, 0x6, 0x9, 0x38, 0x1, 0x37f}, {0x40, 0x2, 0x3, 0x8, 0xf9, 0xffffffff}, {0x2, 0x3676, 0xb, 0x3f, 0x2, 0x6}, {0x8, 0xffffffff, 0x1000, 0x1000, 0x3, 0x1}, {0x6, 0x5, 0x7, 0x9, 0x2bf2, 0xffffff7f}, {0x5, 0x80, 0x3, 0x1, 0x40, 0x4}, {0x4, 0x80, 0x1, 0x47ca18, 0x3f, 0x4643}, {0x0, 0x9, 0x50a, 0x800, 0xffffffff, 0x800}, {0x7, 0x7, 0x70, 0x0, 0x14, 0x3}, {0xfffffffb, 0x80000000, 0x5, 0x3, 0x2, 0x3}, {0x0, 0x1, 0x1, 0x8000, 0x2, 0x80000001}, {0x3, 0x1, 0x5, 0x10001, 0x9, 0x9}, {0x8, 0xbad, 0xffffffc0, 0xfffffff9, 0xf02}, {0x7c, 0x9, 0x974, 0xfffffff8, 0x6000, 0x125}, {0x81, 0x7, 0x200, 0x3, 0x9, 0x8}, {0x20, 0xcda, 0xa3, 0x8001, 0x1, 0x9}, {0x0, 0x200, 0x643b, 0x6, 0x1, 0x80000001}, {0x800, 0x10001, 0x7, 0x3, 0x844, 0x8}, {0x80, 0x10001, 0x4, 0x1, 0x6, 0x7}, {0x200, 0x5, 0x5, 0x1f, 0x7, 0x3}, {0x7fffffff, 0xa2, 0x1dc3, 0x410, 0x1, 0x3}, {0x8, 0x100, 0x4, 0xff, 0x7, 0x6}, {0x3, 0xe77, 0x5, 0x1b426d87, 0x40, 0x1d}, {0x4, 0x6, 0x0, 0x1ff, 0xdd0, 0x81}, {0x7fff, 0xffff, 0x2, 0x42a, 0x1, 0x3f}, {0x0, 0xff, 0x5, 0x81, 0x456526a0, 0x1f}, {0x5, 0xfff, 0x2be4, 0x7fff, 0xf6, 0x9c41}, {0x2, 0x6, 0xf2, 0xffff, 0x8001, 0x9}, {0x6, 0x9b8, 0xb6, 0x3f, 0x4, 0x3ff}, {0x7, 0x5, 0x9, 0x100, 0x7, 0x8}, {0x7ff, 0x6, 0xb5, 0x8, 0x6, 0x4}, {0x0, 0x2, 0x7, 0x100, 0x41a, 0x2}, {0xc9, 0x6, 0xae44, 0x5, 0x2, 0x3}, {0x9, 0x10000, 0xfffffff9, 0xa0f, 0xfa, 0xfffffffc}, {0x1, 0x8, 0x76, 0x6, 0x101, 0x9}, {0x5a6cb9dd, 0x1f, 0xfffff09e, 0x2, 0x1c6963a4, 0xff}, {0x3, 0x521, 0x200, 0x6, 0x41, 0x6}, {0x2, 0x80000001, 0x10001, 0x4, 0x3, 0x3}, {0x3, 0x3, 0x2, 0x2, 0x1000, 0x5}, {0x1ff, 0x7, 0x7, 0xffffffff, 0x8, 0x10000}, {0x40, 0xaa, 0x4, 0x0, 0xcc4, 0xe1d2}, {0xe47, 0x3, 0x7, 0x0, 0x3ff, 0x888}, {0xc000, 0x4, 0x100, 0x8001, 0x7, 0xc4bd}, {0x6, 0x6, 0x4, 0x4, 0x277, 0xf3ae}, {0x4, 0x2f596964, 0x3, 0x40, 0x2, 0x3}, {0x7, 0x81, 0x14, 0x60a9, 0x0, 0x7}, {0x8, 0xff, 0x1, 0xffff, 0x9, 0x62f}, {0x2aff, 0x3, 0x5, 0x1, 0x6, 0x5}, {0x3ff, 0xe266, 0x7, 0x5, 0xfff, 0x101}, {0x40, 0x1ff, 0x4, 0x2, 0x5, 0x87ef}, {0x3f, 0x0, 0x0, 0x80, 0xffff88e6}, {0x3, 0x8aa, 0x6, 0x80000001, 0xcc7d, 0x8}, {0x101, 0x7, 0x1000, 0x1f, 0xfffff800, 0x9}, {0x8, 0xe3, 0x8, 0x6, 0x0, 0x8000}, {0x4, 0x7, 0x20, 0x7, 0x81, 0x7}, {0xfffeffff, 0x4, 0x9, 0xfffffff8, 0x9, 0x40}, {0x3, 0x5, 0x0, 0x401, 0x524da1da, 0x80000001}, {0x4, 0x2, 0x2, 0x4, 0x5, 0x100}, {0x4, 0x40, 0x6, 0x4, 0x0, 0x4}, {0x7, 0x101, 0x10000, 0x9, 0xffff}, {0x3, 0x2, 0x1, 0x8, 0xfffff000, 0x5}, {0x2, 0x1f, 0xacc, 0xb5b, 0x1, 0x46fe}, {0x8, 0x51364ad7, 0x200000, 0x1ff, 0x5, 0x5}, {0x7ff, 0x1f, 0x20, 0xad5, 0x5, 0x7}, {0x3fb, 0x3, 0x7d9, 0xf7, 0x6, 0xfffffffd}, {0x8, 0x9, 0x24, 0x3, 0x3ff, 0x8}, {0x10001, 0x5, 0x16cf, 0x3, 0x7, 0x4}, {0x6, 0x100, 0x0, 0x1000, 0x20, 0x40}, {0x5, 0x3, 0x946, 0xf4, 0x8001, 0x7}, {0x80000001, 0x80000000, 0x80000001, 0x1ff, 0x3f, 0x6}, {0x0, 0x100, 0x3bc, 0x80000000, 0x0, 0x3}, {0x3, 0x8, 0x6, 0x6, 0x80, 0x800}, {0x6, 0x8, 0x13407e7b, 0x1, 0x7fffffff, 0x80000000}, {0x3cb, 0x80000001, 0x7fff, 0x3ff, 0x1f, 0x7}, {0x81, 0x0, 0x4, 0x1ff, 0x200, 0x9}, {0x2, 0x0, 0x9, 0x3ff, 0x7ff, 0x400}, {0xffff, 0x8001, 0x0, 0x995, 0x8000, 0x7fffffff}, {0x2, 0x2c, 0x1, 0x7, 0x7, 0xfffffffa}, {0x100, 0xb3f, 0x3, 0x3, 0x0, 0xfffffc01}, {0x672, 0x4b07, 0xffffffff, 0x6, 0x80, 0x2}, {0x2, 0x4, 0x48, 0x1, 0x6, 0xc5}, {0x9, 0x1, 0xffff0001, 0x8, 0xffffffff, 0x5}, {0x3ff, 0x7, 0x2, 0xfe, 0x1ff, 0xfff0000}, {0x6f0e, 0x4, 0x8, 0x1, 0x5}, {0x3, 0x3ff, 0x100, 0x5, 0x200, 0x8000}, {0x4, 0xffff8001, 0x4, 0xffffff1e, 0x20, 0x7}, {0x1, 0x3, 0x3, 0x77, 0x3, 0xc11c}, {0x3, 0x1200, 0xffffffcb, 0x0, 0x6}, {0x80, 0x9, 0x0, 0x5, 0x4, 0x9}, {0x7fff, 0x200, 0x4e, 0x1, 0x7fff}, {0x1, 0x5, 0x6, 0x8000, 0x4, 0x7}, {0x5, 0x1, 0x9, 0x6, 0xa33b, 0x8}, {0x368, 0x6, 0xffffffff, 0x6, 0x4, 0x2}, {0xffffffff, 0x7, 0x7, 0x3, 0x3ff, 0x40}, {0xfffffff7, 0x10001, 0x5, 0xffffffff, 0xffff8000, 0x2}, {0x4, 0x80000000, 0x3, 0x0, 0xffffffff, 0x1}, {0xa28a, 0x8, 0x8, 0x3ff, 0xc0000, 0x10000}, {0x0, 0x80000000, 0x1, 0x0, 0x80000000, 0x5}, {0x2, 0xfffffff8, 0x1, 0xff, 0x80000001, 0x5}, {0x0, 0x0, 0x7fffffff, 0x2, 0x6, 0x9}, {0x8, 0x2, 0x3, 0x9, 0x7ab, 0x80000001}, {0x3ff, 0x3, 0x401, 0xffffffff, 0xcd0, 0x101}, {0x401, 0x4, 0x3, 0x200, 0x1, 0x8}, {0xe4, 0x1ff, 0x80000001, 0xfffffd95, 0x4, 0x4}, {0x10001, 0x0, 0x1, 0x7, 0xffff, 0x1f}, {0xff, 0x80, 0x9, 0x9, 0x3, 0x6}, {0x2, 0x7, 0x200, 0x8, 0x4, 0x100}, {0x8001, 0x0, 0x6, 0x4, 0x1, 0x7}, {0xdd, 0xffff, 0x1, 0x8, 0x400, 0x9}, {0x551, 0x7, 0x80000000, 0x5, 0x0, 0x3}], [{0x4}, {0x4, 0x1}, {0x2}, {0x4}, {0x1, 0x1}, {0x2, 0x1}, {0x1}, {0x3}, {0x3}, {0x5}, {0x2, 0x1}, {0x5}, {}, {0x4}, {0x2, 0x1}, {0x3, 0x1}, {0x6, 0x1}, {0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x1}, {0x3}, {0x3, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x4, 0x1}, {0x4, 0x1}, {0x1, 0x1}, {}, {0x3, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x4, 0x1}, {0x2}, {0x1}, {0x1, 0x1}, {0x2}, {0x4, 0x1}, {0x3}, {0x4}, {0x1}, {0x4}, {0x3}, {0x5}, {0x1, 0x1}, {0x1, 0x1}, {0x5, 0x1}, {0x6}, {0x1, 0x1}, {0x5}, {0x5}, {0x2, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x3}, {0x0, 0x1}, {0x2, 0x1}, {0x2}, {0x2}, {0x4}, {0x2, 0x1}, {0x3}, {0x4}, {}, {0x5, 0x1}, {0x5}, {0x1}, {0x3, 0x1}, {0x1}, {0x3, 0x1}, {0x1, 0x1}, {}, {0x0, 0x1}, {}, {0x4, 0x1}, {0x5}, {0x7, 0x1}, {0x5, 0x1}, {0x4}, {0x2, 0x1}, {0x3}, {0x4, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {0x7}, {0x4}, {0x5, 0x1}, {0x3, 0x1}, {0x2, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x2}, {}, {0x5}, {0x4, 0x1}, {0x5, 0x1}, {0x1}, {0x3, 0x1}, {}, {0x0, 0x1}, {0x4, 0x1}, {0x4}, {0x2}, {0x5, 0x1}, {0x4}, {0x3}, {0x2, 0x1}, {0x0, 0x1}, {0x4, 0x1}, {0x0, 0x1}, {0x0, 0x1}, {0x1}, {0x4}, {0x42f6f398b2c761f3}, {0x5, 0x1}, {0x2, 0x1}, {}, {0x5, 0x1}, {0x5, 0x1}, {0x2, 0x1}, {0x1, 0x1}, {}, {}, {0x4}, {0x5, 0x1}], 0x1}}, @TCA_PEDIT_PARMS_EX={0xe98, 0x4, {{{0x1ff, 0x5, 0x0, 0xfffffff7, 0x8}, 0x1, 0x6, [{0x10001, 0x100, 0x7fffffff, 0x3, 0x2, 0x800}, {0x8, 0x8, 0x4, 0xbeb, 0x0, 0x5}, {0x1000, 0x1ff, 0x66, 0x6, 0xdc, 0xfffffff8}, {0x401, 0x6, 0x6108, 0x3, 0x1, 0x3}, {0x3, 0x42b, 0x4085, 0x3, 0x7ff, 0x73}]}, [{0x9, 0x1, 0x4, 0x80000000, 0xa2, 0x9}, {0x2, 0x80, 0x1, 0xaed, 0x4, 0xa3c}, {0x8, 0x5, 0x7fffffff, 0x7, 0x1, 0x1ff}, {0x2, 0x7, 0x8001, 0x7ff, 0x100}, {0x3ff, 0x4, 0x5, 0x3, 0x770, 0xffffffff}, {0x7, 0x20, 0x1ff, 0x9, 0xffff, 0x7f}, {0x0, 0x4, 0x8, 0x44, 0xfff, 0x1f}, {0x1ff, 0x5, 0x7, 0xa38, 0x40, 0x6}, {0x6fed, 0x0, 0x3, 0x4, 0xbc0, 0x3}, {0x8, 0x5, 0x4, 0x80, 0x5, 0x7fff}, {0x3f, 0x1, 0x8, 0x7, 0x101, 0xf8000000}, {0x7f, 0x5, 0x0, 0x262, 0x0, 0x6}, {0x0, 0x80, 0x7, 0xcee0, 0x41d, 0x39}, {0x401, 0xffffffc0, 0xfffffff8, 0x3f, 0x3d, 0x81}, {0x3, 0xdded, 0x5, 0x7, 0x8, 0x9}, {0x8, 0xa89, 0x9, 0x7, 0x9, 0x7f31}, {0x7, 0x8001, 0x401, 0x5, 0xaa6f, 0x9}, {0x5, 0x5, 0x1, 0x8, 0x9, 0x7e}, {0x5, 0x20f6be3f, 0xffff, 0x8, 0xcfe, 0xac}, {0xfffffffb, 0x2, 0x1, 0x0, 0x400, 0x9}, {0x1, 0x3ff, 0x1, 0x8000, 0x1, 0x3}, {0x4, 0x7ff, 0x401, 0xffff, 0x101, 0x2}, {0x7f, 0x2, 0x1c9, 0xff, 0x9, 0x1f}, {0x6, 0x1f, 0x2, 0x2, 0x5, 0x1}, {0x0, 0x4, 0x8, 0x1, 0x81, 0x1}, {0x6, 0x3, 0x3bf08c8d, 0x7ff, 0x0, 0xff}, {0x7fffffff, 0x40, 0x200, 0x7, 0xaac, 0x1}, {0x7, 0x940, 0x1, 0x10000, 0x2, 0x6b}, {0x80000001, 0x5, 0x8, 0x5, 0x8, 0x2da}, {0x3, 0xe6d, 0x74, 0x1, 0x1, 0x3}, {0x6, 0x1ff, 0x8, 0x3, 0x5, 0x3ff}, {0x1, 0xd6, 0xfff, 0x4, 0x400, 0x2}, {0x7, 0xac, 0x9, 0x80000000, 0x0, 0x1f}, {0x7, 0x1, 0xffffffff, 0x0, 0x5, 0x6}, {0x5, 0x4, 0x8, 0x2f, 0x4, 0x6}, {0x6, 0x6, 0xfffeffff, 0x1, 0xfffffffc, 0x6}, {0x8, 0xffffffff, 0x800, 0x0, 0x1, 0x3ff}, {0x8, 0x50d, 0x81, 0x2, 0x9, 0x5}, {0x401, 0x6, 0x1, 0x0, 0x1, 0x5}, {0x7, 0x3, 0x101, 0x6, 0x4}, {0xdb, 0x8000, 0x1f, 0xfffffffc, 0x3f, 0x4}, {0x401, 0x7, 0x81, 0x1000, 0x53e4, 0xb2d}, {0x7, 0x9, 0xffffff1f, 0x38, 0x6, 0x3}, {0x80000000, 0x1, 0x84, 0x2, 0x4, 0xdaa}, {0x101, 0xf, 0x1b, 0x800, 0x4, 0x5}, {0x5, 0x3, 0x0, 0x8, 0x0, 0x10001}, {0x4, 0xa7c8, 0x1, 0x19d81d35, 0xfff, 0x7}, {0xfff, 0x2, 0x4, 0x9, 0x2e6f, 0x7}, {0xfffffffc, 0x0, 0x8, 0x0, 0x7, 0x3ff}, {0x4, 0x8, 0x0, 0x3a, 0x6, 0x1}, {0xad87, 0x3ff, 0x1f, 0x8000, 0x7}, {0xde, 0x9, 0x2, 0x7, 0x0, 0x7f}, {0x5, 0x8, 0x7f, 0x8, 0xffffff8b, 0x7}, {0x0, 0x8, 0x3, 0x3e, 0xfffffffb, 0x3}, {0x0, 0x100, 0x0, 0x81, 0x25, 0x3}, {0x6, 0x0, 0x4, 0x3, 0x6, 0x57}, {0x8, 0x8, 0x0, 0xffffffff, 0x8, 0x410a}, {0x8, 0x5, 0x9, 0x1, 0x9e}, {0xff, 0x6, 0xfff, 0x7, 0xfffffffb, 0xffff}, {0x9, 0xfffffffb, 0x2c07, 0xf9, 0x1, 0x2fef9e51}, {0x25d, 0x4000000, 0x3, 0x1, 0x7fffffff, 0xffffcc0f}, {0x3, 0x9, 0x0, 0x2, 0x9, 0x110}, {0x44, 0x1, 0xfb1b, 0x7, 0x0, 0x83aa}, {0x2008, 0x7, 0x7f, 0xb0, 0xffffffa7, 0xd31}, {0x6, 0xc53, 0x20, 0x3, 0x104, 0x2}, {0x10000, 0x0, 0x8501, 0x401, 0x80}, {0x4, 0x9, 0x3e, 0x200, 0x0, 0xfe000}, {0xffffffc0, 0x3, 0x20, 0xffffffff, 0x200, 0xce}, {0xfffffff9, 0x6, 0x0, 0x6, 0x1, 0x200}, {0x401, 0x5, 0xffffffff, 0x98, 0x2, 0x974b}, {0x1, 0x3, 0x97b9, 0xba, 0x4, 0x2}, {0x1, 0x1000, 0x10001, 0x4b, 0x14, 0x9}, {0x20, 0xffffffc0, 0xc7, 0x2, 0x8000, 0x401}, {0x7, 0x7fffffff, 0x80, 0x4, 0x9, 0xfff}, {0x101, 0x3ff, 0x1, 0x1, 0x10000, 0x81a}, {0x807, 0x1, 0xffffffe5, 0x9, 0x80000000, 0x3}, {0x3, 0x1000, 0x5, 0x10000, 0x800, 0x9}, {0x9, 0xff, 0x1, 0x101, 0x1f, 0x80000001}, {0xffff, 0x3, 0x9, 0x0, 0x4, 0x10000}, {0x2, 0xffffff6b, 0x2, 0x5, 0x8001, 0x5}, {0x200, 0x5, 0x0, 0x4, 0x1}, {0x1ff, 0x2259, 0x0, 0x3, 0x6, 0x8}, {0x4, 0x4, 0x4f98c046, 0xfffffffd, 0x57ec87a, 0x45}, {0x483, 0xfff, 0x80000000, 0x80, 0x8000, 0x3}, {0x0, 0x0, 0x99de, 0x238a4a94, 0x800, 0x1ff}, {0x2, 0x4, 0x7f, 0x1, 0x8b4, 0x5}, {0x3, 0x4, 0x4, 0x3, 0x400, 0x5}, {0x3f, 0x3f, 0x80, 0x9, 0x8, 0x7}, {0xfffffff7, 0xfb21, 0x1421, 0xef, 0x1, 0x2}, {0x1, 0x8, 0x6, 0x7fffffff, 0x4, 0xf0a}, {0x3, 0x400, 0x7bfb, 0x80000001, 0x2, 0x6}, {0x4b8b, 0x8001, 0x1000, 0x7, 0x0, 0x83de}, {0x9, 0x8001, 0x1ff, 0x100, 0x400, 0x8}, {0x7, 0x1, 0x0, 0x25ac, 0x1000, 0xff}, {0x8, 0x1a, 0xdb3, 0xa1, 0x1ff, 0x6ec}, {0xa, 0x7, 0x2, 0x17c0, 0x6, 0x8}, {0xb6, 0x3ff, 0x200, 0x5, 0x1, 0xfffffffb}, {0x7fffffff, 0x68f4f54e, 0x7, 0x9, 0xffffff25, 0x400}, {0x1000, 0x8001, 0x3, 0x2, 0x58, 0xb0d}, {0x1f, 0x3, 0x0, 0x2, 0xffffff2d, 0x2}, {0x4, 0x3, 0xffffffff, 0x1, 0x0, 0x1}, {0x1, 0x6b4, 0x2, 0xc06, 0x36, 0x7fffffff}, {0x7, 0xa9000000, 0x3, 0xfff, 0x3}, {0xd10, 0x8, 0xddfa, 0x0, 0x5, 0x9}, {0x7, 0x5, 0x1, 0x3, 0x100, 0x1000}, {0x6, 0x8, 0x6ff7, 0x4, 0x5, 0x1}, {0x7, 0x81, 0x0, 0x0, 0x1}, {0x6, 0x7, 0x10000, 0x7, 0x8, 0xfffffff7}, {0x401, 0x1000, 0x8, 0x20, 0x3, 0x6}, {0x6, 0xa7, 0x2, 0x5, 0x8, 0xfffffe00}, {0x2, 0x5, 0x1f, 0xffffffff, 0x81, 0x7}, {0x0, 0x8001, 0x8, 0x2, 0x2, 0x3}, {0x2, 0x6, 0x8000, 0xa000, 0x4, 0xffffff17}, {0x8, 0x1, 0x401, 0x5, 0x2d, 0x7}, {0xe8, 0x80, 0x6, 0x5, 0xff, 0x9}, {0x7, 0xaf, 0x8, 0x7, 0x2}, {0x55d9, 0x8, 0x7, 0x49, 0x2, 0x3f}, {0xfffffff9, 0xa7, 0x0, 0x7fff, 0x1ff8, 0x6}, {0x3, 0x7f, 0xe58, 0x0, 0x80, 0x9}, {0x9, 0x6, 0x6, 0x8, 0x112000, 0xcb4}, {0x6, 0x3, 0xfff, 0x5, 0x9, 0x4}, {0x4, 0x6b36, 0x80000001, 0xfff, 0x40, 0x2}, {0x8, 0x5, 0x7, 0x1000, 0x3, 0xfffff000}, {0x6, 0x10000, 0x40, 0x0, 0x401, 0x7}, {0x3ff, 0x2, 0x7f, 0x1db, 0x6, 0x80}, {0xc8e0, 0x3f, 0x3, 0x10001, 0x5, 0x200}, {0x7, 0x7ff, 0xfff, 0x1, 0x9, 0x5}, {0x85, 0x4, 0x9, 0x1, 0x80000000, 0x3}], [{0x4, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x4}, {0x3, 0x2}, {0x2}, {0x3}, {0x5}, {0x4, 0x1}, {0x4, 0x1}, {0x3}, {0x1, 0x1}, {0x5}, {0x3, 0x1}, {0x5}, {0x3}, {0x1, 0x2}, {0x4}, {0x4, 0x1}, {0x5}, {0x1, 0x1}, {0x1}, {0x3}, {0x5, 0x1}, {0x2, 0x1}, {0x4}, {}, {0x4}, {0x5}, {0x5}, {0x5}, {0x5}, {0x2}, {0x4}, {0x4}, {0x1}, {0x6, 0x1}, {0x5}, {0x4, 0x1}, {0x5, 0x1}, {0x3}, {0x1, 0x1}, {0x3}, {}, {0x7}, {0x2, 0x79bd49deb1e719da}, {0x2, 0x1}, {0x1, 0x1}, {0x7, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x5}, {0x2}, {0x3, 0x1}, {0x7}, {0x1}, {0x4, 0x1}, {0x2, 0x2f898cd86831f5e7}, {0x3}, {0x1}, {0x1}, {}, {0x0, 0x1}, {0x2}, {}, {0x3, 0x1}, {0x0, 0x1}, {0x4, 0x1}, {0x3}, {0x1}, {0x7f04ca8ff537292b, 0x1}, {0x0, 0x1}, {0x3, 0x1}, {0x3, 0x1}, {0x1}, {0x5}, {0x2}, {0x1, 0x1}, {0x5, 0x1}, {0x4, 0x2}, {0x0, 0x1}, {}, {0x4}, {0x2, 0x1}, {0x4, 0x1}, {0x5}, {0x4, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x4, 0x1}, {0x5, 0x1}, {}, {}, {0x3}, {0x2, 0x1}, {0x2}, {0x5, 0x1}, {}, {0x3, 0x1}, {0x3, 0x1}, {0x5}, {0x2}, {0x1}, {0x4, 0x1}, {0x4}, {0x5}, {0x4}, {0x4, 0x1}, {0x2}, {0x4, 0x1}, {0x3, 0x1}, {0x3}, {0x5}, {0x3}, {0x4}, {0x3, 0x1}, {0x5}, {0x5, 0x1}, {0x0, 0x1}, {0x2, 0x1}, {0x6, 0x1}, {0x3, 0x1}, {0x5, 0x1}, {0x4}, {0x5, 0x1}]}}, @TCA_PEDIT_KEYS_EX={0x80, 0x5, 0x0, 0x1, [{0x3c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}, {0x1c, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}]}, @TCA_PEDIT_KEYS_EX={0xcc, 0x5, 0x0, 0x1, [{0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}]}, {0xc, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}]}, {0x54, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}, @TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x2}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x4}]}, {0x14, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x3}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}, {0x24, 0x6, 0x0, 0x1, [@TCA_PEDIT_KEY_EX_CMD={0x6, 0x2, 0x1}, @TCA_PEDIT_KEY_EX_HTYPE={0x6, 0x1, 0x5}, @TCA_PEDIT_KEY_EX_CMD={0x6}, @TCA_PEDIT_KEY_EX_CMD={0x6}]}]}, @TCA_PEDIT_PARMS={0xe98, 0x2, {{{0x0, 0x8001, 0x8, 0x2, 0x3aa7}, 0x3, 0x6, [{0x6, 0x7, 0x6, 0xb6db, 0xfffffffe, 0x9}, {0x0, 0xc7c3, 0xd1b5, 0x7, 0x1, 0x6}, {0x1, 0x5, 0x2, 0x4, 0x1f07, 0x80000000}, {0x1, 0x5, 0x0, 0xe8, 0xae000000, 0x7fff}, {0x5, 0xfff, 0xfffffffc, 0x8000, 0x5}]}, [{0x3f, 0x1, 0x7, 0x6, 0x5}, {0x2d, 0x400, 0xd0, 0xfd4, 0x9, 0x3}, {0x80000001, 0x5, 0x7, 0x9ab, 0x5, 0x300}, {0xe00, 0xf48, 0xfd5, 0x4, 0x200, 0x3}, {0x6, 0x2, 0x1f, 0x9, 0x8, 0xef}, {0x6, 0xffff0000, 0x8, 0x2, 0xba1, 0x37162f3b}, {0x7, 0x3, 0x7000, 0x1, 0x3, 0x1f}, {0x0, 0x1, 0x7, 0xba, 0x0, 0x5}, {0xe15, 0x3, 0x7, 0x79ed712b, 0x8, 0x9}, {0x200, 0xff, 0x6, 0x5, 0x200, 0x1}, {0x0, 0xff, 0x4, 0x6, 0xc00, 0x6}, {0x276, 0xfffffffd, 0x2, 0xfffffff8, 0x20, 0x1}, {0x1f, 0x7, 0x2, 0x401, 0x3, 0x1ac53d0c}, {0xf66, 0x2, 0x9a3d, 0x6, 0x3, 0x3}, {0xa2, 0x1000, 0x8000, 0x2, 0x9, 0x9}, {0xff, 0x8, 0xcbdc, 0x9, 0x1000, 0x20}, {0x8, 0xffffff80, 0x2, 0x7, 0x7, 0x200}, {0x4, 0x10000, 0x8, 0x1, 0x7ff}, {0x2, 0x8, 0x6, 0x0, 0x4, 0x5}, {0x1d176d93, 0x3, 0x101, 0x8, 0x3, 0x3}, {0x7, 0xfffffffa, 0x1, 0x5, 0x80000000, 0x1000}, {0x81, 0x2, 0x568, 0x9, 0x400080, 0xfff}, {0x8, 0x2, 0xde28, 0x0, 0x1ff, 0x1}, {0x3f, 0x268, 0x58d, 0x0, 0x2, 0x21}, {0x1f, 0x4, 0x9, 0x100, 0x3a3, 0x1}, {0xede, 0x400, 0xfa, 0x5, 0x400, 0x9}, {0x2, 0x7f, 0x8, 0x6, 0x1, 0x4}, {0x8, 0x0, 0x1, 0xffffff3f, 0x37, 0x1}, {0x0, 0x8000, 0xffffffff, 0x8, 0x10001, 0x7}, {0x5, 0x6, 0x6, 0x7, 0x5182, 0x2}, {0x3ff, 0xffff, 0x7, 0x10001, 0x6, 0xffff8001}, {0x1f, 0x8, 0x101, 0x100, 0xfffffff7, 0x4}, {0x3, 0x5, 0x4, 0xf55, 0x10001, 0x2}, {0xcd01, 0x6, 0x100, 0x0, 0xffffffff, 0x2}, {0xa20d, 0x2a34, 0x0, 0xfffffffe, 0x9, 0x1f}, {0x4, 0x6, 0x4c04, 0xfffffff7, 0xff, 0x3}, {0x4, 0x400, 0x10001, 0x4, 0x2, 0xa05}, {0x0, 0x9, 0x3, 0x800, 0x7, 0x1}, {0x5, 0x80000001, 0xfffff001, 0x7, 0x1, 0x6}, {0x3d3, 0x401, 0x5, 0x1ff, 0x93, 0xffff}, {0xde5, 0x1, 0x2, 0x5, 0x80000001}, {0x9, 0x120000, 0x3, 0x5, 0x40, 0x1}, {0xffffffff, 0x6, 0x6, 0x400, 0x7, 0x1}, {0x8b6c, 0x5, 0xfffffffe, 0x5, 0x43f, 0xffffdc61}, {0xdc, 0x8000, 0xb1, 0x80, 0x81, 0x8}, {0x6d8, 0x0, 0x9, 0x9, 0x80000000, 0x800}, {0x7, 0xab, 0x1b, 0x0, 0xe68, 0x9}, {0x8000, 0x36a5, 0x5, 0x3, 0x248, 0x2}, {0x3, 0x81, 0x1, 0x6, 0x4, 0x401}, {0x9, 0xb41, 0x1, 0x200, 0xfffffeff, 0x5}, {0x0, 0x79, 0x24b, 0x39b, 0x3}, {0x3, 0x1, 0x5, 0xff, 0xfffffffd, 0x1000}, {0x10000, 0xfff, 0x0, 0x0, 0x1, 0x2}, {0x9, 0x7f, 0x0, 0x7, 0x4, 0x3}, {0xaeb7, 0x80000001, 0x6, 0x38, 0x3ff, 0x9}, {0x101, 0x4, 0xffff7fff, 0x3, 0x9, 0x9}, {0x1, 0x3f, 0x4, 0x9, 0x0, 0x5f}, {0x1, 0xffffffc1, 0xffffffff, 0x3, 0x3, 0x1000}, {0x2, 0x8, 0x0, 0x12a023c6, 0x4}, {0x4, 0xd6be, 0x2da9, 0x7fff, 0x94ef, 0xfffff801}, {0x9438, 0x0, 0xbc, 0x9, 0x3ff, 0x8}, {0x5b9, 0xbd04, 0x3f, 0x10001, 0x80000000, 0x7}, {0x10001, 0x1, 0x1ff, 0x6, 0x800, 0x800}, {0x101, 0x3ff, 0x5, 0x7fff, 0x3, 0xfffffffd}, {0xfff, 0x7f, 0x6, 0x6, 0x7, 0x401}, {0x2, 0x20, 0x1, 0xffffffff, 0x2, 0x659}, {0xfffffffd, 0xfffffffc, 0x10000, 0x100, 0x5, 0x6dd3}, {0x372, 0x4, 0x3, 0x1, 0x200}, {0x3, 0x7, 0x6, 0x80, 0x2, 0x8001}, {0x8, 0x9, 0x400, 0x7f, 0x5, 0x3}, {0x7fff, 0x7, 0x294, 0x5e9, 0x5, 0x2}, {0x9, 0x9, 0x1, 0x3ff, 0x7fffffff, 0x87}, {0x8, 0x1, 0x8, 0x6, 0xfffffffe, 0x8}, {0x0, 0x3ff, 0x2, 0x8, 0x80000000, 0x8}, {0x8, 0xf1, 0x6, 0x2c, 0x9, 0x5514bd63}, {0x401, 0x7ff, 0x400, 0x9ce, 0x206, 0x4}, {0x2, 0x80000000, 0x5, 0x5, 0x2, 0x7ff}, {0xe509, 0x0, 0xfff, 0x8, 0x200}, {0x9, 0x0, 0x8, 0xeb7, 0x1, 0x3ff}, {0x6, 0xf3, 0x7477, 0xd, 0x6, 0x9}, {0xce0, 0x0, 0x2, 0x7, 0xffffdc8a, 0xc17d}, {0x2f, 0x67, 0x515c56c1, 0x0, 0x12, 0x6}, {0x9, 0x8b5, 0xff8000, 0x5, 0xd24, 0x6}, {0xffffffff, 0x4, 0x759, 0x1, 0x3f, 0x81}, {0x800, 0x0, 0x80, 0x0, 0x5, 0x2}, {0x6, 0x9, 0x1f, 0x1a, 0x9, 0x6}, {0x1, 0x9, 0x4, 0x1f, 0xeee6, 0x6}, {0x78, 0x0, 0x7, 0x9, 0x3, 0x40}, {0x3, 0x8, 0x101, 0x1, 0x2, 0x9}, {0x2, 0x100, 0x3, 0x6, 0x3, 0x80000000}, {0x5, 0x80000000, 0x7, 0x1, 0xff, 0x7fff}, {0x0, 0x3, 0x7fffffff, 0x6, 0xfff, 0x96}, {0x0, 0x2, 0x0, 0x4, 0x4, 0x1}, {0xfffffffc, 0x7, 0x6, 0xd3bb, 0x5, 0x81}, {0x0, 0x9, 0x2dc, 0x6c, 0x6, 0x5}, {0xcd, 0xfff, 0x8, 0xfffffe1e, 0x9, 0x2c1}, {0x3, 0x1ff, 0x3, 0x0, 0x2, 0x7}, {0x38, 0x3, 0x3, 0x1, 0x5, 0x1}, {0x7, 0x7f, 0x7, 0x7ff, 0x0, 0x9}, {0xc55, 0x2, 0x0, 0x1, 0x1, 0x2}, {0x80000000, 0x7, 0xf0, 0x4, 0x8, 0xda2}, {0xfffffffe, 0x6, 0x0, 0x1, 0x3}, {0x2e5800, 0x1, 0x4, 0x3, 0x1, 0x4}, {0xbac, 0x0, 0x2, 0x7d, 0x6, 0x81}, {0x10000, 0x200, 0x7, 0x1, 0x463, 0x1}, {0x10, 0x2c, 0x9f, 0x80, 0xffffd02a, 0x7fffffff}, {0x40, 0x0, 0x0, 0x20, 0x8, 0x13c000}, {0x6, 0x1, 0x1, 0x3, 0x9, 0x3}, {0x4, 0x8, 0xb138, 0x5, 0x3, 0x7}, {0xffff7fff, 0xffffffff, 0x4, 0x6, 0x4, 0x7ff}, {0x8, 0x10, 0x7fffffff, 0x8, 0x1000, 0x7f}, {0x81, 0x1ff, 0x2, 0x400, 0x10001, 0x10001}, {0x2, 0x8, 0x10001, 0x401, 0x2, 0x2}, {0x8000, 0x5, 0x4, 0x1ff, 0x3, 0x7}, {0x0, 0xeb9f, 0x1, 0xf7, 0x400, 0x101}, {0x2, 0x10000, 0x7, 0x2, 0x31, 0x3}, {0x7, 0x6, 0x7fffffff, 0xda0, 0x7, 0x2}, {0x2b8, 0x4, 0x48000, 0x2, 0x800, 0xc6}, {0xa376, 0x4, 0x6, 0x3, 0xfffff001, 0x10000}, {0x1f, 0xb08, 0x2, 0x4, 0x7fffffff, 0xfffffffd}, {0xe, 0x9, 0x2, 0x6, 0xfffffe00}, {0x1f, 0xc48c, 0x6, 0x75, 0x4, 0x4}, {0x9, 0x6, 0x9, 0x4, 0x1, 0x6}, {0x3, 0x200, 0x1, 0x3ff, 0x5fe, 0xffffffde}, {0xcf8, 0x5, 0x0, 0x7fffffff, 0xffffffff, 0x5}, {0x6, 0x9, 0xc2, 0x9a}, {0x81, 0x6, 0x8, 0x9, 0x800, 0x80}, {0x6f, 0x80000001, 0xe2, 0x1, 0x51153816, 0x3}], [{0x4}, {0x4, 0x1}, {0x0, 0x1}, {0x3}, {0x1}, {0x4, 0x1}, {0x2, 0x1}, {}, {0x4}, {0x1}, {0x4, 0x1}, {0x2, 0x1}, {0x2}, {0x3, 0x1}, {0x4}, {0x3, 0x1}, {0x2, 0x1}, {0x3}, {0x3, 0x1}, {0x2}, {0x0, 0x1}, {0x3}, {0x5, 0x1}, {0x2, 0x1}, {0x5, 0x1}, {0x0, 0x1}, {0x1}, {0x0, 0x1}, {0x3}, {0x5}, {0x5, 0x1}, {0x1, 0x1}, {0x2}, {0x2, 0x1}, {0x0, 0x1}, {0x5}, {0x5, 0x1}, {0x2}, {0x1, 0x1}, {0x1}, {0x4}, {0x6}, {0x5, 0x1}, {0x1}, {0x0, 0x1}, {0x1, 0x1}, {0x4}, {0x3, 0x1}, {}, {0x0, 0x1}, {0x0, 0x1}, {0x3}, {0x2}, {0x1, 0x1}, {}, {0x2}, {0x3, 0x1}, {0x0, 0x1}, {0x4}, {0x3}, {0x1}, {0x3, 0x1}, {0x1}, {0x5}, {0x3}, {0x2}, {0x4, 0x1}, {0x0, 0x1}, {}, {0x4}, {0x0, 0x1}, {0x5, 0x1}, {0x4}, {0x2}, {0x5, 0x1}, {0x0, 0x1}, {0x1, 0x1}, {0x5, 0x1}, {0x1, 0x1}, {0x3, 0x1}, {0x1, 0x1}, {0x1, 0x1}, {0x2, 0x1}, {0x2}, {0x3}, {0x1, 0x1}, {0x5, 0x1}, {0x3}, {0x4, 0x1}, {}, {0x1, 0x1}, {0x4, 0x1}, {0x3}, {0x0, 0x1}, {0x5, 0x1}, {0x5}, {0x6, 0x1}, {0x2}, {0x5, 0x1}, {0x1, 0x1}, {}, {0x4}, {0x5, 0x1}, {0x1}, {}, {0x0, 0x1}, {0x4}, {0x4}, {0x3, 0x1}, {0x1}, {0x3, 0x1}, {0x0, 0xc81d88bd138eaf89}, {0x2}, {0x2}, {0x5}, {0x5, 0x1}, {0x2}, {0x2, 0x1}, {0x3, 0x1}, {0x4, 0x1}, {}, {}, {0x3, 0x1}, {0x1}, {0x3}, {0x0, 0x1}, {0x5, 0x1}, {0x2, 0x1}]}}]}, {0x9d, 0x6, "da5b604da59f3f6750e85c9075a023203d8a1f0bd177b32e3dcab3b3ecbc822005e98b069bcbfde15c2b2785a9638795dd963c14c97099b9984a0c6abb9376a00e9762f3177cdb2d1e70d0302dece8c81518e753ef437eb5c7ddaeea98c05a8ba7927ef6706344ec481b36a3c03b1e2a6e0af9566fbe5a7e75f3dbece8621af62356a6c5f59dd067d1c04eb6a4f6350c5c8c33f7c77028a4b6"}, {0xc}, {0xc, 0x8, {0x3, 0x3}}}}, @m_mpls={0x8c, 0x15, 0x0, 0x0, {{0x9}, {0x24, 0x2, 0x0, 0x1, [@TCA_MPLS_TTL={0x5, 0x7, 0xab}, @TCA_MPLS_BOS={0x5}, @TCA_MPLS_TTL={0x5, 0x7, 0x6}, @TCA_MPLS_PROTO={0x6, 0x4, 0x86dd}]}, {0x3e, 0x6, "84565cee71a295f51c1e39136126565a26ef7fc25035c01a1378cb836517d1398e9413bd92f609ac62c7810fc0e95d2c031e43139fd653f1673c"}, {0xc, 0x7, {0x1}}, {0xc, 0x8, {0x4, 0x6}}}}]}]}, 0x6120}, 0x1, 0x0, 0x0, 0x40}, 0x20000000) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000006400)={{0x1, 0x1, 0x18, r0}, './file0\x00'}) ioctl$CAPI_GET_PROFILE(r1, 0xc0404309, &(0x7f0000006440)=0x7fff) (async) getsockopt$inet_sctp_SCTP_MAX_BURST(r0, 0x84, 0x14, &(0x7f0000006480)=@assoc_value={0x0}, &(0x7f00000064c0)=0x8) (async) sendto(r0, &(0x7f0000006500)="5cae40ea5d7c37f50eddd1f8c858b3a0d0cbb04069da964cd37815ddcf57cf5e853038c44d571cc6f272ce1e670229b4dd0db7605b9308", 0x37, 0x0, &(0x7f0000006540)=@pppoe={0x18, 0x0, {0x2, @local, 'ipvlan0\x00'}}, 0x80) r3 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f00000065c0), 0x2c0000, 0x0) sendmsg$nl_route(r3, &(0x7f00000066c0)={&(0x7f0000006600)={0x10, 0x0, 0x0, 0x1000}, 0xc, &(0x7f0000006680)={&(0x7f0000006640)=@ipmr_newroute={0x38, 0x18, 0x20, 0x70bd28, 0x25dfdbfb, {0x80, 0x0, 0x80, 0xda, 0xff, 0x1, 0xc8, 0x4, 0x1700}, [@RTA_MULTIPATH={0xc, 0x9, {0x101, 0x3, 0xbc}}, @RTA_OIF={0x8}, @RTA_GATEWAY={0x8, 0x5, @rand_addr=0x64010101}]}, 0x38}, 0x1, 0x0, 0x0, 0x4000080}, 0x0) ioctl$ifreq_SIOCGIFINDEX_wireguard(r1, 0x8933, &(0x7f0000006700)={'wg0\x00', 0x0}) (async) setsockopt$inet_sctp_SCTP_MAX_BURST(r1, 0x84, 0x14, &(0x7f0000006740)=@assoc_value={r2, 0x8}, 0x8) ioctl$F2FS_IOC_GET_PIN_FILE(r0, 0x8004f50e, &(0x7f0000006780)) sendmsg$nl_route_sched(r1, &(0x7f00000068c0)={&(0x7f00000067c0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000006880)={&(0x7f0000006800)=@newqdisc={0x6c, 0x24, 0x10, 0x70bd26, 0x25dfdbfd, {0x0, 0x0, 0x0, r4, {0x0, 0xd}, {0xb}, {0xfff2, 0x9}}, [@qdisc_kind_options=@q_red={{0x8}, {0x38, 0x2, [@TCA_RED_MAX_P={0x8, 0x3, 0x3}, @TCA_RED_PARMS={0x14, 0x1, {0x1, 0x80000001, 0x7, 0x1e, 0x4, 0xf, 0x1}}, @TCA_RED_FLAGS={0xc, 0x4, {0x0, 0x8}}, @TCA_RED_FLAGS={0xc, 0x4, {0x0, 0xb}}]}}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x80000000}]}, 0x6c}, 0x1, 0x0, 0x0, 0x4000900}, 0x40000) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x1f, &(0x7f0000006900)={r2, @in6={{0xa, 0x4e21, 0x7fe0, @mcast1, 0xb6c}}, 0x1, 0x7be5}, 0x90) (async) connect(r1, &(0x7f00000069c0)=@ieee802154={0x24, @none={0x0, 0xffff}}, 0x80) r5 = syz_open_procfs(0x0, &(0x7f0000006a40)='net/packet\x00') sendmsg$SMC_PNETID_GET(r5, &(0x7f0000006b80)={&(0x7f0000006a80)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000006b40)={&(0x7f0000006ac0)={0x58, 0x0, 0x100, 0x70bd2a, 0x25dfdbfb, {}, [@SMC_PNETID_ETHNAME={0x14, 0x2, 'nicvf0\x00'}, @SMC_PNETID_IBNAME={0x9, 0x3, 'syz2\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz0\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}, @SMC_PNETID_NAME={0x9, 0x1, 'syz1\x00'}]}, 0x58}, 0x1, 0x0, 0x0, 0x4000}, 0x4004000) (async) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r5, 0xc018937d, &(0x7f0000006bc0)={{0x1, 0x1, 0x18, r3, {0x3}}, './file0\x00'}) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r6, 0x84, 0x9, &(0x7f0000006c00)={r2, @in={{0x2, 0x4e22, @multicast2}}, 0x40, 0x1, 0x80000001, 0x5, 0x837529ce1b0d02d8, 0x2, 0x8}, 0x9c) (async) setxattr$trusted_overlay_nlink(&(0x7f0000006cc0)='./file0\x00', &(0x7f0000006d00), &(0x7f0000006d40)={'U-', 0x1}, 0x16, 0x3) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000000fec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000741300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x203, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:50 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000010ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:50 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) recvmmsg(r0, &(0x7f0000002cc0)=[{{0x0, 0x0, 0x0}}, {{&(0x7f0000000040)=@l2tp={0x2, 0x0, @private}, 0x80, &(0x7f00000001c0)=[{&(0x7f00000000c0)=""/144, 0x90}, {&(0x7f0000000180)=""/5, 0x5}], 0x2, &(0x7f0000000200)=""/248, 0xf8}}, {{&(0x7f0000000300)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @private2}}}, 0x80, &(0x7f0000000500)=[{&(0x7f0000000380)=""/54, 0x36}, {&(0x7f00000003c0)=""/105, 0x69}, {&(0x7f0000000440)=""/63, 0x3f}, {&(0x7f0000000480)=""/123, 0x7b}, {&(0x7f00000006c0)=""/232, 0xe8}, {&(0x7f00000005c0)=""/160, 0xa0}, {&(0x7f00000007c0)=""/176, 0xb0}], 0x7, &(0x7f0000000880)=""/240, 0xf0}, 0x1f}, {{&(0x7f0000000980)=@pptp={0x18, 0x2, {0x0, @empty}}, 0x80, &(0x7f0000000a40)=[{&(0x7f0000000a00)=""/30, 0x1e}], 0x1}, 0x3ff}, {{0x0, 0x0, &(0x7f0000000c40)=[{&(0x7f0000000a80)=""/243, 0xf3}, {&(0x7f0000000b80)=""/153, 0x99}], 0x2, &(0x7f0000000c80)=""/58, 0x3a}}, {{&(0x7f0000000cc0)=@nfc, 0x80, &(0x7f0000002040)=[{&(0x7f0000000d40)=""/36, 0x24}, {&(0x7f0000000d80)=""/183, 0xb7}, {&(0x7f0000000e40)=""/77, 0x4d}, {&(0x7f0000000ec0)=""/4096, 0x1000}, {&(0x7f0000001ec0)=""/228, 0xe4}, {&(0x7f0000001fc0)=""/75, 0x4b}], 0x6}, 0x8c000000}, {{&(0x7f00000020c0)=@ieee802154={0x24, @long}, 0x80, &(0x7f0000002180)=[{&(0x7f0000002140)=""/24, 0x18}], 0x1, &(0x7f00000021c0)=""/208, 0xd0}, 0x1}, {{&(0x7f00000022c0)=@generic, 0x80, &(0x7f00000032c0)=[{&(0x7f0000002340)=""/16, 0x10}, {&(0x7f0000002380)=""/159, 0x9f}, {&(0x7f0000002440)=""/59, 0x3b}, {&(0x7f0000002f00)=""/221, 0xdd}, {&(0x7f0000003000)=""/227, 0xe3}, {&(0x7f0000003100)=""/192, 0xc0}, {&(0x7f00000031c0)=""/45, 0x2d}, {&(0x7f0000003200)=""/188, 0xbc}], 0x8}, 0x3ff}, {{&(0x7f00000024c0)=@vsock={0x28, 0x0, 0x0, @local}, 0x80, &(0x7f0000002b80)=[{&(0x7f0000002540)=""/96, 0x60}, {&(0x7f00000025c0)=""/96, 0x60}, {&(0x7f0000002640)=""/242, 0xf2}, {&(0x7f0000002740)=""/87, 0x57}, {&(0x7f00000027c0)=""/104, 0x68}, {&(0x7f0000002840)=""/171, 0xab}, {&(0x7f0000002900)=""/195, 0xc3}, {&(0x7f0000002a00)=""/138, 0x8a}, {&(0x7f0000002ac0)=""/139, 0x8b}], 0x9, &(0x7f0000002c40)=""/98, 0x62}, 0xffffffff}], 0x9, 0x20a0, 0x0) (async) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000680)={&(0x7f0000004280)=ANY=[@ANYBLOB="14000000", @ANYRES16=0x0, @ANYBLOB="7d0b000000d47bca08dd1c46702e0e0000000034000000"], 0x14}}, 0x0) (async) r2 = accept4$nfc_llcp(r0, &(0x7f0000003980), &(0x7f0000003a00)=0x60, 0x80800) sendmmsg(r1, &(0x7f0000004080)=[{{&(0x7f0000003340)=@ethernet={0x1, @local}, 0x80, &(0x7f0000002480)=[{&(0x7f00000033c0)="80b94da375fac598dae8d9698c30e7deb2ca2eb87cb24119690c3d5c9ff207a089ca069609692e005540fa3186c7155c73a10bf81ab9d048a316b48cca9741243060febce9dfbb31e91b84b958a5ef1a1b0f69b4cf8976275a8daafe6b4481ad83b4861a74cd33000b11c0938ba8c54a9c994e5a5ad2960f1c7c52f344adf449507c519d599a205eaa9dd0a8a600a99a2dfc2c7e1b1664df9f7ecbed2c2688fd28685dff7271b6fb7539705bbe5f10ab6f51261fa354d630918bc81beaac667aaed34f33e50517b3", 0xc8}, {&(0x7f00000034c0)="5c4c7973b7a522a5807c81b9610f410fc0d07c5df771471c31477922cc095b84956a0dc2bbdd77a18019622fec57a35e330ad97d83b0d5c0183b0d847fc7c12b26c65ea95a647e8efd3b544c8c7145f6a5586e74bbfa6a862861ea0ac9b6761f014b65e6431089dc2ff62f7fd2d2eb06334e9779169a5f24efb23b", 0x7b}], 0x2, &(0x7f0000003540)=[{0x28, 0x10f, 0x5, "ec4b19c0d65fdb8cec8ea3e81e896371f99b1e8fe5"}, {0xb8, 0x11, 0x3, "2fb73fde8c9d3735892a4eb1e872911837e64261ac3724ce2dc2d2529dcbfaa952d18a130aebbd11ea4c10c52da9da86d8476df2ed3f036a71289bc6ded8a362b5ce490d003957851d2cbfe3ce4863666e73ebfa8881457608f8677c79c5556fff1375abfff2576a60bf5e779b8b420014753de423264f6633993ab9b9c1d68157ece4e65f98089645ccde14b4c5fbe316351ec4cc3a4c5a24bff010cbff9908a97f8044f8304f76"}, {0x20, 0x104, 0x84, "f78919d62e20210867ecaa1a6cd7"}, {0x110, 0x10e, 0x7, "12454a1519ed9a1b140ee1a6d598c58d92682c0e83dced7a1fd17cca4fdd6cd90b1a8ae611b19abe3845181c76819be9b71bedabdd38f8f2713d2575e61c1c81373f38216edfe1dd326610f2630d5b139c1052a013aa4f4dd95bf75a1377ce2cf8663cb14544f40642cb42f2ffdf48b8433aa7d1e31948cdae68dd6c1c73628c297d299b7c0e0b4a1819a9d4842d6ae1b1c0c9468209a4fe976a4da55bc5ca41a70d59ae950aaa8f281207bf0812c8886f7e308ba1c4c2a51b5460bfc3b7e1293380c95d9ae1d5d278f1042befbf24172202ba89f4f55dc515760e6c568b7ad3e83b8e8498f70ac7cad2d15f7708f2bd8a13e03f1a6f06cb2897ff9d7f"}, {0x58, 0x101, 0x3fd, "30322584b5b08b9e935fac4405453d7a4818bb2359489b4daaa43a9203a3aea64598da73aa41ea670856de339d23e0b4dd9e8790327c056fe07dd8b6a6ee6f117389"}, {0xc8, 0x118, 0xfc, "cde466b5a76c79a8bb388cc28d03a44f5745026c0c4532354541e5b155711ba4cf922e5ae6da1e68ac2a3cd6c660c94e2953314659ffd3a40abbe0bc08271a4641d443685abdf6bf821997032bf2b92e722c5a3ca04227c0739479976db881c8bc7a7423ccecb1ec4e60b7ec2279e1c82d1743ef279e9b5a43de01cad75ed3395aefa4b0e7f938228a8695eeb411763ad3ce0dde8ae51ce0ead2fcb03a848a4e7428893149fa024bf3d20050c56341bf6cff"}, {0x48, 0x116, 0x0, "9ab00e5668d10f0f46da4ab094a1d3b123787f52a0613938298723f25044cc2be832c35219338c4ae9280e8fd34f256965"}, {0x10, 0x117}, {0x98, 0x10d, 0x5, "362835825e6f273feaa87c4f553b5bc6dbc50c8a3f31063a23649b466af11e6f29c1cdbce9b20b4060cccbc3070cdadc15ab4ad067750820c818e8b3fe59bbc06679a62d751b55dc49f4012ae709f878a7e435cb68190a5c936c3716d5420608cd24b44f171153b8dad02addb1ac880a88bc6622ac356a30880888d03cc1af7696f5b00c9a002783"}], 0x420}}, {{&(0x7f0000003a40)=@pppol2tpv3={0x18, 0x1, {0x0, r2, {0x2, 0x4e24, @broadcast}, 0x1, 0x2, 0x3}}, 0x80, &(0x7f0000004000)=[{&(0x7f0000003ac0)="6f376a09da5410cc7c85e1ce59d63bfe06fe61d2965b5ca618d64467166fa68fb402f6da8bd250c3e03d8b1cec04ecc1f21acc1ae72f6483d5dc88df910e717ea7c7b1a3e32598aa4d7272a8b8684eb9370ffac5d34954c0559b79d50ff48130e388cc53e5c89e2d490d9fc5b5c29c41672a9d7349b7aaff612aed8ebab333db02e47b770145f09f5aedc8cc33ef050156a2c0b3", 0x94}, {&(0x7f0000003b80)="a36a99d6dcdf5d8ca14410d542e955fa3bba25994c0b3a30fa824c57949d8c259cf9557c1b38e2a2414115e1956d5fcee8998aea03a7dc4eafdf3f0ae3647d10c5612cabf296dcf3372bd5e7336c4e7acf29ed28a12d7abcf5601023f1", 0x5d}, {&(0x7f0000003c00)="63c80dea94eba9fc36eb4810eb715e2405d45153fd1eb0871f30ca7b490ba52b6fa0b6e0d0730abd35362989e76884106e1c53aa1275f4fa8cac95ecc9d73c0dd44d2fb1b4a61d4ee6c43d0d9e1b38f4c8c4944988a163c7c8bf7e213c5615bf48b9a3da44b7c7af2804e7a39c99856ccd3fa73bda0f481d0854d6d8112010b0d1f19b26d351ffacc44ff6feec98b21c80bc1824fd63ba5b22", 0x99}, {&(0x7f0000003cc0)="edbf35449186bf75fef5687163707ee2aa5bbfcfb2dec660b1a1ece8ccd34b4bf9a6849b642cd994c30dd8f71aac8e8cb861694f2da9d33291c682b30ab74936a9ad5612cc42544a517d4d09c3cb341b54d866a8f7ce59a453d6cca85c5036327aa0a465501130f5f6c5e2c9d307b4c9fec12c6d4b0f5018735051", 0x7b}, {&(0x7f0000003d40)="567999f4fa2e60c683c8e9f2cebc2220574d3c52a8ec10d9be085469ec3fd39950fdd53745f5ce239226e82f272e4a3c091ee5f68183530367a638e4f057aaa84ff87fa0a72b7eeeab6f09e923f837002a88fc9067e13cce9a72341af2c6b52665ba3af7f52b85a4840e52", 0x6b}, {&(0x7f0000003dc0)="d20a4bb064e470d4900e7db812d83dc09ede1b11e51bfd36f25d45f8b50bd53802ea0a835f1257e09104f9672e674322a9736b43b5f4b080244e579c70a5231ccb54a09f30c145b2e571cc9e4a85aa195e454901d56f0b69b0579762ed45fa5eb6ee32c137ef9ef56db90a217d40824f60668be85fd435091291a43584b0636dec6c26781bd09adf1f76ab7c0030f6dd4c205e48678ae7c867a18b6b5055f3930dbe4debe6f8c2e2c8eab1876fc6417e9b612a3bb2ba626e4e3d84b09f315d246ba880846924b2141ebc4c335462eb1d8f5a60fa1f7590e4", 0xd8}, {&(0x7f0000003ec0)="fb91e2e02642f2b93b6adec5acffd042a98dba704228017b7393a1bbd682f2ae6be53fd827fddeb04d23bf076448d94f97834744428468f71588a1f14522bfc0315f30262485dcecba2c1d10c5fb87a6cd9919d39df7810b46d974d2a09935de3d1ff6166b26911607dc3a617ec0cb8932acb8c32b71a12db1bf417117a481989ff049326e6955433699888c8c25c87b94c5a7a01cb796691f806d332f7b2d2f0916e6b2e5c0df4836441ea3e8e7d8f156d770982f4138b81f1fa06bff0bf90b6e8ad928108adaac16a9d1d914723bd41d32d309fd4a57f4f6983c0b8f241d350204bdd00549d07d7f1318625a", 0xed}, {&(0x7f0000003fc0)}], 0x8}}], 0x2, 0x90) r3 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r3, 0x0) (async) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000004100), r0) sendmsg$NL80211_CMD_SET_INTERFACE(r3, &(0x7f0000004240)={&(0x7f0000003fc0)={0x10, 0x0, 0x0, 0x80}, 0xc, &(0x7f0000004200)={&(0x7f0000004140)={0xb4, r4, 0x300, 0x70bd28, 0x25dfdbfc, {{}, {@void, @val={0xc, 0x99, {0x5, 0x4a}}}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0xb}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_MESH_ID={0xa}, @NL80211_ATTR_4ADDR={0x5}, @NL80211_ATTR_4ADDR={0x5, 0x53, 0x1}, @mon_options=[@NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa, 0xe8, @broadcast}, @NL80211_ATTR_MU_MIMO_GROUP_DATA={0x1c, 0xe7, "d35208a47f0716500f7e41a4cf779e751b688c57db382b20"}, @NL80211_ATTR_MU_MIMO_GROUP_DATA={0x1c, 0xe7, "96d6f9ed89fe9395b41b56c05a21bd3bcaa57792a9841fed"}, @NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR={0xa}]]}, 0xb4}, 0x1, 0x0, 0x0, 0x4004000}, 0x4000000) 00:13:50 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900007a1300034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:50 executing program 0: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000000)="240000001e005fadb5e006c2e553797c080008fd67dc0000470b2d046778b3925b8f625ab5328ecb7a74d480f10aa35a1a33e1cea6f1ac60c1e06dacaef6121e46ecec8cf99c44331c575031b5f9f8bf435d7a6ce4df50a3f4c51c6041324bc76cca8bf7b3e338f1c13914c597caaa47ec801e3854396dfbd1c5cf0b413b74040194fd4012dc4d106ad84c992ce27344ef42d4dd90bbd1b4a114ba540ceea0021ac77faa89d0ec6e2e473b9fcb49e10c265f5ab92c", 0xb5) recvmmsg(r0, &(0x7f0000005180), 0x4, 0x0, 0x0) 00:13:50 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0xaf01, &(0x7f0000000040)) 00:13:51 executing program 1: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = socket$kcm(0x29, 0x2, 0x0) sendmsg$inet(r0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2, 0x4e20, @remote}, 0x10, &(0x7f0000000180)=[{&(0x7f0000000040)="06043e64e4476b9c3cb744f94e7808d65bc4912a6df66941ef6168e8999474aadf04", 0x22}, {&(0x7f0000000080)="02f47cd6e464125ea17c4de7e28ce3b25a6025f16d746293dfcf045d70d87786c0a0d7b9f784721b96923562995ab020ca9ff48c9ed6d6d4c7050d5a600fbe2e160a98a210fcf1ff4fd7c5031c7c4edfd849b529a7d14b9bb5b0e98db00a4688002e33a0a28d91c10583fba235164c2de9c2470a6e812ff5673f497747503a56c78f7bccfc3dad5e000d137c80032cf33ccfb8cb5d451e0c71ad07af05c93e986965a8e5f3914f41b1f29be9b7d128c587f8cabe783b86c6d0d308f51926cba9414fcdd2c543e782b205407d61aedbe1e41071206c948773ef4223ab94bb4b8a88b384e260562d4361f14e148c29a8d06f1db79988ccd88e020d1659", 0xfc}], 0x2}, 0x400d0) ioctl$sock_kcm_SIOCKCMCLONE(r0, 0x89e2, 0x0) 00:13:51 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000011ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:51 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000007b00034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:51 executing program 1: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = socket$kcm(0x29, 0x2, 0x0) sendmsg$inet(r0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2, 0x4e20, @remote}, 0x10, &(0x7f0000000180)=[{&(0x7f0000000040)="06043e64e4476b9c3cb744f94e7808d65bc4912a6df66941ef6168e8999474aadf04", 0x22}, {&(0x7f0000000080)="02f47cd6e464125ea17c4de7e28ce3b25a6025f16d746293dfcf045d70d87786c0a0d7b9f784721b96923562995ab020ca9ff48c9ed6d6d4c7050d5a600fbe2e160a98a210fcf1ff4fd7c5031c7c4edfd849b529a7d14b9bb5b0e98db00a4688002e33a0a28d91c10583fba235164c2de9c2470a6e812ff5673f497747503a56c78f7bccfc3dad5e000d137c80032cf33ccfb8cb5d451e0c71ad07af05c93e986965a8e5f3914f41b1f29be9b7d128c587f8cabe783b86c6d0d308f51926cba9414fcdd2c543e782b205407d61aedbe1e41071206c948773ef4223ab94bb4b8a88b384e260562d4361f14e148c29a8d06f1db79988ccd88e020d1659", 0xfc}], 0x2}, 0x400d0) ioctl$sock_kcm_SIOCKCMCLONE(r0, 0x89e2, 0x0) 00:13:51 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000012ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) [ 831.072827][T18510] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. 00:13:51 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x204, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:51 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000000200034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:51 executing program 1: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) (async) r0 = socket$kcm(0x29, 0x2, 0x0) sendmsg$inet(r0, &(0x7f00000001c0)={&(0x7f0000000000)={0x2, 0x4e20, @remote}, 0x10, &(0x7f0000000180)=[{&(0x7f0000000040)="06043e64e4476b9c3cb744f94e7808d65bc4912a6df66941ef6168e8999474aadf04", 0x22}, {&(0x7f0000000080)="02f47cd6e464125ea17c4de7e28ce3b25a6025f16d746293dfcf045d70d87786c0a0d7b9f784721b96923562995ab020ca9ff48c9ed6d6d4c7050d5a600fbe2e160a98a210fcf1ff4fd7c5031c7c4edfd849b529a7d14b9bb5b0e98db00a4688002e33a0a28d91c10583fba235164c2de9c2470a6e812ff5673f497747503a56c78f7bccfc3dad5e000d137c80032cf33ccfb8cb5d451e0c71ad07af05c93e986965a8e5f3914f41b1f29be9b7d128c587f8cabe783b86c6d0d308f51926cba9414fcdd2c543e782b205407d61aedbe1e41071206c948773ef4223ab94bb4b8a88b384e260562d4361f14e148c29a8d06f1db79988ccd88e020d1659", 0xfc}], 0x2}, 0x400d0) (async) ioctl$sock_kcm_SIOCKCMCLONE(r0, 0x89e2, 0x0) 00:13:51 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001000034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:51 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000022ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) [ 831.180299][T18540] netlink: 'syz-executor.4': attribute type 4 has an invalid length. 00:13:51 executing program 0: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000000)="240000001e005fadb5e006c2e553797c080008fd67dc0000470b2d046778b3925b8f625ab5328ecb7a74d480f10aa35a1a33e1cea6f1ac60c1e06dacaef6121e46ecec8cf99c44331c575031b5f9f8bf435d7a6ce4df50a3f4c51c6041324bc76cca8bf7b3e338f1c13914c597caaa47ec801e3854396dfbd1c5cf0b413b74040194fd4012dc4d106ad84c992ce27344ef42d4dd90bbd1b4a114ba540ceea0021ac77faa89d0ec6e2e473b9fcb49e10c265f5ab92c", 0xb5) (async) recvmmsg(r0, &(0x7f0000005180), 0x4, 0x0, 0x0) 00:13:51 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x400448c9, &(0x7f0000000040)) 00:13:51 executing program 1: syz_emit_ethernet(0x76, &(0x7f0000000000)={@link_local, @remote, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "4004ff", 0x40, 0x3a, 0x0, @ipv4={'\x00', '\xff\xff', @dev}, @mcast2, {[], @dest_unreach={0x1, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, "051700", 0x0, 0x11, 0x0, @mcast1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', [@fragment={0x0, 0x2}, @dstopts={0x4}]}}}}}}}, 0x0) syz_emit_ethernet(0x47, &(0x7f0000000080)={@link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0xe}, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x39}, @val={@val={0x9100, 0x3, 0x0, 0x1}, {0x8100, 0x5, 0x0, 0x1}}, {@mpls_mc={0x8848, {[{0x1, 0x0, 0x1}, {0x4891, 0x0, 0x1}, {0xffffd}, {0x81, 0x0, 0x1}, {0xa58, 0x0, 0x1}, {0x81, 0x0, 0x1}], @generic="98204c0454fd6d7f4fb74bf7a1a10fa45c0fa696713e73d9b6"}}}}, &(0x7f0000000100)={0x0, 0x3, [0x93d, 0xa40, 0x192, 0x5bd]}) 00:13:51 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000007b00034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:51 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000025ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:51 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x212, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:51 executing program 1: syz_emit_ethernet(0x76, &(0x7f0000000000)={@link_local, @remote, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "4004ff", 0x40, 0x3a, 0x0, @ipv4={'\x00', '\xff\xff', @dev}, @mcast2, {[], @dest_unreach={0x1, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, "051700", 0x0, 0x11, 0x0, @mcast1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', [@fragment={0x0, 0x2}, @dstopts={0x4}]}}}}}}}, 0x0) syz_emit_ethernet(0x47, &(0x7f0000000080)={@link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0xe}, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x39}, @val={@val={0x9100, 0x3, 0x0, 0x1}, {0x8100, 0x5, 0x0, 0x1}}, {@mpls_mc={0x8848, {[{0x1, 0x0, 0x1}, {0x4891, 0x0, 0x1}, {0xffffd}, {0x81, 0x0, 0x1}, {0xa58, 0x0, 0x1}, {0x81, 0x0, 0x1}], @generic="98204c0454fd6d7f4fb74bf7a1a10fa45c0fa696713e73d9b6"}}}}, &(0x7f0000000100)={0x0, 0x3, [0x93d, 0xa40, 0x192, 0x5bd]}) syz_emit_ethernet(0x76, &(0x7f0000000000)={@link_local, @remote, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "4004ff", 0x40, 0x3a, 0x0, @ipv4={'\x00', '\xff\xff', @dev}, @mcast2, {[], @dest_unreach={0x1, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, "051700", 0x0, 0x11, 0x0, @mcast1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', [@fragment={0x0, 0x2}, @dstopts={0x4}]}}}}}}}, 0x0) (async) syz_emit_ethernet(0x47, &(0x7f0000000080)={@link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0xe}, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x39}, @val={@val={0x9100, 0x3, 0x0, 0x1}, {0x8100, 0x5, 0x0, 0x1}}, {@mpls_mc={0x8848, {[{0x1, 0x0, 0x1}, {0x4891, 0x0, 0x1}, {0xffffd}, {0x81, 0x0, 0x1}, {0xa58, 0x0, 0x1}, {0x81, 0x0, 0x1}], @generic="98204c0454fd6d7f4fb74bf7a1a10fa45c0fa696713e73d9b6"}}}}, &(0x7f0000000100)={0x0, 0x3, [0x93d, 0xa40, 0x192, 0x5bd]}) (async) 00:13:51 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc40000000000000009420000005cec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:51 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="3900000013e0004700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:51 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000089ec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:51 executing program 1: syz_emit_ethernet(0x76, &(0x7f0000000000)={@link_local, @remote, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "4004ff", 0x40, 0x3a, 0x0, @ipv4={'\x00', '\xff\xff', @dev}, @mcast2, {[], @dest_unreach={0x1, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, "051700", 0x0, 0x11, 0x0, @mcast1, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', [@fragment={0x0, 0x2}, @dstopts={0x4}]}}}}}}}, 0x0) (async) syz_emit_ethernet(0x47, &(0x7f0000000080)={@link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0xe}, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x39}, @val={@val={0x9100, 0x3, 0x0, 0x1}, {0x8100, 0x5, 0x0, 0x1}}, {@mpls_mc={0x8848, {[{0x1, 0x0, 0x1}, {0x4891, 0x0, 0x1}, {0xffffd}, {0x81, 0x0, 0x1}, {0xa58, 0x0, 0x1}, {0x81, 0x0, 0x1}], @generic="98204c0454fd6d7f4fb74bf7a1a10fa45c0fa696713e73d9b6"}}}}, &(0x7f0000000100)={0x0, 0x3, [0x93d, 0xa40, 0x192, 0x5bd]}) 00:13:51 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="39000000130e014700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) [ 831.959926][T18555] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. 00:13:52 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001302034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:52 executing program 1: r0 = syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f0000000080)='./file0\x00', 0x8100000, 0x2, &(0x7f0000000140)=[{&(0x7f0000000000)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f00000003c0)="57595a4b414c4c45522020085ac19f69f2b2b1ea1b8a0ac9135eed1df1d1001cc2de850f0600000000000000f7e75effac2ac4c15e29fb3c18fafff8d198e312475ffa1d000000000000ad25822a17b17f463e104179c19c2ad2fbddc0777df2ec4f62826086704dc575b69706d115478127d9f0be59cdc07684480be4b886937d8fb4f0ff94e3a76ecbc63c2ae0b387ef96d2066a832eb0743d5b8d2dd7531c1b63a8b281ddaa3d1a5ab2e1e3ed7aba340ead257105f36cf4993192411d5abb4c65f2e6c2b28b69b9681b56dbb19b011d41f6173b1e9de0ae2d37cc0d677457b061220e7aa970463516f0824f1df4dd9bbf165fa3b0ea49dca40473077459dae8ce5e07332ca11f60aa398864d52c56960c7d5c65cf9fe7df48487df86c4222ae621f0c1ec0bc34f7943fa8315d9631400b5c1657d4fd7291fea5443b50d576bdc1f9e00465faac75f3d16046ef8884bec8067e1de4d06ecd94654b4733cbf944d63d348eb2209fbebc00c1cf2a4a096e52dee0ddd681a9f8b91255a8a5d4afd897a239f4ae5395973ed693fa0acf68797f73d1d5b72690e60563d90d8b58de72af8d1f7b7e9ee0a939d1018d95f0e401374c401008a70e5a4b32423c70d2c699ebdd1395f40000000000000000", 0x1ce, 0x5fe}], 0x20000, &(0x7f0000000240)={[{@shortname_win95}, {@shortname_winnt}, {@uni_xlateno}, {@shortname_winnt}, {@uni_xlate}, {@fat=@dos1xfloppy}, {@fat=@codepage={'codepage', 0x3d, '852'}}, {@shortname_winnt}, {@iocharset={'iocharset', 0x3d, 'cp857'}}, {@utf8no}, {@shortname_winnt}]}, 0x0) r1 = bpf$ITER_CREATE(0x21, &(0x7f0000000100), 0x8) ioctl$TIOCGISO7816(r1, 0x80285442, &(0x7f0000000180)) mkdirat(r0, &(0x7f0000000040)='./file1\x00', 0x0) 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc4000000000000000942000000feec4f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:52 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x23a, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:52 executing program 0: r0 = socket(0x10, 0x3, 0x0) write(r0, &(0x7f0000000000)="240000001e005fadb5e006c2e553797c080008fd67dc0000470b2d046778b3925b8f625ab5328ecb7a74d480f10aa35a1a33e1cea6f1ac60c1e06dacaef6121e46ecec8cf99c44331c575031b5f9f8bf435d7a6ce4df50a3f4c51c6041324bc76cca8bf7b3e338f1c13914c597caaa47ec801e3854396dfbd1c5cf0b413b74040194fd4012dc4d106ad84c992ce27344ef42d4dd90bbd1b4a114ba540ceea0021ac77faa89d0ec6e2e473b9fcb49e10c265f5ab92c", 0xb5) recvmmsg(r0, &(0x7f0000005180), 0x4, 0x0, 0x0) socket(0x10, 0x3, 0x0) (async) write(r0, &(0x7f0000000000)="240000001e005fadb5e006c2e553797c080008fd67dc0000470b2d046778b3925b8f625ab5328ecb7a74d480f10aa35a1a33e1cea6f1ac60c1e06dacaef6121e46ecec8cf99c44331c575031b5f9f8bf435d7a6ce4df50a3f4c51c6041324bc76cca8bf7b3e338f1c13914c597caaa47ec801e3854396dfbd1c5cf0b413b74040194fd4012dc4d106ad84c992ce27344ef42d4dd90bbd1b4a114ba540ceea0021ac77faa89d0ec6e2e473b9fcb49e10c265f5ab92c", 0xb5) (async) recvmmsg(r0, &(0x7f0000005180), 0x4, 0x0, 0x0) (async) 00:13:52 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x400448dd, &(0x7f0000000040)) 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000044f62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:52 executing program 1: r0 = syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f0000000080)='./file0\x00', 0x8100000, 0x2, &(0x7f0000000140)=[{&(0x7f0000000000)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f00000003c0)="57595a4b414c4c45522020085ac19f69f2b2b1ea1b8a0ac9135eed1df1d1001cc2de850f0600000000000000f7e75effac2ac4c15e29fb3c18fafff8d198e312475ffa1d000000000000ad25822a17b17f463e104179c19c2ad2fbddc0777df2ec4f62826086704dc575b69706d115478127d9f0be59cdc07684480be4b886937d8fb4f0ff94e3a76ecbc63c2ae0b387ef96d2066a832eb0743d5b8d2dd7531c1b63a8b281ddaa3d1a5ab2e1e3ed7aba340ead257105f36cf4993192411d5abb4c65f2e6c2b28b69b9681b56dbb19b011d41f6173b1e9de0ae2d37cc0d677457b061220e7aa970463516f0824f1df4dd9bbf165fa3b0ea49dca40473077459dae8ce5e07332ca11f60aa398864d52c56960c7d5c65cf9fe7df48487df86c4222ae621f0c1ec0bc34f7943fa8315d9631400b5c1657d4fd7291fea5443b50d576bdc1f9e00465faac75f3d16046ef8884bec8067e1de4d06ecd94654b4733cbf944d63d348eb2209fbebc00c1cf2a4a096e52dee0ddd681a9f8b91255a8a5d4afd897a239f4ae5395973ed693fa0acf68797f73d1d5b72690e60563d90d8b58de72af8d1f7b7e9ee0a939d1018d95f0e401374c401008a70e5a4b32423c70d2c699ebdd1395f40000000000000000", 0x1ce, 0x5fe}], 0x20000, &(0x7f0000000240)={[{@shortname_win95}, {@shortname_winnt}, {@uni_xlateno}, {@shortname_winnt}, {@uni_xlate}, {@fat=@dos1xfloppy}, {@fat=@codepage={'codepage', 0x3d, '852'}}, {@shortname_winnt}, {@iocharset={'iocharset', 0x3d, 'cp857'}}, {@utf8no}, {@shortname_winnt}]}, 0x0) r1 = bpf$ITER_CREATE(0x21, &(0x7f0000000100), 0x8) ioctl$TIOCGISO7816(r1, 0x80285442, &(0x7f0000000180)) (async) mkdirat(r0, &(0x7f0000000040)='./file1\x00', 0x0) 00:13:52 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001303034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:52 executing program 1: r0 = syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f0000000080)='./file0\x00', 0x8100000, 0x2, &(0x7f0000000140)=[{&(0x7f0000000000)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f00000003c0)="57595a4b414c4c45522020085ac19f69f2b2b1ea1b8a0ac9135eed1df1d1001cc2de850f0600000000000000f7e75effac2ac4c15e29fb3c18fafff8d198e312475ffa1d000000000000ad25822a17b17f463e104179c19c2ad2fbddc0777df2ec4f62826086704dc575b69706d115478127d9f0be59cdc07684480be4b886937d8fb4f0ff94e3a76ecbc63c2ae0b387ef96d2066a832eb0743d5b8d2dd7531c1b63a8b281ddaa3d1a5ab2e1e3ed7aba340ead257105f36cf4993192411d5abb4c65f2e6c2b28b69b9681b56dbb19b011d41f6173b1e9de0ae2d37cc0d677457b061220e7aa970463516f0824f1df4dd9bbf165fa3b0ea49dca40473077459dae8ce5e07332ca11f60aa398864d52c56960c7d5c65cf9fe7df48487df86c4222ae621f0c1ec0bc34f7943fa8315d9631400b5c1657d4fd7291fea5443b50d576bdc1f9e00465faac75f3d16046ef8884bec8067e1de4d06ecd94654b4733cbf944d63d348eb2209fbebc00c1cf2a4a096e52dee0ddd681a9f8b91255a8a5d4afd897a239f4ae5395973ed693fa0acf68797f73d1d5b72690e60563d90d8b58de72af8d1f7b7e9ee0a939d1018d95f0e401374c401008a70e5a4b32423c70d2c699ebdd1395f40000000000000000", 0x1ce, 0x5fe}], 0x20000, &(0x7f0000000240)={[{@shortname_win95}, {@shortname_winnt}, {@uni_xlateno}, {@shortname_winnt}, {@uni_xlate}, {@fat=@dos1xfloppy}, {@fat=@codepage={'codepage', 0x3d, '852'}}, {@shortname_winnt}, {@iocharset={'iocharset', 0x3d, 'cp857'}}, {@utf8no}, {@shortname_winnt}]}, 0x0) (async) r1 = bpf$ITER_CREATE(0x21, &(0x7f0000000100), 0x8) ioctl$TIOCGISO7816(r1, 0x80285442, &(0x7f0000000180)) mkdirat(r0, &(0x7f0000000040)='./file1\x00', 0x0) 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec5e62826086704dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:52 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001304034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) [ 832.807942][T18588] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. 00:13:52 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x250, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:52 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x88}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f00000002c0)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setparam(0x0, &(0x7f0000000300)=0x3ff) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setaffinity(r0, 0x8, &(0x7f00000003c0)=0xaa) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup.net/syz1\x00', 0x1ff) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040), 0x200002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f00000006c0)={&(0x7f0000000740)=ANY=[], 0xf4}, 0x1, 0x0, 0x0, 0x240040c0}, 0x0) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000280)=ANY=[@ANYBLOB="dd00000037020001020000cbbd0000000000000000000100", @ANYRES32=0x0, @ANYBLOB="010000"], 0x1f) r3 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r3, &(0x7f0000000240)={0x2, 0x4e20, @multicast2}, 0x10) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, &(0x7f0000001f80), 0x1600000, &(0x7f00000000c0)=ANY=[], 0x0) 00:13:52 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001305034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:52 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000580)={&(0x7f0000005700)=ANY=[@ANYBLOB="440000001000030400"/20, @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b0001116272696467652000b41902800500180000007f000000200000000000da4eb5d67303af3953d5ad009187368008195060ab9bb11213ff070000000000006e57cad71cc048d4d498ff77c7a5ab4ced9c1b99575bcf50b5036444265c63ba37e4d0c27966ee"], 0x44}, 0x1, 0xba01}, 0x0) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r1, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendmsg$NFT_BATCH(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={{0x14}, [@NFT_MSG_DELCHAIN={0x20, 0x5, 0xa, 0x201, 0x0, 0x0, {}, [@NFTA_CHAIN_TABLE={0x5, 0x1, 'syz0\x00'}]}, @NFT_MSG_DELSETELEM={0x20, 0xe, 0xa, 0x0, 0x0, 0x0, {}, [@NFTA_SET_ELEM_LIST_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14}}, 0x68}}, 0x0) sendmmsg(r0, &(0x7f0000005600)=[{{0x0, 0x0, &(0x7f00000004c0)=[{&(0x7f00000000c0)="ca5e86133d33d41b55d5bddbaaeaf96105f39a4fe678f33d04e08fc23f2af8087a9f01f0368e49b1fc7fb875a61c9c16f77083d3d77733313d0b86ff5d149ae4c5d70f9a660555869fdf1b642da2f76ad74fb18fa2da231a42c0df479bba1b76a25653fe232bd332a7244c44b6fc349fc3b0dae956710d6b2580e4c5882138cac1bca81c3e04a4d533826b3499d779eac5cd03e1f13126ef5d66663ac636e803a103f6c075482c8758abe80c57a1f7b4b209f9f5728d8ffcde5d95bf522f29ca8f54a9dd1697e2", 0xc7}, {&(0x7f00000002c0)="0ba9ce178f5541238a2bed7e7e6e53e7970bca925aef086b8d8db02acdf45a15b1fe59edef1f0fb8424ddbe9f3245d22e1361aca65d185c4201440fc293c34f5fe2aabc9c68239eaca1a9bb022163e006978263472ace5e853f17c2ad9e48c186db96b109a16c01428cec8c59057c756efa8ce641ad1f37191b1833f05e29c08b0b81bcc7f327f8851124bc8c69a19cb16ca84a30eeae5a5d5027bd5bcfda5c79c25f838987ec04d9292d0cc51f6268b9ffbea63b2b5c02e9fb888140439edb995fd5e786a39f5f71150d048569c0e0ccc5bd1a3", 0xd4}, {&(0x7f00000005c0)="df0e4a253d6f895ecc8a9a959c01855f1cb406fd14b9ee3a42b1c47657701cf1c589963cd7a5b581942788e112594262afa1ad31140561c9031f034b6f2633b151c9209c2cf15724836746f39f01bd433a4f14b4b587d5a85020250c4c58eeab83fbda75997ed973cb3aba9755deec7e242d59f6ad3481c7db97227d32521eaf1eb93c275bfc5aa9818c646ab093f847e1493c0c7ee905deb8499521935494e0d2694bf11a1abd1ed7a510cb501c0c2bc4cb0a27b9337d7f18d9989a8d944991059c8f451fe31c6fd6a6c0b47d0414de80f4bb7a6f13c0de348adb50f041131ec23ec8201a7d4e76de0046178679a9254302762fbb46424473b9f212f85d30110592775626cff57b2a71f9fdc90e6026df6fb1244857b14a3d132655b013a3dbb21bd731d0476112868767c1abf633cdccafe0074a43ca35665aafa91add1aff0bcbe0b1d6ea38e33537b9dac55aec01b532bb51c31b4fbd8bbe2d7cdca3a3c139fbc45ce03cdf80905d78c703010bf7a4796d6805955d37088b8ce9c1206e41270243f1d8288055d385663a0d8793413a4aa7baa5ca4f42418d57f6c5a09c63d56efa67d972441b8fb7a38210b2634c231f4535e43f77e0ff0dbfdb3121a2d04cd90b0751f668727d428561610fcd335c20373f6836221dd94fcdf5272aeafc317170e554539fd94beef6eceb0702284691068eb17144a56686cfaa31576c1bb7f485b5349de24bf42cd4be912bddb96317dd401dc0e9c192f4f59d0cb4f306fbe2eb86e145fc78e7630b5fed2fd4f16d44eba483c76decb28272cb7360b7626c8438f40b833083ca63b8281454d312105b9b280872f944b090085c649c89cb10ff57f8c14d7a1b482653ca7e6102bf753ff8d916ce76213255d3d03820f3d1813bb5450dba17f25e916c9f4204831ee2d53358f639f28374d6d0d6614139e50b5ae6d3acfdefd2a98780f7f883e3d6b2ea22afeeaf1a953cb5c3efdbfe5ee647fe95deb3beb2431ab9a515b91d9fc7fda6cfb93cd2bd430aa0bfb7b480bfeced9947933cc3dfa3a93db97d881f72cb466e7eefcf5a325823e00f89407fe7d492928221a86f901b4a76521fc73e8330e6c21c3fe9b21dfa248cc76152dabde255f25dfc23392fbf6752a873a2219273fab75d5a99a2243103c3b3fca0014d962f36650621d23d4bedf899f9441d86fb64e3b4f33a4dc7a43dbc76b1864465d8a488b2c2f8fdee23b5a98ed26bc4c3683bc124a0507397b82f6e7b04dd213cb4da4d71c92077e1fda99a167ec66cedbf8061420088d7ef7d4d0e3a867d5d038eeac2870a422e1d27bb2eb195314d43ee17c7acaaeffbba7a90d7045c9a9b441dd2774602eccd30abf2b57dc7f0e6f60260b4669b7411f5bbcea7a36636285ec7c94197a8e2bc2891c970dbcd3e47c2f9369454ec5d8b05203001347e1e2483473a41d558611476c110c6631f3ca3cb0bf4d7c76660204f90280a528341690fd00af2c96e3552249a3ca9ee2871200e19028c32c6334656090f3447d09e8c1ec4e56b9db1ae397b6f1ff9af9e03a32a932736c417786577a3d1bca3cb51b1383df0e999e9911c98bcd0117b07dd63fec8f082c8cf82e1be8017ab469a865ecbbf4a264705e64deb7f1b3bcd6933b113aaf9c6f1f4908d64947f1b658adf7ecf5a44b8554d83b95bbae105364eda516f13ea86eb8f7c3c73cdb7c48a1532ba1953ee6fc06ef7691703a1e4a182be9c5aba5ccb505dd162ef6200c685b6e7e4b7773e16f974558b03544c3b46e56ab946419cfd998ee2d4409c6799463c0e772dce541d6700ea4c5eafa7b1f82c0202fb36315cf1c4077ca9b377d3b63e1d9a8a120a8ab57a2513636a49cd1f0ba0e1310c76d9ab0540f3962e3bfc60a2a9300cfbb24a1f6e8912e90047c9b2d0f010586432635b6c0ce0919e4f2e82ef1deb77bc25a9576d860881c11a23dc6a09d4e21eff0d29839bae17bd499772cee29a4653bb4e7fec08b2a126d3c01ee8bc18d2c676a780e0a70a7eef42ce376e6b814742e05fcc13c6ced9518c1914aaa76579333df9ac909b4b5e987657b7bc934029149c9c48e38d6b5f29774696f6daf5225414120f10e18f2146711ce97fa4fa513508ce9470d5b26098fc16454b22d4a338d98016824c4508506287c2c4426e4730032307dcbd00fbfbca192f77895166459501c756fca5c7ef87ab0e92c8461fcead785fdd9138279b68f49aa725149debc77125298b1bce3211ec345533ffa8fa4e0d828dc268845f9f16c99fea6b2a428f06377df98f321a027b48d1f5735792a608bcbc8083a2a165b34ebe93e9f76c93ed10b88dd698aacb6ca71ed418a5ec10c87b5ed5bf49546637c0e4eef0b348e0ed14b2325fbbb05b1b91bd75dadcb83213592e1923799ee8f16d3b1195156f79a57644783d72aa0e30e4655bdfa3691dd7e23dad34082eaaf25e951f91091a97646bcac44bec77d4bee01c54a5b46c7a5b18f65dcd0e3c813e851c30b7a44bfcf9c225fe3946e0b462a024caf12fe8f02fce9a3ca7ffea5698d69d15b28232b6efb3841830cdb3bf552e6131a2a454b4556fbec013a868d3292dcc2f23007c99fdd6303f809a2862edaa828bdd8cdb01c1e57bb58f6f1b6d58d29f0f7a4145f7e89c64610205ecf9e652d817183a7f5ff70721c9583fd9ccfaa84ad3f1aa89ee97ccc439293619751bf16c581efc01f6496736cbf140e278eb7848ff05251bc6bccebb516bee8551c7da6a15fbec6693005c9dc41b6002790eec81cdcd3f0f1b8d80660eabc2c9cd6ae18b2689523b19d112fd4dfaff8cceea9bee3a3dfea277465a7decc4f151c61cc1402f65e5c4681650747c6572bf38f3a79d35276b2b14fa3cc000dcbc500bb9acf19e78fa85aac80c89f3d78ad3f9c80c488a43256de19dbf69e69a4076410e5569dd3fc71ecefed240ef785945f9554c095654f7b867c466504de15a1985bca8d1c78159084a2d6eabe3a019973fa739cd562f15655b174431c0bedfd2a22f1c150d57aa4569fec459645dfed005285ddc297d5dcf80274d03c69147c685db8c7190f2bf57014e745efc61c59f0e10c21680f509c3721c73f3519a2352cfac41ac48a8007429484a9024d6cb8e9b1a66c5d63f3d7c6cca7d562df636627ec1dfe1f52460e518d84a00e9b14d277c1b2974741ef5e5282a8aa0d4e5a4cbf975086f07df2a0f6af2a5303d361858898701af31e3aec5b17cc882d43816cddbc9b01c7712df9e3f6e2956e3797ba44279f4be86b3e7732b210d85c766829803dd2e67282dad4344c4da6d9eeec9ea699fa375fbe6595e823ac9978cdbef2e03da72a0ae0bc171147fbac41e5c1edb580ad9d8896ccc55020c536ce42980cdf9e0cc03bf8618069429b280d9c0a8366b78cd32c88f8961341c82dc893210be2634898f7fced11225f0e50e176ef91aefb3a8bc94916f5855d87eb4df9789288cb8924ef30cd10a8558972882c1b591aaa14b512689eef75cc5acac932ac2c474eef37edd10be9d7374eb47ae6cd0035c270cb2d39fae4f7ce59c832a20cac3436e888193701fec2f8f60559115c81cb771bd08752dfbf0cb39aef79b2bbb6a1f64f116aa1e4941c60d1a8d9e353b90dcc74b7deab722fb2bbfd53801a543480f23041b47d8ee01453d1e5b80c6f250839ecc68a526cf258a9e41c7318f3f8f072ae0d2dae1aac275d3af46fdfe9b2821ab77a7c81a36d56c5040bba0daac2a9405fc775183f1761d0f9647446ffd799605285747e5f3faa35493981a1a37e944c0e2aa718fad5760065c7254e3780914723de0e3768639d78c4133f071887ed797856f3ded9ab986c3836154f92ec9cfc585e97d09722c22c98a58e7629358c1c7b658a8d1ce57f6201e110991fbc8edd2cb1cfb3bdf3fc4c177b1d8f53256dee9989ca592f6b09df14498e4f0bfd8d3058508779c349209a283b1f0b46797c9f91d05b175a1243816c9d2cd67ba5684862ac755e89ab60b43634884d597b952bba940a24a9c3ad375c0bfe94fcdc064389779393dbe162bcfdef3402492ecc68c0ed348cf353a172fcf7efd4ae7c91708da12b589a65c3e3e55837e13cc76f2d2c7eeb9a7b9754495a723341b7feea389c3822a39f71c982b955dadc6070157c56d5084f52837be7ec23186e304a089e735de91cbee30922a9de84d44117be38613eceba4e79bb892505f8f0e4de089b0700edb09429dc6d930678bd5c728a99cc9456f950f0756d54963188f99ffd08ef97ee83132027479fda8431a4f21fc76614aeacd4d052faacf8f1fd110220987a62c2e15eb4c881ba5232f6e184c916554791548a7b9eaa0cb0672a5451238144a448f9f6dfdeae5c25cfd902b2e45780407d714860e2af78b11b454d8f4e05e6e7cdf509a19206ff8eadfb312102eecba2be9582aeda68b256f0809414a5e8494830043bf0174c5266baab8b4072d081e8530ffcb6c6959cbf4b8b9a4a83e3d4fb2a5dba3e43419cda9c978648e11a8a40b5b193a3c5ab7861524a0178ba0232e1277541ab3d6ff45f4c1c6730cca6aba10bf3b8d640341709ae7e86d33275a2ddb07227a53ecf84df1393c39e2e68528c192cd8060ac5c2175d6884f5d2ed1f3112a628fb25cea6d647d4f79ddbfb2386b0e96899308d1ec528bbc2364943a5744c07106249170dec000a850e7b98ef6e319c8ce710f0b7dfa1d5e37e811174ed1828775ca8374f8b26906fd07d9ef6df2155df7631e08f7cceef85819001094ff42b7534bcfa2a86307e7aab7de78fb140fd601370a6508ddda9f8ce616b3f531c71eeb3390293d15246fa00a437c8a45f8a168f8173d98f4d2640f398e57d0746dcbb5d7b0cda14fc95073f664e87df2fd4216765af4d8b6f89638c9c6a921dd481a2f660b38aac73ab78cde17aef776e1ac8f31e3a57e423fa9908a14a47c6f9a6598cba259c4eeaeb35f5f05ef49e783c097bee9931c820db82adc6ba90853fb89ea188c42bace3bde8aa6229b227806529a4d301e1bf44782f002c5f590ca36fdc71bbda6ba39979d3807eaa82742e9a80dbfb6e2cf6dcf4e88d998299dd2ed5c65954b407309cfe486e184db5cbd67928fcc9fcdd811420205ce95d36e5524485f6bdd1bb13be63e19558f615b7fcd90bd82f69f31c8351709b43e84a52929fa228953b088384cf3eb1d4b6a2c0a7a6fd8d6d35b30afba6a82d91e8dc019e4659f52ded99a9584fe9355b1925fa889f4d9dfce3cdf56a4a2455354d2655d43975c37e653dfb86a0ba666b580d40b367208d6f130a8b2d07b01ea62ab32f7baa0ae04f70a1028fbf3b1be933329ad6f66d202256d4d7da8525c9e9d55a1efc226a5ccd8b63ce5fa71463c850fb4646c35c544cf1257de6e53692aca50ad99cd2106714d7612ddbbbb8eba6c7f065006c361ca5c2d41a12204d15f6118832f6563fcf9b803d309a908306e5fc0eb2fa06ebc12f26cb549921e41b5b278ec8620f644ebb60d315660bbe0c581ce3f7decaddb683dc96d3df709a2ae8fe7a61bf1d3b44ff3d45f327086ffc3423568bff1f76c3295d1aba69684dbfd34993baf92f0395b4acb0d99b6b8715cc88c80d677dcc9bd5bd5a6898ddc1793654692a260dc3fa882769fe63d4f5924cc50e6743444cf679cee30ba57f6f1bc1aaab29c2922a598ff2e45cc2271864466edf12b992299c5418ffee38d0b2d3f1564a89778243d83cfc6bd16ce1b49c0861a489f32d99cffc1b16c357c333a0de6a6edfc7e9c9bd17d7ada9296fb3180d9c2c78e465d53e9", 0x1000}, {&(0x7f00000001c0)="51864b46a35fe9efa1b59e8f0324211cef558164d74eabff06effd22e58dd485e0c1d4e59b186814e6b88a864854ac3bf1271cc56450d5f1f3d9bb447509d20179d950bea5bb1298757ab3c9990ff70304da2f118d56b62990c4fe936a31c2412e80f96097ece007551b578db77308da7a8a1d6560d89057a34121bcd92923dd509cbc86063037e2a41ed747a7d80c108cc7a731a7f5c0c55f321d5f3648b33fd5fe470397a971790f6e57ce231725277dad43143d2647b52d", 0xb9}, {&(0x7f00000003c0)="78f330de0036a44aa4d22707d5903875779fdc2483e12060dfd1750c318c51040bbfaf1d61b8146e9e93eb788b378e108352a16ad7412299f08ebbb1246f86728d01252cab0d97e6942c0bb9812ff4614af328f4b4453709d9d788965e0788a0b471719fc442b21f012def9bc22d95cafb9bc9ba805208116aabcdcc811c7ece565bac8baa44914690b5fd6fbf14df2c91ec1bafbc35680b2b24c2629e39db7e25c650992509ac8e72a5dae58ff4c1f74b6e04cbeb36b067bf58d80fa7c3d8697f2429516c99ccd218d9c5177899860c72e65b7a3d0c7c8107d46fb4ce52f93f8570464a07966a55c18e9cdcb633e66c520aa7e5af5cfd0a", 0xf8}], 0x5, &(0x7f00000015c0)=[{0xd0, 0x105, 0x8, "02894048d662f6481d465d434401c995b9a701133152fd7eb15af5d04d4565b25ff9b3c62663176d0ecbfa86825f965bb112383bee7960add006f6ac72835bc1cd32dfb49b4158db46141f72bc47f24f1c93db4d811d3652a3c9b9a3daf10b81bf73771f3e80200f83440c707b2e886edf8b72a61c758fcd9bca958bac08ff36b38d16f81099ca4b1db84f4cd0363e22a576121f527c8cb51c67c8435da56c36087b0c6a151363183cc8dfa247e240efa76d83dc1ea4e1d58c16a68520"}, {0x1010, 0x110, 0x2, "c7314a21be2c5f1a79885f3022edcab8f033defb1644e7d4538ecb213c196ce52e811b924e7c734b2536a7f7ac78b82ca1b5c6519e154cd565a8bc95f726d4674cc29592fe6bce3d55db67e919d92e063769d91f8666215265513fae314a13f71b55f901cedd5dd22c5991a0a986ecc34a8b6e02423ac13594a2b5aae1ad6789cf059f290ed199010905e17006fb516e64dd3e8d12a29a4828f46638ad7489f3c78a1840597fff74eda1205248954ab2ac608750cc1f989041824d2905929401c65cac4de72d16df40584d7da4b3c2bd39d28f455071fde14cb98b0a3e2b0cfebcaa7eb2bc6b515ab26e1254e3f3ac716aa0dd7d5013e7a682a1c76eb0ccba670e6b5612424fda743795d186f84df4eedb4500a17c6ab8095f0acff0e6205c89cdd06070e731f3a40abb9af746fe7c0b1e0a0041599e169955d1c51a9c865d472062ad12bfa2e1370c16107cedd0367c2a252c15b727bd3bd721ad7fc2def1a7a0bd764b05e1e15f5ee2d24782a0fee14915957e721527656896af522e4563a3f730f7c10cea1f719192adfb77f3ded291aa8f021dd19c570392452a4668f1998caa3a82d2146b2f01d0f57a6a007207a52280e98d9ee4b1d4e655e679acadb8c1785b0ed32cb6f34153bb89177ff242d2cc5258bf6b88d8ad73380119e60c9d044df1010198634dfee094d88b5c615fa28563218dae77d21925e532926414bbf5afad4df87e9b55850e136d8b265b8702d800e2bf4b4e1127c4acc9979117400b94954c71b3a8daafd51def4363ad12a63499a3cd8d9e2aad85c7040c5a629448e6e9a2883cdf0541c255a139416733d437093232b3876ef8286391a45a8ffeae7546ea41164236c33652d06d8d96e1da7eb98c90edb634ee29040f61ef852d6364a8e3fbe6604d9c108e5bcae7720558bd8296d758c0851a4d28a4224b5a2b95263c8e6eec0ef2326a7c5e04756f280365cac1e9f366d181417e27c47df78d5d9f234ec7eb71110a6686fe6d6570f7432f7a9d4895614b96f6fd9d367f09c14771f6602a596d92dd8fe33efc6a55707a43db03a49ce08c416519424d145029e9bac6bda18c2364743a782dc7dd16c01b7d00796d910edcd8d3371900202721e4ae25e80fd62a8f6a7442517d594f51129bd9e6be6f94f5943adf5c1a4f6169bc24e7550f1ee75198bfdaabf8b8cccd34256439b66fe361a60831056ef3a8759e2a494b810c27bf04c9af5bde99486b44af16c355fa20a241932738f1ca1763b23aeea1be8392c0f088204a0eddfaa43863a502821180b51e612a2ae2282e926705cf4239b890cc9b2ac9167459c88550c23bf3b52c27e613e0ea3f3cf51c0fe679b1d0a2ca53c4b4548901c7c35f41a3f21e9663ef50d9a8bab9b544d00867283bf187886806f2dd43f2749014519a6cd7741331c6b0702523b92aa7ee04e11bb5c5ad1810cce15c37df8343bf1cf64b6aa4535c853df74aca20f1da7496d839778bd4a523855030935c4f99f262f9ee3707e55498aed803a2765b3789f7539f039cdb7e22bc93d528136bb87cae03ef2046740387f101767df26c100c73c17de2735cb852c5686fba76bc2cc97bab4e9f0d0896cf1d4f83b19346ecf6d954ffd9fb8876fed5cf775f826a9b9edcbd984bdebb2e5dad3f45b78d2da47172428a21062e3e6117c1787303646c495c02ca703702f6c02788f5febc6e70045777fa97ac7d0af863eb1c65b158ccd3d7f78d9f0641bd59fe41eeb864ebf04df1c3a54cd61a7dc43cecea3615839cb6d66024aad1c8df48ed204006e815c0eb3fe7c1a865e30040b9e2dba281bea016170746e676aea07ee14d23db5ea3003b4d79966fb86b3fcd97485ed1c88d564a6cd908b315d469076e1b462d3193cea2b4aa6be497313ec12b8c67e6e073c68cfa72967a0741785faefdf8ee6b618009a598beb5dde70027eb663beeabba4a27cd8f3e7e5ce1eec62e9d3ca7d376dd53eb5f5a73871cdec15f87c4c50210a03c47ebefd9bfbaf70bf3690a57bb9dbafc0899e280a1eeda15ae46ff1f6385e5713ea668ef5abc9e21c3bdcaaa79715714bffb2d14bcb80e1e802c52a4599a07b96f9b26115b02782b9aa47f449ea222e43789317c41c4c54f1aeeca0e0273c9ebf129274b4e592cfd7a5b4e1560f8acca493d65f4ec0a817015884b0a1c5d6e887090a9fc9c1b0f2826ccc3c5e1beb3bd25fd81f8b61978f44296a1acdc2667607cf16cb4051c5a8fa73f0217860c5e5fb19414f93a9d3d6ffa4c5f39a1c2a7203c2181dff8c9f8ee3150b021118761ca6d15275c271f5144410b35d772af209dfff0026209396d3e1e36305be0852fe0ff0606ca52010473175f3199f76c693f4dd9966159dcb58d99622a3a21399a978fe6ef8cb43ddcb49ec9921ec373196800f7b929f4a575cc1624c3f18c73925932bc89db4b120e638a33774067a53bd2c00d9a3a1c52882c6d03dde5eb4691e10e6e742299d2004dfb120301ae3941ffa1d0d510386f21738f5fa6573ca7e43b2d7c4a2d798dba43bef3cf5179cc4208cd13ae9df6e3cba8f80a8707788d61c5006b27567aa71372144332741eae928bb4b29d873973727735314e0697cc745823223d42cf82e1977c9175189b23c334c0d63fe5c21ae52a903a52484e61ade708fdcae6c2f90ab1d10cf231dfb19d78d2b4fc9e0bc89d339264e6937b73ea6e17955fbbce480605867d07f8e837cf9bb907ba1b9fbb09738f5d8c622cc50e1ee9b8be2e93979de01a01490aade7c6940a2660f6cd2c9c8bb297b7fe7f447dbe01beac9611f5cc613251136fabd79a60e8703ae5bc3ad93d01c7da4bb744f926311a812257fb14e7b431c9dff68b82d9ccfd4733dc91ddf3b70669bf9f68364a98845076fe1285d0b98e7f09dd211823e2966ba5ea17ae7e01889d48c2d0e10203fb276a5605014bd54aafe0a28047d161267c8258f2d2ad179387d0174092c914e62fde4bffc38c660040517960b866814a6d8b9bfb805bf2caa6d61147ed0c7225cb2cf0438afab3dc456fa5bdea1d78b1fa6601d121307e94d2d4f0936ec37653acb2b784bce0c93410c3bae2d3665f834a65d829d8ad4489948e0546968130ce01f5b9dc2b03c0ef972e24d4e64b406a98b6f88b86ce31ca225a910eb234aa328288161e71dd96e76e2aada0e27daf0321b6d07e33eb9762adf3f5dbb89a66ef3b8ce7c1aef09c3260d1b721844600c87cdbfe0d89ae49de6bea19902312bfbc89fc71b9467cbc4a242d33b8d1364151ad451b74de9bf47d800c7d707a4bdf6b72b7b8f87b38b179c905eefda2a1109e3544bdde326e4fb2309b2733615540d64816555840cebf1b95360a59403499e9f6674e6d7252ec0c577cf85d9be6e2cc77e719563f3e4ec11b1fa35350bb1f20c3c20fbbec83053ae3befc0783ea88a008750e15443674b009f182821e237513dae6252afbf211173aa7902e3af6889cc619e8b9c0543fbaa22fb1c97a56576fb3c30f9e06bb3e1337e590d1bcee490a515aaf023d57db24fc010c2f8784e8a6d08e50b45104417d7ae99d970ef9130ebfeffed784ba689e5b952ac57672a1200bda47f0353e4e29958d97c6406dffbef610729beea4af93e918d2e0252e3820b357290e44f8137448a471b077d2f4eee8be3ae7d511ed08ec2ce418d063bb19502ff292367c008bc4814ae824d4bc91c08d40d2c6e79f18922727a90c2e52870925a8324cf8d429da349f41a3d8b8ea60f57ad33d2be16c16359e11807d7c4e7162ffc7d440c7ec0adef0855554b6478b19c81007c1ceb51b863e43d8e41105236067e1c25bc9fc812032154c3209a4f226e5e9b761f25268b3074894bc41f62861156815b21fe591b3779fd5ed7c229ba4069999b9978383dca37aef34a04471532cd033bbecaef8ec947bf2fdd7955888120c941a38524035cc71fe6d7c5d749818d784c844fc2c60dcc146a640a216c4b672f4f62de657b9627d1280d89774ee9bf96a1f6ed1ed7b278414cf60bba8c9759bebdbdf829ff644532d26d615a5b93d6ed26c739afbe1079db23753f6a538f1a083d3ae605d7ca3ce2f249c396dbf9ac98010c60b03abb84bbbcceadc847bdfeeaf0842f9560ded7077e52a652f7b69586e32a9627993a5195c5fe8ee062a5a7a0085b991f1f8dc922765f3ec8b49f8fa7e5673fe5142baa09818ba5a1b78b9a8af82765f328c797249e61cff0c4093573ba46e4ace6111a32e7788b8dd41b754a663733b053406c75af40d3fe5ab5ff21d9ff37b417fe4266577d4a8b97f697007a76bf59f7b6fb29e6811b17b7eb20dffa63273f9d1630768870a42775c51d92bc383e62bdd2a57179e15f4652563bc2e320a65cce78b1e6c5b8a2af224f1d95146436bd2faaaae09fd763149f97dc79f2d585a6c3c8d534d41349605a390c1293b0bce3026a67e0f53585ed0ec2926ded2fd43eef443e33b2ee29349df5b896e2fa3af24d58cdd79f4ed9e33ad8923e7c37d8b9dc8bd64436cd413236a633e6a5c3a958f5eab757c1878391df8bc91f600117d123be00066e4f7b37acc1bbee21e6e052678ecc6ceeba0c480c4ab05a184ab5094d1cd1d4b01d07df48613d1831d10847f6c729120aac6f91adc098c946e507d19f5ba5b1c113c9959adbb67b3eb540f0180c2bc0a767df70921602bcbd0a3ed16d191bce5a80d03d761676a6ff1f99a260119f7c3a97d33a48cc4678b4ba91499a37dff4494c1b1986cbffd76c5b68d426f627a530da0fb7e1ff524943ef53c5867769dabe093cfb95b0612e1d880998f38ae8cc1ca9ea82e1e7a15896d37372f0ce7ed2450f66e23875f1d1d0cb854fd5072556414c65782e5d9c6a8dc00912b4b5aa0add9af9667a94975fec6461c81e21ceb8a198279cc60d836aaddf7367796fb5eacd00e1e720e993f65a5616efab5091025031d647315959bcea82a72b1dec3a793b9c7253f5fb25a0ee37d025d814245027667fff95ddf82032c7f8a182485cef10999cc24755709114dff4276f587e1c10ffec7e251a83abd27e9a651bb205bd5c5d1996fc2ca10ae4230d5799044daa202a719446bb9a30edd3bc7fb37a5486e4b625a755ce06acbff86ae49a06bd7f452d3a65cf85edc9c6a41f70c2695c7f227b6597be790fccb003395b7c71a1506bd920f4d6c6805b9144b796bf33f1613cb0c160480f7a6d90c5463155964ff8b3a455c9387438d4f2871843c886fdfb1ef3eb97b73be2a0cec47d38bd6fa649e240af990e570e8a35721b2590f35692cbfaf871c5d210271b5ab275c1e140ab2042fdf0b9b35771262e950633d99453e07966744ce9e03ca72584e473dbc3c9c8157fbd2c982991e8b6f1aca1be585b1d6898a695c9c49df3ec20ee8c49a02e66a43b7c5e0074d0a23cb127d57f6eec5b8c37893fe0f8a592c2c101e3d82ef46758a515d1ac86b945992c4a747ad8fdc727f9c9f583c3cc01f61bb346dc9c6f334457d377ee875d91b7ca0a303fc87e930eb2d53185f12c7f1794278cfe2a03e6f1fbf7adc135bcc6fed4a674883ffbd13c06a70b4d6d7f7b2ae717b84ea03bf90feb1a3c9e782f18221ee069258a8934cecdec85384ba5305b5b4f49e03c2ec51ebbdd87097536802289f3b0273a64431f3c45496f852c023f1b1eb079bf633cb68dea69772ab6fa9eddb34430b395ba87252666ab85384cab6e6a1d692fe5a055f184c1d9446e0cb03839aa2de6a164c18bfa41b3e816064a8f0fce607709e334f56eb42934626d6743aa5e32247d2f588b5"}, {0x98, 0xff, 0x9, "671bf1e31d368d2999de33839edeeee1e516a90e9acab01075d64f115bf045e98cb005447278fa7fda406940a979dfba3cbbcf8c0169f38e88fac3d95df2962be5bd97e7f8ce7efb521d39b197cafe992bb8660f088f8245ecc19efd4467daab232502652d04d52958e4b5337aaaa921cd594e21eb740d8333b28178316a8f726a4dfa66f348d6"}], 0x1178}}, {{&(0x7f0000002740)=@pppol2tpv3in6={0x18, 0x1, {0x0, r1, 0x0, 0x0, 0x3, 0x2, {0xa, 0x4e22, 0x80000000, @private0, 0x200}}}, 0x80, &(0x7f0000000000)=[{&(0x7f00000027c0)="56ff3b2ae2bb26d44a4dd7922c4c8824058331ab9d715c18db39e07c50a7ba070df545fb487b9a9571580e7b4e1afe6540837c5a01c75c3fd1477eb89f68fe5327c54a3f3f5b7354f07464a2d9b5df073759e0c9d847c779d0a41f35a6557486bd404f7b0344b0a782a0985b4323f8ec", 0x70}], 0x1, &(0x7f0000002840)=[{0xc0, 0x112, 0x1, "5d1344e0102ee254a1e5292e46db8e597b3adf4ebcf6fadead68708c9d64ad9742e2c3575434b04a2a941bc4d03c1ade552eae6416572a857b8424aed2f55a9c82ee9c0a30b6ead60bdc118d1165499d48d5d7e186b3520663536ee6f0db0b16cef83d40ab0333998332c4a394d94afe68401d51b6f40bebccf0765b4ce8fcad91765e89cca48a5313603494a3a29ad4a773da7bc342d7ec537e2bf2fca1264338c6ea900335bae076c893e348dc"}, {0x78, 0x109, 0x9000000, "7f65d6b0bb331abc0008c100d07aeab69358afc16499b0db6766988e25d581d653b422505a60960b9a6b9787977c83b3567e8887491b77ff587db6d40cc3ed7c19094ba98fdefc98b1103be20ecd1f0f71983e1e24e4f1e98ab1c071570b9373a2bbec7a6c90cd"}, {0xb0, 0x10a, 0x200, "73cea165187e45f6fc054554cd4e416063b1762e811b85ab562026cda12ee24b5d41631aa0e5566d145fbf159c22aa44b8c907286a80e023630def573120763faa69be5dd05c7619e176f3600d79211ed1761f9bff1e5e27b52085f860129f68277b85134ff8f49d650d6b82f376e18c165caf4da70ec792e1931172bcf01b0992e45dde4d963769b073e6b7321daf1a441f98761373cd12af06454279"}], 0x1e8}}, {{&(0x7f0000002a40)=@x25, 0x80, &(0x7f0000000540)=[{&(0x7f0000002ac0)="eccab2ea82a7b459905931ba98ec064922be626f2259697f00ab7460e4c8b638dcf39f73b6632fa626428f5711bdfaa1f9506a7d1bfbf86723490fcf6179f3b3d79721df149ec810013d714ba93b28ca0d34c54780f8167b71cc82a3eaad25c59b83792ddc4e6733e211f98ce2b4948289a7a488e6ec289265584f3e18a0af63520b3dca6e8048f188de0c9f765e81f6854f6800a43fcb6885d212454107b93dd61e41ba57c7bdbedaed42aba02128b1abc92ba1877bd24a5d39b0cc4e496335b6513b9c0a1c0ee595c2c3fd73af5928ab883c184894818747d6b4a5842489957be5e7f764e0a2e0f614", 0xea}, {&(0x7f0000002bc0)="1c8d423a9c49f7197bd6b289644287d893642ac21e9bd236b9d4f00d0280014ae9cb478f771dc64ab73b57fb2b2ed92e7368c98cf9abb5ed4d4b652027eead26ce58b96d96d4163c49477783ed7151174472c02496", 0x55}, {&(0x7f0000002c40)="9b61ce18df7d298c6182b4b3a8120b96a8f678d165d6222710a2c1583209461ed3ac39cccc2c18ae8518bd4c33fffde032cdefbb2c2d718b3a314a57966b9104fff5733bf4374cd6cab0ea4560d85ddae019860facc2fe8901104167dc5bfc7447fab8e3f263dfa02e5b753d335671ece4555b31a98ea7c41f661fadb00e7f6ed6bd32ae0fb0de4e69ce0e8cd777093d38fe5a43d726dd9e5906c73d0a4852b56a3ec54010dddc100504acf888d43f288557e28b60d30684b292a623b18faa05939cf483ff84de87f7f18ce0e3a3933348583c178887935142de68ad9ce2a0bac199c86e58da7c803c3afaaa200b1e71dd6855f80585cdfabd05c16ae07d8b485af861bca285e7658b12846f2bdb0bb689bf66a088b2086b074b6e7f669295b24a0187d203206f0e2d5ac480bba22ba08752ade4412c11e065bdf5b0eca6b5600fd9f4324b833e2e85db2a9bc114878cfc6719bd4ac498c6ca7d88826740ecfba2f01ac381f86b3ab1cb1e752c24dbf58ac26c8565964e8dc6f4f7f9b76032c05318376c2b36705b59a2f0c65239f56c9769238bfe4dc87efdcc2019c9a1e68a862a873850769d3c1f4f8b16a60bed9181d3c49752551fe3c942dbcb3a422b06e64332cfcd0c7327ad643d704f521726d7ddfa2d34ccd227ea2ca8dd1b7fadaf422eedffda86fb42ab6b89f1e9b52b343b48e09e22fe5ea009d2b5df92176ffe14bd5f6aa1b9dbe98800405db4d897061e0c81c5ff2a5e7bcab5d4a30afd11c58b79cd692089fcf2364edbe69c2ddd4deea2fdb200dc4ee276f6e6be2c708f78eced73d5d3ee53df381e2b8c8402e3ffa7875ce1a49d9b82a14500c064fffa22edca7ff83a7450fa487f31309572d694f21bc2809aa41f7cdc7223517e7342afa1c48f38b27d44d3a683402bf8b440658d43d3649a9dc1ab8da4f98731e33ef4620ba518c34a24932fe71280f1277bc6a30c3a34fb4e009e4d60b76772a37f348b3ab6b6fb31f64e3f3f7f0e21ab2f105b4175dc5e74d0938ecc12ee7fcfc1eee30a8b0add121a3bf5f9b87f5524bde6ae9c72c426b824544872a994393c6b95720188f17cff0e63a5b6ca3eb3d13ff555f649bf3da83e8d7c2f24f1ed5edd2aa31390814adeb1556d5695b7469d315a1ec89155f0b4db3fd09ffb77c83ce79ee6b611568c7c5d8a1d70a106c94ae26de141e5795aa1e811e5f9890c0a104b3df70844ff678c02269526b52b9b6fb683e2546b07ab43df5846b7fe98c22a25209679edc6a009b24dd6a1f2def3a914c9014fa9d064c35eaa919b342dd2ae15503e82761fe7d8cb4787b73fbb9bb8703a5b7cc8f0dc5b11ee11b76979c0de221eb7bed0bc2c6789b16a6cd6e38b4e980af7f7bf1b4c49bfbd423738376f546b832893aea112cfd02a357f926428743b585707968957a6911708161382213caf431036d5c23bc3f544a4d4894f9f26cdec683799db479ce2d8a681810581dfd7263887c616cbb1d0ebf2ba9f73440484b5089e41c44d1c059c811534b137f44d73880cc76cdbecf686ab5a90e52df47123e6c7543455eb1d665dd350331e3948f72b40ab8732358b711125573de4a1166a4979ce4429c507ccdc69c9c029ad3541fdafbd8c91a83616a6219d9bc6a07813c3942ceda3eeec2944bd601f4f832200b675247cbfb8a296c9bd28b930b5adbcd89b641abc835b6d8d8878a3ba95db5d05db7503642d565a6d43e8feeb96731439793e6a604ce366248ebe5457cefd39cf86307199911c6540836231ebb0baf9c7fcf7483ed37b5dce2e06c44766699d63fc1f59d47c3ac1ff1a9705a99c0252504b6ad0113b6243a55b3cfbf21f5a59271eee940c3eea2217258fa3b1b0ef3368ae64258b9c445eb704a81e4205f368bf93a81fd76858fb963a9589d6f4dafc0ffbd0ee2500413ff854eeca219889e4246fb8d133634fc31c271104045d2e9eed7400e92f70c307a03517449bc2ccba7ddafa1922db1a742271210f5e5a0753098e04ae406ce807b5a29966d7ad3e5ec9d4ebb8690079099ae5c42a6932f003419cee7f1da8c9889052c932c97bf2a5c51c9acba6bea9f09342b314137019bdb270e2204743859d116bdbab2910b70a8e263fde741399ba08176db2fe6b97ff8878579435f73cae0174b034df0100f97c3d1bdf21091a02140ee9a17cb7a0c4192cecfcb5e66a4b78699458e4ccbbb911210797389bedccb07b3fc7498a2a5150e63a3bddccfb2c594f5dfef81d3417c7164f76f45bc779de4969d0937d5d4a6f551d00c5687f6111aabdb6c58538eb32e5be0cb11a44e51381a48df0ee85f21bbd4aff6d163cf5449e2d92e3dc846726b48bcb9a005cb5c13fa95b482077d458be9e483527789c8a57225804accd905fd1fae09b36f294614687c65a49d125251e0840a48766d6dcea18e263b2291b44ed2421b4a919dbaee78faed4e0e53c1e9461c491ad8b865a5c03ddc149b1166c70fc73c97d592cbeaf06a14ba1247a9eba14e2cd603cdd776836bc35206c4e74adf4164dd78d056b292de0e98dbed994e057d8627d77a78a8db2a4375815a69f8e30512a0b40d88e606780ef57e0f5334f8b67e31c01125a6ed0979647c4f9d88058d3cdfa313bafbc8049afb216fb14bf5f8d496fb995a8e40eb036fc1bc1478faef27c00297f7ca8b06653c8d789379db5cf48145ee9414f7d96ad4b47ac100a52573d5738531bd442de42d20fec158ad91768de5f13ba6a5eeb603b88366801dd75b08e230fd71fe0f84ddfa8dd8b30bf1fe0dc76ebe84f10a95fe42df695deef3ca4f34a83feedee1c3f9250179044d6549278b0b911c52b2b70a09b631619ad83a0ac22aef77b6c6237c99dbaa5711e3ddfb1850fcf5815de4f8a00ed4f89727ee2466ad7c33b929fee2624adeb622c12be17601d57345cf75cdc3383f62eacfd960c6d0aea3ea1c6145015c81782af7894b0a852446a0c9191a6616e1c732e007a7dd60929c721ce032d464d712f158dcb09a932b060f0604aafab93382f9e81976472cea492868b68d7c135ee348b63d8e74ba2e8100194330e82e8aa3e34ee6b35e00f648017c721d79d98934b452f23398491a378d33afb76ead7036500ce732f583d5d233bf169be86f88b8501a3de30ef34ba94d5a67d86cbdbc2493d703a24c18a6d8ddd0098e5d649b4e0de5d52e0e88f212b80d2f8c4f977cb1b107054ee2d72f9ba21744ce775f421b562e3ab1948ac051ad4710e0559fc8b9f51b974d245e655571f702821af260b58ca1605491c47c1db1df6521841699a0f83e1bcd8f30e05e7e331d74218521857f33eab2292c867ee1b630fc566823814f579f6eedc67014b0c5733b52100283056fb61b75b4d72608456ef6f7cbafa66466365590e145cde41daee088940748f0701fe0e0bfc5b5736bde37e7e60c41f85b56f19c0d9035090f0eb1304b53836a6180a6c483b7d3417ad0fe5d17519ec1f122a5574344e23c182ed1272fe9663f24a3e2cc501226bd472ee8580ce873a787da307af6bdd6afb286f550f027878198585990e02daeb238a4cdf91e75306371cb48a340363630ac3a408b00f02a532784fb301e7dd58a681b0d41dddf5ff2b1271ce281fcbe6132250b7e3e52d4abf3195eabd2e3666007f5455174404fb946f0a50cc1b35b0f85d88a22fd1ad716315596c9204d4301253d173a52f6cc6db93eacdd08a44d450532cac800cf35751d52a7bfeabc0172a5be133a2718a9bae3941cb8e1e8904ff737d141c671d2779057ac6776549b9d59db6218b7f6f218d9e0e6c18f63bfd1d4a0ef84695e374981a65176b04440fe121964d82202866362096e07671039f031bdb553343a52f7aea1bd48725943e830b3299a6aa2e35e489aeb0fa6a93a8f63c4aafbb6f02139d5165efaa987cdefe2e37f13eb940ad6684bb66a87383f1b24562e978253298365b55391cd77c369e063a8fe0b4740274a5a8a8f05e0b194a0f4036cda963f6a30a436103e2b4a08c91a81b93a62f6abbfa5657742bbb136798642a9fcb25e258e64ff2dfee47b583f021821afbedbde2b80487df8cbff5a45e3a4767c7e5cea986ac337ad6a518455f5986a90cab4510c5a870625302df87527d9159aec954b2b4825e1350faa6fa528bbf7db777a10835dd6dd47c4d2ceaaddfcf73a4d6625f39c1a13480e456602d10757b7eaad8ed8e09427f6d50506614d6b84dab507e6198d8f12ee8d187f5f38a58102daaeb92df432ae8e403d5197114bbd91a3a3536e398b9ad56c1ca66d9bbc910808e88c90d6a25c8ade80ccee9423ba676efe6c570f103a126a89b9fc12b335e911151ab60b0ca6d6afa3eb88b18ac8e7617674db3d16daa13cadf8b3895c00454e3db744712f2cde14dafc9fce7b71d0c1e48ef4193655a4e16df9eb378f611f2d15cfe0d7184f64252517828f9d2921ca11f36326b056fbde56577543358245cc610e11b55d55345bcb83b95173c6cd6576b77a6b0659f98ba035fdba894d65daa5ec3bc044f794801f20483f4bb912a29dbb762a27072a9ac607fbc2184fedf6ab1f64a07912b795435a98dd990816ed5fbae180a07ee40847aab48487929d747ffb8a3646610b7ecd1fb7307a7bf2d5524f00da5ba8f329dd972cf93a03a483bc7d4454fb1b0e853de1575d2015ef3f426a32e25d6290cbdca2e6537c45bcfdd26075b516775a4c5abb67b175e7704c18b3cc63538ef01a97e49ea24be56bcabfcf1fb64ccd73dbbc01bd6e7502f0768812cd936bc8b49c04bdd00ed25715eb985cdaba73cd8dd40c825009cf01b448b07b853478e5b7378f057b2b7d987071f15c5dedb5c647ad62f75b78b000187536a1a247c59b807e6494ae3b1abe29b411265cdfe24915aac219bc3054760fb40034513afe43dc0fd84e325050fb67ee80b93bbe982fc319e51bfba03884be3ad1338a37d8168d19299950214839d2db4e6c156896c5bf11f0bcd29d9a128f32cfab33a0277b60b5ee7238632845f37cf5d5ace7b7a36dd5f8887529e064411ab9a0195e68431943fb40b25ea4d8009cce2b5ac71a4437a5d23de041e8470ac4e3fbedf4d7f50472cbb9f40d3278c21ef536b80f01d1df3d7c2f05da5fed890f2e2e089b5112298082299d79ff8d1be90318f97ffff6a73558f351f3c949c60457ef6beae48628178e08a5034fb822d963668691db4f856b1317c705f45509e6e6cc9974c856f2e5962680a789055e563c7b12c17493b05b6b045319bcfb701e33053f9335873a73a4ad414b9173932573e11b697a626901276acdcf8972c589e1e3efec1583fe19715a6f21227e412f48e2e8e79d1c72489cd2fac3f8059f4982b8d71bc280415f47fe675beaffed351efb7b88a7cbfb7fd626a1842c3af881286bffc3eed23e33ddf44a8d69de6aec3a1e5082712fd85cae842e5b66bbc56057afbbfb45fe4c7f4086c267e475bb7ab06e222455e363d19272ea6e79355e145e060113a8050bbcd499283fde0471458c6282f3a65fa75771d976cd9feebc5e5335fb46e280b273d83f56ce4976379864dda472624ed282d2e5ba2aeac0043b9d2fc9da20db5a2d5fb1ca12eb501fb9b5f682d6323c32bee7538505ba898bd6790a1e7e9a292fb5194b132560c2e7087b1dcfa360b36b4705f4b7104d45bc43a10925844f3199f80692963b67f9e4b6e64fd195b25d315110ccd31f313af377c0fb3aae831d8ae6ed3b1e058221b9b07fef98c964d82b1369042ecbd1eaa3ed69603679cc73dbd3ce0877028f94298", 0x1000}], 0x3, &(0x7f0000003c40)=[{0x80, 0x28, 0xb19e, "3dc6d1842b0f5104d2c23245c8a63a87b25f41e599fc6994243cae602b46cb243e9faedc8b715db043549b318a42f1f2af595b0fb46cfa392a824382b95a07b7a89ae0d159b1a3684b1c8813f05543b2b9452c27c7776b19e3cc6e2fc93bcdef972452edbbbf008c64c559c29f0746f3"}, {0xe8, 0x104, 0x10001, "482c6628eef627a0e65315e88b86b4edc7f36d73ef7d708a43988cae94fbaf806d8702f2fba379af0c3d49cbd0fdd988a9061e0db837fb499ecb532c78791745c249f912ff2e3bcaf423378f5eb3044db00f24ffcc5bf82ce50af5bdfc0ba5fb04f651027de74c9a0dc3584f33e8bd80085451e0b6d2a40302be1cb6d8dbefac6f15347523f18abe3451b46d5d4e0c2ad7c247319bcb388eac30254683b937f0f4c77a8b776917cb6159b467f68f55f024dbcfddabfe9cecc9af559b8f87fd72ce71f1b49494628321b2f2c4226c68f9ee76b00c32a359"}, {0x20, 0x10c, 0x57, "efb89b677286fdb484411272"}, {0x90, 0x110, 0x101, "cdd6f64956a2e61c9eba06ab238339fc34e9e6f526d633f24c5b4eaa95c9f27a536c80f299842a6cf4c0c9c596ae30c0b9ddf09d5e2c6dcbbbc4f7411cbdc2e01ec6ec9e083eab02b96c20645f6d61f642a2b0c973ed5a0761a3a015246c861e88240fe65b5ade80abb0a8562e381bbe651d477da9d060bb8b12"}, {0x60, 0x115, 0x9, "7400a79fbf44b4ecff28d5d42dc2a50de3c01f4db184d69c72ef0cff22410e2f644cf25d4f309457cfdc2fe15cd7c6a6f50f9f0650227ad0b4939e16f0477eff7de966736382eda81b27e872"}, {0xc0, 0x29, 0x4, "d8f7ec12054211240dc3d04d87e6eed3042785a482424b5aa4fc0bae95d4bf4ef981016fef92d9c1ef729e9d8e445bb37dd4c1ffccbcbd227228d49994d8cbf81515608f7d7226b72c68af80ddeb9ae73c1f04476c5bc56ff593e3eec8dd253aedf18c0e1a4aa4864c206699fa5d62e017e5fcdbbd4f44e41faf3d10849ee135553ea3e52a2d45cbef8811a05482f657cb41fc78816faa0fd8fdad4ec7517029203399c7c5c95360ccc8ea31d252b62e"}], 0x338}}, {{&(0x7f0000003f80)=@l2={0x1f, 0x200, @any, 0x9}, 0x80, &(0x7f0000005440)=[{&(0x7f0000004000)="daebcf2cb9324cdfc0a09095279c5ed6465bdf7470f229aa29c03cd9d1ecdd687cc2aaeb60a183386e15de77ebee4ad905ff07d23a472a3627f0aada439f4a6587d63f43c9c528a43a962b3ec7739f5f30379a9295b982ba0c92d3b5c9c9c6049194f1d228214b2865c5e25b2356896917df97796c6cef5a506a9e7154674c451fe5f6458a486c5f5b993712814294931f25562531ea1d3e40d05142c004cd7db2fcee30fbb7", 0xa6}, {&(0x7f00000040c0)="5f778ac39e8bb6f8a2e486b60d2c5a16a55409568a263b2e7651232c2358e7e078c1dce15e162bc1155e4592a1de4402610aeef2d4db2a027282d8bbbc1239efb7e2ca887fa644fe2bf458fc8e17ae6fa97c0faff5b820749c24a07dd820795b9f6becc1bfa5fc704dd929341ad5edf5e50c17b4b0c16ebda2b5bdf41ca3d10057f95797370925e526920aa7ebb4937900a305d9c4a7a72579ffae72fa8bde2227", 0xa1}, {&(0x7f0000004180)="7062f0726a965f917b4aff40ac86383eeab5ad8f94848df0e4e91611db6e029726a08dab87a390d87943c6f91a588172149e086895c9fdeccfefdd026b9187e3deff76154e79464b3df8455748ab3d549366a256ef72dd0c1fbe2165c675d4850b5e7179beaa8404ba068f43a3cf671d9c5f7a29973f72ca11c1aa2ed7a420c614ad9863020fe5fcf71c6efd40083f4f0715429370953c302d881a6406a8764ab844d0bee5604ab5e1f6ff2b7bc6", 0xae}, {&(0x7f0000004240)="05f26464c5efb55e6e2f946c843a5ff4d9d7cfb1aca93f5e0d76b7fe84951a078b948581ed2eac2a72a02ef1", 0x2c}, {&(0x7f0000004280)="5ebf9a6b6bf17d0f6445c304991ebe21ea97d6edd057655c5e1a4153c6cf7af80d9a3b8d1bf41d63caf1ccdcadf29683fb173cdb41965091dd5b0a9fd142aed59cc1fb096e08f57f198e13d74eb43fef758e1c4f557204325cb1b2dbd791436fbceea40870670344170516cead46d5262d44864d5492430c73e233dc828673b1f4f396daf182", 0x86}, {&(0x7f0000004340)="d9cbb3397c3f9d4c10f0066b90d3a650e26c5525fff3bea705765ac010abdeb96b1114cc49f988135acc7d5a48992e6957770835538a82e49b3468ea95c7274e6bc9ebb649687b1735f7cdac165b024ba3985fa306899a9fe3fe9548ea7bfde2b984d4e876dbc58530084d21d5d8cc9846eeef79db65f331324caae3c680cf8b6f750139e050636189c20ced44ad3a219e347be763a73dc82e9502e22854f4740d8aeacfd57f6fb02d0ed7b2bb71f684434d6b479ab45528f8878ab56bcb6b67ca50eface8f75f960a7f9dbf2bfd1122eb8e6ad0a64c76f99a7343e2601af0e6ef2bb27fdc6b081764141d071fd9fed0f5283ee82ef546881eb7f0e3b423be567323e063bac55d66a1822b5e7e72eb81a4eba6223c13653dd9bb77aafc694ce916db86ada771075db06e0b23befd7bce976e7da6532cd8888a6f1bf7a193d727afaebfb372a81de886f123dac7a1e6e56fd18f618ace74d989afb577311a1508dbe63c2e0a2426fa1a0c95d5bbb48cbe8ce85c79093cef721e940a5d06d2d0e907442ff7b92a6d0873c5bc4020f7ae57a6d37baaaf2a08a83247a86c37fa8e3021c9b041e378d342bb93fac8d1ddb362a3a1f66f0934734988fdc0845bfbd003fafb4befdcb4bbe0bd7d0978e317f5dd08f9424d3b6e551e3075ea8f3d3b6157e6f027898fc8360ed088449a47bd790a2743f182f9d578a353f22f122582a3ef9cd2d5307eb1f05dc5f9f9873345001a6012f422128f611f62abf03453fe8c79947c3a5a612b88f35a2811eaae2ec6fe9cf2b317f1172ef601b8df7327031481e4651bc37c7a5a1d0ed7c4ad3bad06b95a8c304627249c107f60e3a6e25e2fc0b0230a0ba0271a84ca901b464ad76af874300c3b21c9cb2b7174cca5809a6ef8cfa1b5a573914f4a3e9cef52f6343b28600f7982823b0e093ddbb0520747451a219189c5122b423e9ffff4bec73a4632c9806cb7ca7e17b64050dce543cfbf6ce6778a6d4acfbaa451d61e955d279317f2e9752755d0e5ed2d6761d0f8b3a264520a32239d9fd0dee13c632f3c775c008b62d78b30cc9065a4d26b6cee3b3186941212c6016885a5b22aa4ea831b06e73c08196fe5d3dae8e54faf64529eadcb6b50bfdc1a71266c9e006a1c3165217708ff4de0a7d82523679d0a71059e15b6294f718f82fa2e920a1fc0fe4c25d40aa9224d4ab8c20279d4ffba78d0f90479dc3bf0eb0b858a3d92abbf6118cedfd4ac5746471f0565f340413a17b097c181d4fadeb3ac29277b9a7d978ba3fc6806664d4808d24b19d9b95a9390e5ce5cebd620c3ec2aa02395fa61b677f3ee2db5ebb0f313938705cced547725d8dd42221906af77dbf07932c3d626989ad08d4c5443f193a93a41d8385c3324682d109a5b21e12e52c3d859b3e9a781c7a60b4838ceb4e24ea647022689a89a2acba87eca3ca4ba03040f4cf99f9a3d4aa29ed4288b811cfb75b20ea272af00e5541f01e388f7f624a0b49766eec7937c487cb5c4ad9dfb4b6f9056e2898fa75793bc08683088dca9dee7f5acab38522e7ea93df91ad16b64fb9d82853931e581f01471dc7e53cbfba820c772cd87eebed013658cd05e027b6da4ede983df1360a5487451e6b2a872a7f9bf1c512be94676955d748712d0cbda1f28337af0bf8eb77d4d6b8210c4832d6828b07e07ce3eec87b6770767ea10c6b0a3f5de0798d623afddd8f6bc933bae0bcf5c099bc1fd43d5b7532641d041a61ceaa78f7ba63309c95dee09e96425f984807427ae2a59a35671a9d5a4646960cc1534633baec90cc12cdac193c70d91e4e7011a4770d570fd71fe37f36f391bbb509dd684de0c0a0e854cb2f8ccebb51904e5c1080c28796b12eb58af4dc60a8ee1fec7bec0461faccec0f6d13b9a1b4e719245b8cb1fb393486a3fbbb9a83a438bc71718278e60053e4f0ce1d3d3eaa14fad2a24b50188d75179f6ee389fd59105172232da8d6b9c7eb54cad7873a1da42ed549f1178821c50739ec7598098cb615d27c231885b2cbeace61795caf96d2a48f3793ce462c22770b9ccc98685a63d286bf6d7c8426664f167f3726f9b04434eb43f2067b6f85b351f3ddb99a0a24c1097204b58bec4a9b231daeefa6822b7683f1a1fa39b0f2faa3612bbb03ed33eda08b894f8b58f2c926dc2ce048df5c776ebdb2f9cf6c1acddcdd5274e125dd23b783f1f4d18921777aeaece60b24e7e26c36e1fae995763c83e46a2062d8e516018e5703a3913c733cc8701109f6342cba54986675268e49d74d91fe1e21d74fa3be0e296c7315d840ffabfbeb8863d2a625462c92c342dcad129dc4986f944c25c2a0a09218abbda70ec13d9546cf7f4deb5ae220921602c5348f8e804f8bdcb7cfcf6a5348a8580fb7a7037678d770c957af1af319926d97e517c90677cf36379d9fa2cf9d39fa5c385c872a64d190aaf59b5a8dca8f3354f6a6ee01388edc72ec7a0c5af2a4941e7c7b0839260be9d3c8066c1ee1c3831c401a5c81a91563158fea9d721e97bb2bafa95e9196784bce1d7f681806c0734f957d395b530eba57e84b2524bd49aa3996111d55ae1badbd63a3d6322cfe53db97ef0757c9cf50ea26aa12877f6456cb1a26b9c8bad02790f433f1490aabd9cd830f162dcb498a607541292287f42a6303ce6b1c5c91f8f41abb65394393094787e33db79082413af40606dd7b181e0c39d1592628ade05ca685283753375148abeb31d68356bbfb39ffccdced8e157fe8ee31336758b0384481baa387df5c43cb523aa7bf3558f25bc0851b570e832ba51256731b7291d882fdb83044b4c9594fb259d03ac643c3c89e721445b5d40e2c7de10bb567542663f4022e2ff9de7094047484ef3bde6606d08c2eeacc81f4859cc9f3644d94aaa95e20b994859347e84811b90568fefb3b89f39e8e45e6e276cc76e9af97f9fe59eeb694aa709b9e075fab177a6f251fb2293fb27cc811718a779589734053428c10d3d38a7a17b7f6d53aa6fca870a31a43cf4a3bd3c2a5fa6357f58a32b848236f10854d55c107c588bf90e970598cf61f9cee6abb1de4347dee529f72fe781cfeffac43a79bf2765a44220b4ebf7eb3ba38b973c67419b8cce5281aa01100839064e35b37656301e6fc531ab70c6e467dee3dc960204bffc73db31b81eb7e387863586e33ab95c979aab60757985489239fc0dc025bd82a8d5790afba043f1ebacf042a588b188daafe2097822f23e5de474ad678099617977afd6c6005360511d3a5b14864770c4e9331b29a85323a5c2dbdf38ee1cba46f62769aa613e4968607ce1dc19add9964cdbf788c0ad6785639a9394e9f08091f88c1236432ed162e3821760fd4519bd7093e9ed665d32d2982e26b3595c7515566c11f38668e22725bc61aaf13582323ceab04348a90834893dddef78f6718d2de5dac973dcd30cc41c9dcbe96b5d33bc5b821f05d25223f866f109a72b6292012fef232dfa3a2a4f333655d93f728deeaa071a5108651bcc2ece7859a79217cf358f513ab1729abb731c0d2b7a83f2d7ede455cccef744f55de607c3fd57712afd363e7b43ee9a16ae3082d4af7b36c63daf75ba53e2eeb87bc923fc86406beee657947ba63a59081df2a22cbd4f8524f2a32b55251068a3d2aa44474098952c1bea44473182fe29c7262cce8218dfe4f9d3cde69dc83089a5d73f1cfb75b7a707326dca27eda7a8469a317bf231c8da4780d01ca49cda25d22fe07f469fe55ca7d8c33810f315dd327680e8d8e0f730e6c2a0e3392181610ea0bf1918a14aa0d6e32fe32d48f39dd4e4e6a8596b6b3fa48bcd1a6efe6708ece81ee30112d78c548f87532e935f61300e92842798b53d71f9772e5f9e771ff3f0738038e6a70c474e339ed33e562420042a88d5ff1d10decc94ea0a136b68a11fceec6fc161d801e5133d4d9de63fb99860c7eb63fbb34ab12136667e9126adeb97c4703b498847e8b086c38de83cee2e3f7a2da4b0312092c75a5f0e193ce5b4f4a7ebb9c36056abc2e239ad969e2ab5e4fea3d833408c9164c98fc3bbfb37874ce9512aed58eff57410d7887521cb4a60f0a4d62599b07f545f0885d21c55ae1bcbdd6ca878b00d80237cf6ba1481e7b527ef0a891877d080165bb6b5f1bd6b649ca21ed61e999023df2ca182fe42eaba6df2aeee26985ea4dd4bb3ac8e3168ced729eb63f851dacffcecd1e2e91f4de664fcbf836a7642f5e586012c8e87e467effa3cee214e6480e01086c433809ee1a9026a2392bc8b96dca708c794010f7c21fa632c02eba73f71be16d887056d08394aa37ebc5b20ebe58f71954d30c3408b297e652ba36edf1b7090cec55c02c4d737fd2af48f6239b9ecde59170b6688e60c4574e5c071cd79cdf9c98c59f3e06e2add90b044ab7790da7ea2f4853179e25515023076cb0ca7b72ada6a2bb95bfb6587f12a0864b0c7f3c541f0ebef47e73010c50cf044fbfa9a628def0ef7dad81a62919b1cdc63a534e5998cbfc52ef6c08536a403bc18b1995adf7c18e93ae7b58203d0f26776c1a85d2b27d68106b6e3aa55f6580529cbcaf35bf22863e3c009f2c5aa7822f67398c6f7b41800cc2c03e11b2a42397a06d89bde5f0508cc3fcff16dd5e4ef48ba0192e7d2d440b7fa4b4d0bf975ec6fc4259aa69c79e8b8d68c66a2d08eb8c1ae6f251ec47024500a4c212fd34ce2731a79efd2c65bc3486723debbd6241b9c3eb9e7b0c1b6cf83fdbede0a7242c2010df743037a1b35ef5de52a5552b2555cd78d39626aab28e050308bb6929658e8c52ec0bd5c8de6f9654550c94de29701722649518855c37ecb37af103812b8eb7354db022f1e2a69748be141e59fb89f5b09b39f73a4039fc591ddc2e746debe9d53cb83c342a4c4d2cef3c5c3366786a7755556160364d28b12a2dbf2c666784e4a1d7ff6713672ab8d08430576ac6531509c0fb0a0432ec12db26b76b8f846736a53db789bce27bc378cfa93fbc34fd6bd8e8c9bca6aa56f5ea610076608cf745b83902abc8fadaaa83973a45819c9ba78d129d70447c0e2c1f05ef4ab5eb4ad80510f3e1156894dc9d08ca61542c8f91ba67d5aaac3b242a312000a3ba5fbacc57d1b305f98798668e170c7fdd99fa815bfd705899856e9c1122d41f9f2c61aee65c167d7b3622af3af4811b2813e7836c30dee1fcd7122e3aa7b6cbbc2b37203f40eae8b1a9bb5c961a49f9b4c71d752aef30d95a61176baffc601576c326c55d23ff8678471c9a3228e0793be6f981bf5c009f5bc8619e7d0243c8e420f3dd24fbf81d05f5f381303cde357762e6b148b0d6ae6b81da2bb5215344a71a7ff93de8c1ea87b1c4823be4d87521c9e7a5904e09b3ecac4e8426e31fe4f1375e9319d0aa48504525af16177036eddc978d287ab66abc2459055fe2fcbaa81e594add3c3523ae808c9d5879bd716a2d24d747706283ede838c2ee4facedf9049a095f90583627603823411e8e4fa835ffc3fad4ff0701792c4d374dbe6b36c9ec442bb5b50ed426ee35063e2bcfabaa135400c2a318c28beaf4c238295f4269bb867098a69b2683595019e81a08757006d5ab3b6c57e0e175994d3d3e6629c59691a55280f438504f7a00f517856b344bfa6b73dea2147d4a2555ab424607c839d59d9524defef21cb6ab11d07d490b5358723d814454f2a96e7233ce09c42e9834717bb2c94502da984fc37b4ede9ccb0b2325230214840ad26e6a6946611baf145ddc8223f029d92dc08316765d5bbea3e87b30e08579064", 0x1000}, {&(0x7f0000005340)="3d69e72b1495517e1c9d1d6ed2999804a5780fb33531bd84649669a9357b40fd53d05c153ca050f0a1f6669bba192978f5922f67062e2195d0ed08e5612845184eecc9f8bb80cfd70c7f1ec23bfd471834007d27", 0x54}, {&(0x7f00000053c0)="936098ae2430d3af588e1aae6821874f4b3c881575877fd8c998d7bc1fb65ee463342c64abd9a801a8bd468304c6eb75e4155df794803b059ad1c002446e29f25ab1a79a6fc509ce514a6a1dce3225671e159e8471c8519e6b66a59ef4ba6167c8721b61110476e61dd9c988", 0x6c}], 0x8, &(0x7f00000054c0)=[{0x108, 0x0, 0x5, "8bc3d82c0e1a3c313a2451d3a6c7e7a94afe8e201f562283f22bb9b59312e4cfb5ee3953d5a9d6e705e6bedfc51c85620044c0aa75138d3afe09846e6890a368caafabb39852409fa3bb64d5bbc02924aecd4e171f0f4614bddb2ddfb2b2ccf4c9c850706ed76e4081eb2e6cba4edd284b27c808071898a339c61ad43f62d7c39f48872bb641cb422b3682cfc4ae17392d12c2b5e512d5ea5abece48a077f9b76e866f30edfcdc998d788a1b0ba2a46c79a6a929215db5b06468c6aa2fe6dfea90e5a241a57f44733b65542defbb67f416ec4e3e5fc7872a854348f4167dbf29ec8a4b050c520e3f4f99ab3d5d33bdebd333608c41575bc3"}, {0x10, 0x11, 0x382f}], 0x118}}], 0x4, 0x4045) 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f62826086234dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:52 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x400454ca, &(0x7f0000000040)) 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f62826086254dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:52 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001306034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:52 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001307034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) [ 832.920022][T18611] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f628260862a4dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) [ 832.929288][T18611] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 00:13:52 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x260, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:52 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f628260862b4dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:53 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x40049409, &(0x7f0000000040)) [ 834.582705][T18642] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. 00:13:54 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x88}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f00000002c0)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@file={0x0, './file0\x00'}, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) sched_setparam(0x0, &(0x7f0000000300)=0x3ff) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setaffinity(r0, 0x8, &(0x7f00000003c0)=0xaa) (async) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup.net/syz1\x00', 0x1ff) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040), 0x200002, 0x0) (async) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f00000006c0)={&(0x7f0000000740)=ANY=[], 0xf4}, 0x1, 0x0, 0x0, 0x240040c0}, 0x0) (async) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000280)=ANY=[@ANYBLOB="dd00000037020001020000cbbd0000000000000000000100", @ANYRES32=0x0, @ANYBLOB="010000"], 0x1f) (async) r3 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r3, &(0x7f0000000240)={0x2, 0x4e20, @multicast2}, 0x10) (async) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) (async) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, &(0x7f0000001f80), 0x1600000, &(0x7f00000000c0)=ANY=[], 0x0) 00:13:54 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001308034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:54 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000580)={&(0x7f0000005700)=ANY=[@ANYBLOB="440000001000030400"/20, @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b0001116272696467652000b41902800500180000007f000000200000000000da4eb5d67303af3953d5ad009187368008195060ab9bb11213ff070000000000006e57cad71cc048d4d498ff77c7a5ab4ced9c1b99575bcf50b5036444265c63ba37e4d0c27966ee"], 0x44}, 0x1, 0xba01}, 0x0) (async) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r1, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$NFT_BATCH(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={{0x14}, [@NFT_MSG_DELCHAIN={0x20, 0x5, 0xa, 0x201, 0x0, 0x0, {}, [@NFTA_CHAIN_TABLE={0x5, 0x1, 'syz0\x00'}]}, @NFT_MSG_DELSETELEM={0x20, 0xe, 0xa, 0x0, 0x0, 0x0, {}, [@NFTA_SET_ELEM_LIST_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14}}, 0x68}}, 0x0) (async) sendmmsg(r0, &(0x7f0000005600)=[{{0x0, 0x0, &(0x7f00000004c0)=[{&(0x7f00000000c0)="ca5e86133d33d41b55d5bddbaaeaf96105f39a4fe678f33d04e08fc23f2af8087a9f01f0368e49b1fc7fb875a61c9c16f77083d3d77733313d0b86ff5d149ae4c5d70f9a660555869fdf1b642da2f76ad74fb18fa2da231a42c0df479bba1b76a25653fe232bd332a7244c44b6fc349fc3b0dae956710d6b2580e4c5882138cac1bca81c3e04a4d533826b3499d779eac5cd03e1f13126ef5d66663ac636e803a103f6c075482c8758abe80c57a1f7b4b209f9f5728d8ffcde5d95bf522f29ca8f54a9dd1697e2", 0xc7}, {&(0x7f00000002c0)="0ba9ce178f5541238a2bed7e7e6e53e7970bca925aef086b8d8db02acdf45a15b1fe59edef1f0fb8424ddbe9f3245d22e1361aca65d185c4201440fc293c34f5fe2aabc9c68239eaca1a9bb022163e006978263472ace5e853f17c2ad9e48c186db96b109a16c01428cec8c59057c756efa8ce641ad1f37191b1833f05e29c08b0b81bcc7f327f8851124bc8c69a19cb16ca84a30eeae5a5d5027bd5bcfda5c79c25f838987ec04d9292d0cc51f6268b9ffbea63b2b5c02e9fb888140439edb995fd5e786a39f5f71150d048569c0e0ccc5bd1a3", 0xd4}, {&(0x7f00000005c0)="df0e4a253d6f895ecc8a9a959c01855f1cb406fd14b9ee3a42b1c47657701cf1c589963cd7a5b581942788e112594262afa1ad31140561c9031f034b6f2633b151c9209c2cf15724836746f39f01bd433a4f14b4b587d5a85020250c4c58eeab83fbda75997ed973cb3aba9755deec7e242d59f6ad3481c7db97227d32521eaf1eb93c275bfc5aa9818c646ab093f847e1493c0c7ee905deb8499521935494e0d2694bf11a1abd1ed7a510cb501c0c2bc4cb0a27b9337d7f18d9989a8d944991059c8f451fe31c6fd6a6c0b47d0414de80f4bb7a6f13c0de348adb50f041131ec23ec8201a7d4e76de0046178679a9254302762fbb46424473b9f212f85d30110592775626cff57b2a71f9fdc90e6026df6fb1244857b14a3d132655b013a3dbb21bd731d0476112868767c1abf633cdccafe0074a43ca35665aafa91add1aff0bcbe0b1d6ea38e33537b9dac55aec01b532bb51c31b4fbd8bbe2d7cdca3a3c139fbc45ce03cdf80905d78c703010bf7a4796d6805955d37088b8ce9c1206e41270243f1d8288055d385663a0d8793413a4aa7baa5ca4f42418d57f6c5a09c63d56efa67d972441b8fb7a38210b2634c231f4535e43f77e0ff0dbfdb3121a2d04cd90b0751f668727d428561610fcd335c20373f6836221dd94fcdf5272aeafc317170e554539fd94beef6eceb0702284691068eb17144a56686cfaa31576c1bb7f485b5349de24bf42cd4be912bddb96317dd401dc0e9c192f4f59d0cb4f306fbe2eb86e145fc78e7630b5fed2fd4f16d44eba483c76decb28272cb7360b7626c8438f40b833083ca63b8281454d312105b9b280872f944b090085c649c89cb10ff57f8c14d7a1b482653ca7e6102bf753ff8d916ce76213255d3d03820f3d1813bb5450dba17f25e916c9f4204831ee2d53358f639f28374d6d0d6614139e50b5ae6d3acfdefd2a98780f7f883e3d6b2ea22afeeaf1a953cb5c3efdbfe5ee647fe95deb3beb2431ab9a515b91d9fc7fda6cfb93cd2bd430aa0bfb7b480bfeced9947933cc3dfa3a93db97d881f72cb466e7eefcf5a325823e00f89407fe7d492928221a86f901b4a76521fc73e8330e6c21c3fe9b21dfa248cc76152dabde255f25dfc23392fbf6752a873a2219273fab75d5a99a2243103c3b3fca0014d962f36650621d23d4bedf899f9441d86fb64e3b4f33a4dc7a43dbc76b1864465d8a488b2c2f8fdee23b5a98ed26bc4c3683bc124a0507397b82f6e7b04dd213cb4da4d71c92077e1fda99a167ec66cedbf8061420088d7ef7d4d0e3a867d5d038eeac2870a422e1d27bb2eb195314d43ee17c7acaaeffbba7a90d7045c9a9b441dd2774602eccd30abf2b57dc7f0e6f60260b4669b7411f5bbcea7a36636285ec7c94197a8e2bc2891c970dbcd3e47c2f9369454ec5d8b05203001347e1e2483473a41d558611476c110c6631f3ca3cb0bf4d7c76660204f90280a528341690fd00af2c96e3552249a3ca9ee2871200e19028c32c6334656090f3447d09e8c1ec4e56b9db1ae397b6f1ff9af9e03a32a932736c417786577a3d1bca3cb51b1383df0e999e9911c98bcd0117b07dd63fec8f082c8cf82e1be8017ab469a865ecbbf4a264705e64deb7f1b3bcd6933b113aaf9c6f1f4908d64947f1b658adf7ecf5a44b8554d83b95bbae105364eda516f13ea86eb8f7c3c73cdb7c48a1532ba1953ee6fc06ef7691703a1e4a182be9c5aba5ccb505dd162ef6200c685b6e7e4b7773e16f974558b03544c3b46e56ab946419cfd998ee2d4409c6799463c0e772dce541d6700ea4c5eafa7b1f82c0202fb36315cf1c4077ca9b377d3b63e1d9a8a120a8ab57a2513636a49cd1f0ba0e1310c76d9ab0540f3962e3bfc60a2a9300cfbb24a1f6e8912e90047c9b2d0f010586432635b6c0ce0919e4f2e82ef1deb77bc25a9576d860881c11a23dc6a09d4e21eff0d29839bae17bd499772cee29a4653bb4e7fec08b2a126d3c01ee8bc18d2c676a780e0a70a7eef42ce376e6b814742e05fcc13c6ced9518c1914aaa76579333df9ac909b4b5e987657b7bc934029149c9c48e38d6b5f29774696f6daf5225414120f10e18f2146711ce97fa4fa513508ce9470d5b26098fc16454b22d4a338d98016824c4508506287c2c4426e4730032307dcbd00fbfbca192f77895166459501c756fca5c7ef87ab0e92c8461fcead785fdd9138279b68f49aa725149debc77125298b1bce3211ec345533ffa8fa4e0d828dc268845f9f16c99fea6b2a428f06377df98f321a027b48d1f5735792a608bcbc8083a2a165b34ebe93e9f76c93ed10b88dd698aacb6ca71ed418a5ec10c87b5ed5bf49546637c0e4eef0b348e0ed14b2325fbbb05b1b91bd75dadcb83213592e1923799ee8f16d3b1195156f79a57644783d72aa0e30e4655bdfa3691dd7e23dad34082eaaf25e951f91091a97646bcac44bec77d4bee01c54a5b46c7a5b18f65dcd0e3c813e851c30b7a44bfcf9c225fe3946e0b462a024caf12fe8f02fce9a3ca7ffea5698d69d15b28232b6efb3841830cdb3bf552e6131a2a454b4556fbec013a868d3292dcc2f23007c99fdd6303f809a2862edaa828bdd8cdb01c1e57bb58f6f1b6d58d29f0f7a4145f7e89c64610205ecf9e652d817183a7f5ff70721c9583fd9ccfaa84ad3f1aa89ee97ccc439293619751bf16c581efc01f6496736cbf140e278eb7848ff05251bc6bccebb516bee8551c7da6a15fbec6693005c9dc41b6002790eec81cdcd3f0f1b8d80660eabc2c9cd6ae18b2689523b19d112fd4dfaff8cceea9bee3a3dfea277465a7decc4f151c61cc1402f65e5c4681650747c6572bf38f3a79d35276b2b14fa3cc000dcbc500bb9acf19e78fa85aac80c89f3d78ad3f9c80c488a43256de19dbf69e69a4076410e5569dd3fc71ecefed240ef785945f9554c095654f7b867c466504de15a1985bca8d1c78159084a2d6eabe3a019973fa739cd562f15655b174431c0bedfd2a22f1c150d57aa4569fec459645dfed005285ddc297d5dcf80274d03c69147c685db8c7190f2bf57014e745efc61c59f0e10c21680f509c3721c73f3519a2352cfac41ac48a8007429484a9024d6cb8e9b1a66c5d63f3d7c6cca7d562df636627ec1dfe1f52460e518d84a00e9b14d277c1b2974741ef5e5282a8aa0d4e5a4cbf975086f07df2a0f6af2a5303d361858898701af31e3aec5b17cc882d43816cddbc9b01c7712df9e3f6e2956e3797ba44279f4be86b3e7732b210d85c766829803dd2e67282dad4344c4da6d9eeec9ea699fa375fbe6595e823ac9978cdbef2e03da72a0ae0bc171147fbac41e5c1edb580ad9d8896ccc55020c536ce42980cdf9e0cc03bf8618069429b280d9c0a8366b78cd32c88f8961341c82dc893210be2634898f7fced11225f0e50e176ef91aefb3a8bc94916f5855d87eb4df9789288cb8924ef30cd10a8558972882c1b591aaa14b512689eef75cc5acac932ac2c474eef37edd10be9d7374eb47ae6cd0035c270cb2d39fae4f7ce59c832a20cac3436e888193701fec2f8f60559115c81cb771bd08752dfbf0cb39aef79b2bbb6a1f64f116aa1e4941c60d1a8d9e353b90dcc74b7deab722fb2bbfd53801a543480f23041b47d8ee01453d1e5b80c6f250839ecc68a526cf258a9e41c7318f3f8f072ae0d2dae1aac275d3af46fdfe9b2821ab77a7c81a36d56c5040bba0daac2a9405fc775183f1761d0f9647446ffd799605285747e5f3faa35493981a1a37e944c0e2aa718fad5760065c7254e3780914723de0e3768639d78c4133f071887ed797856f3ded9ab986c3836154f92ec9cfc585e97d09722c22c98a58e7629358c1c7b658a8d1ce57f6201e110991fbc8edd2cb1cfb3bdf3fc4c177b1d8f53256dee9989ca592f6b09df14498e4f0bfd8d3058508779c349209a283b1f0b46797c9f91d05b175a1243816c9d2cd67ba5684862ac755e89ab60b43634884d597b952bba940a24a9c3ad375c0bfe94fcdc064389779393dbe162bcfdef3402492ecc68c0ed348cf353a172fcf7efd4ae7c91708da12b589a65c3e3e55837e13cc76f2d2c7eeb9a7b9754495a723341b7feea389c3822a39f71c982b955dadc6070157c56d5084f52837be7ec23186e304a089e735de91cbee30922a9de84d44117be38613eceba4e79bb892505f8f0e4de089b0700edb09429dc6d930678bd5c728a99cc9456f950f0756d54963188f99ffd08ef97ee83132027479fda8431a4f21fc76614aeacd4d052faacf8f1fd110220987a62c2e15eb4c881ba5232f6e184c916554791548a7b9eaa0cb0672a5451238144a448f9f6dfdeae5c25cfd902b2e45780407d714860e2af78b11b454d8f4e05e6e7cdf509a19206ff8eadfb312102eecba2be9582aeda68b256f0809414a5e8494830043bf0174c5266baab8b4072d081e8530ffcb6c6959cbf4b8b9a4a83e3d4fb2a5dba3e43419cda9c978648e11a8a40b5b193a3c5ab7861524a0178ba0232e1277541ab3d6ff45f4c1c6730cca6aba10bf3b8d640341709ae7e86d33275a2ddb07227a53ecf84df1393c39e2e68528c192cd8060ac5c2175d6884f5d2ed1f3112a628fb25cea6d647d4f79ddbfb2386b0e96899308d1ec528bbc2364943a5744c07106249170dec000a850e7b98ef6e319c8ce710f0b7dfa1d5e37e811174ed1828775ca8374f8b26906fd07d9ef6df2155df7631e08f7cceef85819001094ff42b7534bcfa2a86307e7aab7de78fb140fd601370a6508ddda9f8ce616b3f531c71eeb3390293d15246fa00a437c8a45f8a168f8173d98f4d2640f398e57d0746dcbb5d7b0cda14fc95073f664e87df2fd4216765af4d8b6f89638c9c6a921dd481a2f660b38aac73ab78cde17aef776e1ac8f31e3a57e423fa9908a14a47c6f9a6598cba259c4eeaeb35f5f05ef49e783c097bee9931c820db82adc6ba90853fb89ea188c42bace3bde8aa6229b227806529a4d301e1bf44782f002c5f590ca36fdc71bbda6ba39979d3807eaa82742e9a80dbfb6e2cf6dcf4e88d998299dd2ed5c65954b407309cfe486e184db5cbd67928fcc9fcdd811420205ce95d36e5524485f6bdd1bb13be63e19558f615b7fcd90bd82f69f31c8351709b43e84a52929fa228953b088384cf3eb1d4b6a2c0a7a6fd8d6d35b30afba6a82d91e8dc019e4659f52ded99a9584fe9355b1925fa889f4d9dfce3cdf56a4a2455354d2655d43975c37e653dfb86a0ba666b580d40b367208d6f130a8b2d07b01ea62ab32f7baa0ae04f70a1028fbf3b1be933329ad6f66d202256d4d7da8525c9e9d55a1efc226a5ccd8b63ce5fa71463c850fb4646c35c544cf1257de6e53692aca50ad99cd2106714d7612ddbbbb8eba6c7f065006c361ca5c2d41a12204d15f6118832f6563fcf9b803d309a908306e5fc0eb2fa06ebc12f26cb549921e41b5b278ec8620f644ebb60d315660bbe0c581ce3f7decaddb683dc96d3df709a2ae8fe7a61bf1d3b44ff3d45f327086ffc3423568bff1f76c3295d1aba69684dbfd34993baf92f0395b4acb0d99b6b8715cc88c80d677dcc9bd5bd5a6898ddc1793654692a260dc3fa882769fe63d4f5924cc50e6743444cf679cee30ba57f6f1bc1aaab29c2922a598ff2e45cc2271864466edf12b992299c5418ffee38d0b2d3f1564a89778243d83cfc6bd16ce1b49c0861a489f32d99cffc1b16c357c333a0de6a6edfc7e9c9bd17d7ada9296fb3180d9c2c78e465d53e9", 0x1000}, {&(0x7f00000001c0)="51864b46a35fe9efa1b59e8f0324211cef558164d74eabff06effd22e58dd485e0c1d4e59b186814e6b88a864854ac3bf1271cc56450d5f1f3d9bb447509d20179d950bea5bb1298757ab3c9990ff70304da2f118d56b62990c4fe936a31c2412e80f96097ece007551b578db77308da7a8a1d6560d89057a34121bcd92923dd509cbc86063037e2a41ed747a7d80c108cc7a731a7f5c0c55f321d5f3648b33fd5fe470397a971790f6e57ce231725277dad43143d2647b52d", 0xb9}, {&(0x7f00000003c0)="78f330de0036a44aa4d22707d5903875779fdc2483e12060dfd1750c318c51040bbfaf1d61b8146e9e93eb788b378e108352a16ad7412299f08ebbb1246f86728d01252cab0d97e6942c0bb9812ff4614af328f4b4453709d9d788965e0788a0b471719fc442b21f012def9bc22d95cafb9bc9ba805208116aabcdcc811c7ece565bac8baa44914690b5fd6fbf14df2c91ec1bafbc35680b2b24c2629e39db7e25c650992509ac8e72a5dae58ff4c1f74b6e04cbeb36b067bf58d80fa7c3d8697f2429516c99ccd218d9c5177899860c72e65b7a3d0c7c8107d46fb4ce52f93f8570464a07966a55c18e9cdcb633e66c520aa7e5af5cfd0a", 0xf8}], 0x5, &(0x7f00000015c0)=[{0xd0, 0x105, 0x8, "02894048d662f6481d465d434401c995b9a701133152fd7eb15af5d04d4565b25ff9b3c62663176d0ecbfa86825f965bb112383bee7960add006f6ac72835bc1cd32dfb49b4158db46141f72bc47f24f1c93db4d811d3652a3c9b9a3daf10b81bf73771f3e80200f83440c707b2e886edf8b72a61c758fcd9bca958bac08ff36b38d16f81099ca4b1db84f4cd0363e22a576121f527c8cb51c67c8435da56c36087b0c6a151363183cc8dfa247e240efa76d83dc1ea4e1d58c16a68520"}, {0x1010, 0x110, 0x2, "c7314a21be2c5f1a79885f3022edcab8f033defb1644e7d4538ecb213c196ce52e811b924e7c734b2536a7f7ac78b82ca1b5c6519e154cd565a8bc95f726d4674cc29592fe6bce3d55db67e919d92e063769d91f8666215265513fae314a13f71b55f901cedd5dd22c5991a0a986ecc34a8b6e02423ac13594a2b5aae1ad6789cf059f290ed199010905e17006fb516e64dd3e8d12a29a4828f46638ad7489f3c78a1840597fff74eda1205248954ab2ac608750cc1f989041824d2905929401c65cac4de72d16df40584d7da4b3c2bd39d28f455071fde14cb98b0a3e2b0cfebcaa7eb2bc6b515ab26e1254e3f3ac716aa0dd7d5013e7a682a1c76eb0ccba670e6b5612424fda743795d186f84df4eedb4500a17c6ab8095f0acff0e6205c89cdd06070e731f3a40abb9af746fe7c0b1e0a0041599e169955d1c51a9c865d472062ad12bfa2e1370c16107cedd0367c2a252c15b727bd3bd721ad7fc2def1a7a0bd764b05e1e15f5ee2d24782a0fee14915957e721527656896af522e4563a3f730f7c10cea1f719192adfb77f3ded291aa8f021dd19c570392452a4668f1998caa3a82d2146b2f01d0f57a6a007207a52280e98d9ee4b1d4e655e679acadb8c1785b0ed32cb6f34153bb89177ff242d2cc5258bf6b88d8ad73380119e60c9d044df1010198634dfee094d88b5c615fa28563218dae77d21925e532926414bbf5afad4df87e9b55850e136d8b265b8702d800e2bf4b4e1127c4acc9979117400b94954c71b3a8daafd51def4363ad12a63499a3cd8d9e2aad85c7040c5a629448e6e9a2883cdf0541c255a139416733d437093232b3876ef8286391a45a8ffeae7546ea41164236c33652d06d8d96e1da7eb98c90edb634ee29040f61ef852d6364a8e3fbe6604d9c108e5bcae7720558bd8296d758c0851a4d28a4224b5a2b95263c8e6eec0ef2326a7c5e04756f280365cac1e9f366d181417e27c47df78d5d9f234ec7eb71110a6686fe6d6570f7432f7a9d4895614b96f6fd9d367f09c14771f6602a596d92dd8fe33efc6a55707a43db03a49ce08c416519424d145029e9bac6bda18c2364743a782dc7dd16c01b7d00796d910edcd8d3371900202721e4ae25e80fd62a8f6a7442517d594f51129bd9e6be6f94f5943adf5c1a4f6169bc24e7550f1ee75198bfdaabf8b8cccd34256439b66fe361a60831056ef3a8759e2a494b810c27bf04c9af5bde99486b44af16c355fa20a241932738f1ca1763b23aeea1be8392c0f088204a0eddfaa43863a502821180b51e612a2ae2282e926705cf4239b890cc9b2ac9167459c88550c23bf3b52c27e613e0ea3f3cf51c0fe679b1d0a2ca53c4b4548901c7c35f41a3f21e9663ef50d9a8bab9b544d00867283bf187886806f2dd43f2749014519a6cd7741331c6b0702523b92aa7ee04e11bb5c5ad1810cce15c37df8343bf1cf64b6aa4535c853df74aca20f1da7496d839778bd4a523855030935c4f99f262f9ee3707e55498aed803a2765b3789f7539f039cdb7e22bc93d528136bb87cae03ef2046740387f101767df26c100c73c17de2735cb852c5686fba76bc2cc97bab4e9f0d0896cf1d4f83b19346ecf6d954ffd9fb8876fed5cf775f826a9b9edcbd984bdebb2e5dad3f45b78d2da47172428a21062e3e6117c1787303646c495c02ca703702f6c02788f5febc6e70045777fa97ac7d0af863eb1c65b158ccd3d7f78d9f0641bd59fe41eeb864ebf04df1c3a54cd61a7dc43cecea3615839cb6d66024aad1c8df48ed204006e815c0eb3fe7c1a865e30040b9e2dba281bea016170746e676aea07ee14d23db5ea3003b4d79966fb86b3fcd97485ed1c88d564a6cd908b315d469076e1b462d3193cea2b4aa6be497313ec12b8c67e6e073c68cfa72967a0741785faefdf8ee6b618009a598beb5dde70027eb663beeabba4a27cd8f3e7e5ce1eec62e9d3ca7d376dd53eb5f5a73871cdec15f87c4c50210a03c47ebefd9bfbaf70bf3690a57bb9dbafc0899e280a1eeda15ae46ff1f6385e5713ea668ef5abc9e21c3bdcaaa79715714bffb2d14bcb80e1e802c52a4599a07b96f9b26115b02782b9aa47f449ea222e43789317c41c4c54f1aeeca0e0273c9ebf129274b4e592cfd7a5b4e1560f8acca493d65f4ec0a817015884b0a1c5d6e887090a9fc9c1b0f2826ccc3c5e1beb3bd25fd81f8b61978f44296a1acdc2667607cf16cb4051c5a8fa73f0217860c5e5fb19414f93a9d3d6ffa4c5f39a1c2a7203c2181dff8c9f8ee3150b021118761ca6d15275c271f5144410b35d772af209dfff0026209396d3e1e36305be0852fe0ff0606ca52010473175f3199f76c693f4dd9966159dcb58d99622a3a21399a978fe6ef8cb43ddcb49ec9921ec373196800f7b929f4a575cc1624c3f18c73925932bc89db4b120e638a33774067a53bd2c00d9a3a1c52882c6d03dde5eb4691e10e6e742299d2004dfb120301ae3941ffa1d0d510386f21738f5fa6573ca7e43b2d7c4a2d798dba43bef3cf5179cc4208cd13ae9df6e3cba8f80a8707788d61c5006b27567aa71372144332741eae928bb4b29d873973727735314e0697cc745823223d42cf82e1977c9175189b23c334c0d63fe5c21ae52a903a52484e61ade708fdcae6c2f90ab1d10cf231dfb19d78d2b4fc9e0bc89d339264e6937b73ea6e17955fbbce480605867d07f8e837cf9bb907ba1b9fbb09738f5d8c622cc50e1ee9b8be2e93979de01a01490aade7c6940a2660f6cd2c9c8bb297b7fe7f447dbe01beac9611f5cc613251136fabd79a60e8703ae5bc3ad93d01c7da4bb744f926311a812257fb14e7b431c9dff68b82d9ccfd4733dc91ddf3b70669bf9f68364a98845076fe1285d0b98e7f09dd211823e2966ba5ea17ae7e01889d48c2d0e10203fb276a5605014bd54aafe0a28047d161267c8258f2d2ad179387d0174092c914e62fde4bffc38c660040517960b866814a6d8b9bfb805bf2caa6d61147ed0c7225cb2cf0438afab3dc456fa5bdea1d78b1fa6601d121307e94d2d4f0936ec37653acb2b784bce0c93410c3bae2d3665f834a65d829d8ad4489948e0546968130ce01f5b9dc2b03c0ef972e24d4e64b406a98b6f88b86ce31ca225a910eb234aa328288161e71dd96e76e2aada0e27daf0321b6d07e33eb9762adf3f5dbb89a66ef3b8ce7c1aef09c3260d1b721844600c87cdbfe0d89ae49de6bea19902312bfbc89fc71b9467cbc4a242d33b8d1364151ad451b74de9bf47d800c7d707a4bdf6b72b7b8f87b38b179c905eefda2a1109e3544bdde326e4fb2309b2733615540d64816555840cebf1b95360a59403499e9f6674e6d7252ec0c577cf85d9be6e2cc77e719563f3e4ec11b1fa35350bb1f20c3c20fbbec83053ae3befc0783ea88a008750e15443674b009f182821e237513dae6252afbf211173aa7902e3af6889cc619e8b9c0543fbaa22fb1c97a56576fb3c30f9e06bb3e1337e590d1bcee490a515aaf023d57db24fc010c2f8784e8a6d08e50b45104417d7ae99d970ef9130ebfeffed784ba689e5b952ac57672a1200bda47f0353e4e29958d97c6406dffbef610729beea4af93e918d2e0252e3820b357290e44f8137448a471b077d2f4eee8be3ae7d511ed08ec2ce418d063bb19502ff292367c008bc4814ae824d4bc91c08d40d2c6e79f18922727a90c2e52870925a8324cf8d429da349f41a3d8b8ea60f57ad33d2be16c16359e11807d7c4e7162ffc7d440c7ec0adef0855554b6478b19c81007c1ceb51b863e43d8e41105236067e1c25bc9fc812032154c3209a4f226e5e9b761f25268b3074894bc41f62861156815b21fe591b3779fd5ed7c229ba4069999b9978383dca37aef34a04471532cd033bbecaef8ec947bf2fdd7955888120c941a38524035cc71fe6d7c5d749818d784c844fc2c60dcc146a640a216c4b672f4f62de657b9627d1280d89774ee9bf96a1f6ed1ed7b278414cf60bba8c9759bebdbdf829ff644532d26d615a5b93d6ed26c739afbe1079db23753f6a538f1a083d3ae605d7ca3ce2f249c396dbf9ac98010c60b03abb84bbbcceadc847bdfeeaf0842f9560ded7077e52a652f7b69586e32a9627993a5195c5fe8ee062a5a7a0085b991f1f8dc922765f3ec8b49f8fa7e5673fe5142baa09818ba5a1b78b9a8af82765f328c797249e61cff0c4093573ba46e4ace6111a32e7788b8dd41b754a663733b053406c75af40d3fe5ab5ff21d9ff37b417fe4266577d4a8b97f697007a76bf59f7b6fb29e6811b17b7eb20dffa63273f9d1630768870a42775c51d92bc383e62bdd2a57179e15f4652563bc2e320a65cce78b1e6c5b8a2af224f1d95146436bd2faaaae09fd763149f97dc79f2d585a6c3c8d534d41349605a390c1293b0bce3026a67e0f53585ed0ec2926ded2fd43eef443e33b2ee29349df5b896e2fa3af24d58cdd79f4ed9e33ad8923e7c37d8b9dc8bd64436cd413236a633e6a5c3a958f5eab757c1878391df8bc91f600117d123be00066e4f7b37acc1bbee21e6e052678ecc6ceeba0c480c4ab05a184ab5094d1cd1d4b01d07df48613d1831d10847f6c729120aac6f91adc098c946e507d19f5ba5b1c113c9959adbb67b3eb540f0180c2bc0a767df70921602bcbd0a3ed16d191bce5a80d03d761676a6ff1f99a260119f7c3a97d33a48cc4678b4ba91499a37dff4494c1b1986cbffd76c5b68d426f627a530da0fb7e1ff524943ef53c5867769dabe093cfb95b0612e1d880998f38ae8cc1ca9ea82e1e7a15896d37372f0ce7ed2450f66e23875f1d1d0cb854fd5072556414c65782e5d9c6a8dc00912b4b5aa0add9af9667a94975fec6461c81e21ceb8a198279cc60d836aaddf7367796fb5eacd00e1e720e993f65a5616efab5091025031d647315959bcea82a72b1dec3a793b9c7253f5fb25a0ee37d025d814245027667fff95ddf82032c7f8a182485cef10999cc24755709114dff4276f587e1c10ffec7e251a83abd27e9a651bb205bd5c5d1996fc2ca10ae4230d5799044daa202a719446bb9a30edd3bc7fb37a5486e4b625a755ce06acbff86ae49a06bd7f452d3a65cf85edc9c6a41f70c2695c7f227b6597be790fccb003395b7c71a1506bd920f4d6c6805b9144b796bf33f1613cb0c160480f7a6d90c5463155964ff8b3a455c9387438d4f2871843c886fdfb1ef3eb97b73be2a0cec47d38bd6fa649e240af990e570e8a35721b2590f35692cbfaf871c5d210271b5ab275c1e140ab2042fdf0b9b35771262e950633d99453e07966744ce9e03ca72584e473dbc3c9c8157fbd2c982991e8b6f1aca1be585b1d6898a695c9c49df3ec20ee8c49a02e66a43b7c5e0074d0a23cb127d57f6eec5b8c37893fe0f8a592c2c101e3d82ef46758a515d1ac86b945992c4a747ad8fdc727f9c9f583c3cc01f61bb346dc9c6f334457d377ee875d91b7ca0a303fc87e930eb2d53185f12c7f1794278cfe2a03e6f1fbf7adc135bcc6fed4a674883ffbd13c06a70b4d6d7f7b2ae717b84ea03bf90feb1a3c9e782f18221ee069258a8934cecdec85384ba5305b5b4f49e03c2ec51ebbdd87097536802289f3b0273a64431f3c45496f852c023f1b1eb079bf633cb68dea69772ab6fa9eddb34430b395ba87252666ab85384cab6e6a1d692fe5a055f184c1d9446e0cb03839aa2de6a164c18bfa41b3e816064a8f0fce607709e334f56eb42934626d6743aa5e32247d2f588b5"}, {0x98, 0xff, 0x9, "671bf1e31d368d2999de33839edeeee1e516a90e9acab01075d64f115bf045e98cb005447278fa7fda406940a979dfba3cbbcf8c0169f38e88fac3d95df2962be5bd97e7f8ce7efb521d39b197cafe992bb8660f088f8245ecc19efd4467daab232502652d04d52958e4b5337aaaa921cd594e21eb740d8333b28178316a8f726a4dfa66f348d6"}], 0x1178}}, {{&(0x7f0000002740)=@pppol2tpv3in6={0x18, 0x1, {0x0, r1, 0x0, 0x0, 0x3, 0x2, {0xa, 0x4e22, 0x80000000, @private0, 0x200}}}, 0x80, &(0x7f0000000000)=[{&(0x7f00000027c0)="56ff3b2ae2bb26d44a4dd7922c4c8824058331ab9d715c18db39e07c50a7ba070df545fb487b9a9571580e7b4e1afe6540837c5a01c75c3fd1477eb89f68fe5327c54a3f3f5b7354f07464a2d9b5df073759e0c9d847c779d0a41f35a6557486bd404f7b0344b0a782a0985b4323f8ec", 0x70}], 0x1, &(0x7f0000002840)=[{0xc0, 0x112, 0x1, "5d1344e0102ee254a1e5292e46db8e597b3adf4ebcf6fadead68708c9d64ad9742e2c3575434b04a2a941bc4d03c1ade552eae6416572a857b8424aed2f55a9c82ee9c0a30b6ead60bdc118d1165499d48d5d7e186b3520663536ee6f0db0b16cef83d40ab0333998332c4a394d94afe68401d51b6f40bebccf0765b4ce8fcad91765e89cca48a5313603494a3a29ad4a773da7bc342d7ec537e2bf2fca1264338c6ea900335bae076c893e348dc"}, {0x78, 0x109, 0x9000000, "7f65d6b0bb331abc0008c100d07aeab69358afc16499b0db6766988e25d581d653b422505a60960b9a6b9787977c83b3567e8887491b77ff587db6d40cc3ed7c19094ba98fdefc98b1103be20ecd1f0f71983e1e24e4f1e98ab1c071570b9373a2bbec7a6c90cd"}, {0xb0, 0x10a, 0x200, "73cea165187e45f6fc054554cd4e416063b1762e811b85ab562026cda12ee24b5d41631aa0e5566d145fbf159c22aa44b8c907286a80e023630def573120763faa69be5dd05c7619e176f3600d79211ed1761f9bff1e5e27b52085f860129f68277b85134ff8f49d650d6b82f376e18c165caf4da70ec792e1931172bcf01b0992e45dde4d963769b073e6b7321daf1a441f98761373cd12af06454279"}], 0x1e8}}, {{&(0x7f0000002a40)=@x25, 0x80, &(0x7f0000000540)=[{&(0x7f0000002ac0)="eccab2ea82a7b459905931ba98ec064922be626f2259697f00ab7460e4c8b638dcf39f73b6632fa626428f5711bdfaa1f9506a7d1bfbf86723490fcf6179f3b3d79721df149ec810013d714ba93b28ca0d34c54780f8167b71cc82a3eaad25c59b83792ddc4e6733e211f98ce2b4948289a7a488e6ec289265584f3e18a0af63520b3dca6e8048f188de0c9f765e81f6854f6800a43fcb6885d212454107b93dd61e41ba57c7bdbedaed42aba02128b1abc92ba1877bd24a5d39b0cc4e496335b6513b9c0a1c0ee595c2c3fd73af5928ab883c184894818747d6b4a5842489957be5e7f764e0a2e0f614", 0xea}, {&(0x7f0000002bc0)="1c8d423a9c49f7197bd6b289644287d893642ac21e9bd236b9d4f00d0280014ae9cb478f771dc64ab73b57fb2b2ed92e7368c98cf9abb5ed4d4b652027eead26ce58b96d96d4163c49477783ed7151174472c02496", 0x55}, {&(0x7f0000002c40)="9b61ce18df7d298c6182b4b3a8120b96a8f678d165d6222710a2c1583209461ed3ac39cccc2c18ae8518bd4c33fffde032cdefbb2c2d718b3a314a57966b9104fff5733bf4374cd6cab0ea4560d85ddae019860facc2fe8901104167dc5bfc7447fab8e3f263dfa02e5b753d335671ece4555b31a98ea7c41f661fadb00e7f6ed6bd32ae0fb0de4e69ce0e8cd777093d38fe5a43d726dd9e5906c73d0a4852b56a3ec54010dddc100504acf888d43f288557e28b60d30684b292a623b18faa05939cf483ff84de87f7f18ce0e3a3933348583c178887935142de68ad9ce2a0bac199c86e58da7c803c3afaaa200b1e71dd6855f80585cdfabd05c16ae07d8b485af861bca285e7658b12846f2bdb0bb689bf66a088b2086b074b6e7f669295b24a0187d203206f0e2d5ac480bba22ba08752ade4412c11e065bdf5b0eca6b5600fd9f4324b833e2e85db2a9bc114878cfc6719bd4ac498c6ca7d88826740ecfba2f01ac381f86b3ab1cb1e752c24dbf58ac26c8565964e8dc6f4f7f9b76032c05318376c2b36705b59a2f0c65239f56c9769238bfe4dc87efdcc2019c9a1e68a862a873850769d3c1f4f8b16a60bed9181d3c49752551fe3c942dbcb3a422b06e64332cfcd0c7327ad643d704f521726d7ddfa2d34ccd227ea2ca8dd1b7fadaf422eedffda86fb42ab6b89f1e9b52b343b48e09e22fe5ea009d2b5df92176ffe14bd5f6aa1b9dbe98800405db4d897061e0c81c5ff2a5e7bcab5d4a30afd11c58b79cd692089fcf2364edbe69c2ddd4deea2fdb200dc4ee276f6e6be2c708f78eced73d5d3ee53df381e2b8c8402e3ffa7875ce1a49d9b82a14500c064fffa22edca7ff83a7450fa487f31309572d694f21bc2809aa41f7cdc7223517e7342afa1c48f38b27d44d3a683402bf8b440658d43d3649a9dc1ab8da4f98731e33ef4620ba518c34a24932fe71280f1277bc6a30c3a34fb4e009e4d60b76772a37f348b3ab6b6fb31f64e3f3f7f0e21ab2f105b4175dc5e74d0938ecc12ee7fcfc1eee30a8b0add121a3bf5f9b87f5524bde6ae9c72c426b824544872a994393c6b95720188f17cff0e63a5b6ca3eb3d13ff555f649bf3da83e8d7c2f24f1ed5edd2aa31390814adeb1556d5695b7469d315a1ec89155f0b4db3fd09ffb77c83ce79ee6b611568c7c5d8a1d70a106c94ae26de141e5795aa1e811e5f9890c0a104b3df70844ff678c02269526b52b9b6fb683e2546b07ab43df5846b7fe98c22a25209679edc6a009b24dd6a1f2def3a914c9014fa9d064c35eaa919b342dd2ae15503e82761fe7d8cb4787b73fbb9bb8703a5b7cc8f0dc5b11ee11b76979c0de221eb7bed0bc2c6789b16a6cd6e38b4e980af7f7bf1b4c49bfbd423738376f546b832893aea112cfd02a357f926428743b585707968957a6911708161382213caf431036d5c23bc3f544a4d4894f9f26cdec683799db479ce2d8a681810581dfd7263887c616cbb1d0ebf2ba9f73440484b5089e41c44d1c059c811534b137f44d73880cc76cdbecf686ab5a90e52df47123e6c7543455eb1d665dd350331e3948f72b40ab8732358b711125573de4a1166a4979ce4429c507ccdc69c9c029ad3541fdafbd8c91a83616a6219d9bc6a07813c3942ceda3eeec2944bd601f4f832200b675247cbfb8a296c9bd28b930b5adbcd89b641abc835b6d8d8878a3ba95db5d05db7503642d565a6d43e8feeb96731439793e6a604ce366248ebe5457cefd39cf86307199911c6540836231ebb0baf9c7fcf7483ed37b5dce2e06c44766699d63fc1f59d47c3ac1ff1a9705a99c0252504b6ad0113b6243a55b3cfbf21f5a59271eee940c3eea2217258fa3b1b0ef3368ae64258b9c445eb704a81e4205f368bf93a81fd76858fb963a9589d6f4dafc0ffbd0ee2500413ff854eeca219889e4246fb8d133634fc31c271104045d2e9eed7400e92f70c307a03517449bc2ccba7ddafa1922db1a742271210f5e5a0753098e04ae406ce807b5a29966d7ad3e5ec9d4ebb8690079099ae5c42a6932f003419cee7f1da8c9889052c932c97bf2a5c51c9acba6bea9f09342b314137019bdb270e2204743859d116bdbab2910b70a8e263fde741399ba08176db2fe6b97ff8878579435f73cae0174b034df0100f97c3d1bdf21091a02140ee9a17cb7a0c4192cecfcb5e66a4b78699458e4ccbbb911210797389bedccb07b3fc7498a2a5150e63a3bddccfb2c594f5dfef81d3417c7164f76f45bc779de4969d0937d5d4a6f551d00c5687f6111aabdb6c58538eb32e5be0cb11a44e51381a48df0ee85f21bbd4aff6d163cf5449e2d92e3dc846726b48bcb9a005cb5c13fa95b482077d458be9e483527789c8a57225804accd905fd1fae09b36f294614687c65a49d125251e0840a48766d6dcea18e263b2291b44ed2421b4a919dbaee78faed4e0e53c1e9461c491ad8b865a5c03ddc149b1166c70fc73c97d592cbeaf06a14ba1247a9eba14e2cd603cdd776836bc35206c4e74adf4164dd78d056b292de0e98dbed994e057d8627d77a78a8db2a4375815a69f8e30512a0b40d88e606780ef57e0f5334f8b67e31c01125a6ed0979647c4f9d88058d3cdfa313bafbc8049afb216fb14bf5f8d496fb995a8e40eb036fc1bc1478faef27c00297f7ca8b06653c8d789379db5cf48145ee9414f7d96ad4b47ac100a52573d5738531bd442de42d20fec158ad91768de5f13ba6a5eeb603b88366801dd75b08e230fd71fe0f84ddfa8dd8b30bf1fe0dc76ebe84f10a95fe42df695deef3ca4f34a83feedee1c3f9250179044d6549278b0b911c52b2b70a09b631619ad83a0ac22aef77b6c6237c99dbaa5711e3ddfb1850fcf5815de4f8a00ed4f89727ee2466ad7c33b929fee2624adeb622c12be17601d57345cf75cdc3383f62eacfd960c6d0aea3ea1c6145015c81782af7894b0a852446a0c9191a6616e1c732e007a7dd60929c721ce032d464d712f158dcb09a932b060f0604aafab93382f9e81976472cea492868b68d7c135ee348b63d8e74ba2e8100194330e82e8aa3e34ee6b35e00f648017c721d79d98934b452f23398491a378d33afb76ead7036500ce732f583d5d233bf169be86f88b8501a3de30ef34ba94d5a67d86cbdbc2493d703a24c18a6d8ddd0098e5d649b4e0de5d52e0e88f212b80d2f8c4f977cb1b107054ee2d72f9ba21744ce775f421b562e3ab1948ac051ad4710e0559fc8b9f51b974d245e655571f702821af260b58ca1605491c47c1db1df6521841699a0f83e1bcd8f30e05e7e331d74218521857f33eab2292c867ee1b630fc566823814f579f6eedc67014b0c5733b52100283056fb61b75b4d72608456ef6f7cbafa66466365590e145cde41daee088940748f0701fe0e0bfc5b5736bde37e7e60c41f85b56f19c0d9035090f0eb1304b53836a6180a6c483b7d3417ad0fe5d17519ec1f122a5574344e23c182ed1272fe9663f24a3e2cc501226bd472ee8580ce873a787da307af6bdd6afb286f550f027878198585990e02daeb238a4cdf91e75306371cb48a340363630ac3a408b00f02a532784fb301e7dd58a681b0d41dddf5ff2b1271ce281fcbe6132250b7e3e52d4abf3195eabd2e3666007f5455174404fb946f0a50cc1b35b0f85d88a22fd1ad716315596c9204d4301253d173a52f6cc6db93eacdd08a44d450532cac800cf35751d52a7bfeabc0172a5be133a2718a9bae3941cb8e1e8904ff737d141c671d2779057ac6776549b9d59db6218b7f6f218d9e0e6c18f63bfd1d4a0ef84695e374981a65176b04440fe121964d82202866362096e07671039f031bdb553343a52f7aea1bd48725943e830b3299a6aa2e35e489aeb0fa6a93a8f63c4aafbb6f02139d5165efaa987cdefe2e37f13eb940ad6684bb66a87383f1b24562e978253298365b55391cd77c369e063a8fe0b4740274a5a8a8f05e0b194a0f4036cda963f6a30a436103e2b4a08c91a81b93a62f6abbfa5657742bbb136798642a9fcb25e258e64ff2dfee47b583f021821afbedbde2b80487df8cbff5a45e3a4767c7e5cea986ac337ad6a518455f5986a90cab4510c5a870625302df87527d9159aec954b2b4825e1350faa6fa528bbf7db777a10835dd6dd47c4d2ceaaddfcf73a4d6625f39c1a13480e456602d10757b7eaad8ed8e09427f6d50506614d6b84dab507e6198d8f12ee8d187f5f38a58102daaeb92df432ae8e403d5197114bbd91a3a3536e398b9ad56c1ca66d9bbc910808e88c90d6a25c8ade80ccee9423ba676efe6c570f103a126a89b9fc12b335e911151ab60b0ca6d6afa3eb88b18ac8e7617674db3d16daa13cadf8b3895c00454e3db744712f2cde14dafc9fce7b71d0c1e48ef4193655a4e16df9eb378f611f2d15cfe0d7184f64252517828f9d2921ca11f36326b056fbde56577543358245cc610e11b55d55345bcb83b95173c6cd6576b77a6b0659f98ba035fdba894d65daa5ec3bc044f794801f20483f4bb912a29dbb762a27072a9ac607fbc2184fedf6ab1f64a07912b795435a98dd990816ed5fbae180a07ee40847aab48487929d747ffb8a3646610b7ecd1fb7307a7bf2d5524f00da5ba8f329dd972cf93a03a483bc7d4454fb1b0e853de1575d2015ef3f426a32e25d6290cbdca2e6537c45bcfdd26075b516775a4c5abb67b175e7704c18b3cc63538ef01a97e49ea24be56bcabfcf1fb64ccd73dbbc01bd6e7502f0768812cd936bc8b49c04bdd00ed25715eb985cdaba73cd8dd40c825009cf01b448b07b853478e5b7378f057b2b7d987071f15c5dedb5c647ad62f75b78b000187536a1a247c59b807e6494ae3b1abe29b411265cdfe24915aac219bc3054760fb40034513afe43dc0fd84e325050fb67ee80b93bbe982fc319e51bfba03884be3ad1338a37d8168d19299950214839d2db4e6c156896c5bf11f0bcd29d9a128f32cfab33a0277b60b5ee7238632845f37cf5d5ace7b7a36dd5f8887529e064411ab9a0195e68431943fb40b25ea4d8009cce2b5ac71a4437a5d23de041e8470ac4e3fbedf4d7f50472cbb9f40d3278c21ef536b80f01d1df3d7c2f05da5fed890f2e2e089b5112298082299d79ff8d1be90318f97ffff6a73558f351f3c949c60457ef6beae48628178e08a5034fb822d963668691db4f856b1317c705f45509e6e6cc9974c856f2e5962680a789055e563c7b12c17493b05b6b045319bcfb701e33053f9335873a73a4ad414b9173932573e11b697a626901276acdcf8972c589e1e3efec1583fe19715a6f21227e412f48e2e8e79d1c72489cd2fac3f8059f4982b8d71bc280415f47fe675beaffed351efb7b88a7cbfb7fd626a1842c3af881286bffc3eed23e33ddf44a8d69de6aec3a1e5082712fd85cae842e5b66bbc56057afbbfb45fe4c7f4086c267e475bb7ab06e222455e363d19272ea6e79355e145e060113a8050bbcd499283fde0471458c6282f3a65fa75771d976cd9feebc5e5335fb46e280b273d83f56ce4976379864dda472624ed282d2e5ba2aeac0043b9d2fc9da20db5a2d5fb1ca12eb501fb9b5f682d6323c32bee7538505ba898bd6790a1e7e9a292fb5194b132560c2e7087b1dcfa360b36b4705f4b7104d45bc43a10925844f3199f80692963b67f9e4b6e64fd195b25d315110ccd31f313af377c0fb3aae831d8ae6ed3b1e058221b9b07fef98c964d82b1369042ecbd1eaa3ed69603679cc73dbd3ce0877028f94298", 0x1000}], 0x3, &(0x7f0000003c40)=[{0x80, 0x28, 0xb19e, "3dc6d1842b0f5104d2c23245c8a63a87b25f41e599fc6994243cae602b46cb243e9faedc8b715db043549b318a42f1f2af595b0fb46cfa392a824382b95a07b7a89ae0d159b1a3684b1c8813f05543b2b9452c27c7776b19e3cc6e2fc93bcdef972452edbbbf008c64c559c29f0746f3"}, {0xe8, 0x104, 0x10001, "482c6628eef627a0e65315e88b86b4edc7f36d73ef7d708a43988cae94fbaf806d8702f2fba379af0c3d49cbd0fdd988a9061e0db837fb499ecb532c78791745c249f912ff2e3bcaf423378f5eb3044db00f24ffcc5bf82ce50af5bdfc0ba5fb04f651027de74c9a0dc3584f33e8bd80085451e0b6d2a40302be1cb6d8dbefac6f15347523f18abe3451b46d5d4e0c2ad7c247319bcb388eac30254683b937f0f4c77a8b776917cb6159b467f68f55f024dbcfddabfe9cecc9af559b8f87fd72ce71f1b49494628321b2f2c4226c68f9ee76b00c32a359"}, {0x20, 0x10c, 0x57, "efb89b677286fdb484411272"}, {0x90, 0x110, 0x101, "cdd6f64956a2e61c9eba06ab238339fc34e9e6f526d633f24c5b4eaa95c9f27a536c80f299842a6cf4c0c9c596ae30c0b9ddf09d5e2c6dcbbbc4f7411cbdc2e01ec6ec9e083eab02b96c20645f6d61f642a2b0c973ed5a0761a3a015246c861e88240fe65b5ade80abb0a8562e381bbe651d477da9d060bb8b12"}, {0x60, 0x115, 0x9, "7400a79fbf44b4ecff28d5d42dc2a50de3c01f4db184d69c72ef0cff22410e2f644cf25d4f309457cfdc2fe15cd7c6a6f50f9f0650227ad0b4939e16f0477eff7de966736382eda81b27e872"}, {0xc0, 0x29, 0x4, "d8f7ec12054211240dc3d04d87e6eed3042785a482424b5aa4fc0bae95d4bf4ef981016fef92d9c1ef729e9d8e445bb37dd4c1ffccbcbd227228d49994d8cbf81515608f7d7226b72c68af80ddeb9ae73c1f04476c5bc56ff593e3eec8dd253aedf18c0e1a4aa4864c206699fa5d62e017e5fcdbbd4f44e41faf3d10849ee135553ea3e52a2d45cbef8811a05482f657cb41fc78816faa0fd8fdad4ec7517029203399c7c5c95360ccc8ea31d252b62e"}], 0x338}}, {{&(0x7f0000003f80)=@l2={0x1f, 0x200, @any, 0x9}, 0x80, &(0x7f0000005440)=[{&(0x7f0000004000)="daebcf2cb9324cdfc0a09095279c5ed6465bdf7470f229aa29c03cd9d1ecdd687cc2aaeb60a183386e15de77ebee4ad905ff07d23a472a3627f0aada439f4a6587d63f43c9c528a43a962b3ec7739f5f30379a9295b982ba0c92d3b5c9c9c6049194f1d228214b2865c5e25b2356896917df97796c6cef5a506a9e7154674c451fe5f6458a486c5f5b993712814294931f25562531ea1d3e40d05142c004cd7db2fcee30fbb7", 0xa6}, {&(0x7f00000040c0)="5f778ac39e8bb6f8a2e486b60d2c5a16a55409568a263b2e7651232c2358e7e078c1dce15e162bc1155e4592a1de4402610aeef2d4db2a027282d8bbbc1239efb7e2ca887fa644fe2bf458fc8e17ae6fa97c0faff5b820749c24a07dd820795b9f6becc1bfa5fc704dd929341ad5edf5e50c17b4b0c16ebda2b5bdf41ca3d10057f95797370925e526920aa7ebb4937900a305d9c4a7a72579ffae72fa8bde2227", 0xa1}, {&(0x7f0000004180)="7062f0726a965f917b4aff40ac86383eeab5ad8f94848df0e4e91611db6e029726a08dab87a390d87943c6f91a588172149e086895c9fdeccfefdd026b9187e3deff76154e79464b3df8455748ab3d549366a256ef72dd0c1fbe2165c675d4850b5e7179beaa8404ba068f43a3cf671d9c5f7a29973f72ca11c1aa2ed7a420c614ad9863020fe5fcf71c6efd40083f4f0715429370953c302d881a6406a8764ab844d0bee5604ab5e1f6ff2b7bc6", 0xae}, {&(0x7f0000004240)="05f26464c5efb55e6e2f946c843a5ff4d9d7cfb1aca93f5e0d76b7fe84951a078b948581ed2eac2a72a02ef1", 0x2c}, {&(0x7f0000004280)="5ebf9a6b6bf17d0f6445c304991ebe21ea97d6edd057655c5e1a4153c6cf7af80d9a3b8d1bf41d63caf1ccdcadf29683fb173cdb41965091dd5b0a9fd142aed59cc1fb096e08f57f198e13d74eb43fef758e1c4f557204325cb1b2dbd791436fbceea40870670344170516cead46d5262d44864d5492430c73e233dc828673b1f4f396daf182", 0x86}, {&(0x7f0000004340)="d9cbb3397c3f9d4c10f0066b90d3a650e26c5525fff3bea705765ac010abdeb96b1114cc49f988135acc7d5a48992e6957770835538a82e49b3468ea95c7274e6bc9ebb649687b1735f7cdac165b024ba3985fa306899a9fe3fe9548ea7bfde2b984d4e876dbc58530084d21d5d8cc9846eeef79db65f331324caae3c680cf8b6f750139e050636189c20ced44ad3a219e347be763a73dc82e9502e22854f4740d8aeacfd57f6fb02d0ed7b2bb71f684434d6b479ab45528f8878ab56bcb6b67ca50eface8f75f960a7f9dbf2bfd1122eb8e6ad0a64c76f99a7343e2601af0e6ef2bb27fdc6b081764141d071fd9fed0f5283ee82ef546881eb7f0e3b423be567323e063bac55d66a1822b5e7e72eb81a4eba6223c13653dd9bb77aafc694ce916db86ada771075db06e0b23befd7bce976e7da6532cd8888a6f1bf7a193d727afaebfb372a81de886f123dac7a1e6e56fd18f618ace74d989afb577311a1508dbe63c2e0a2426fa1a0c95d5bbb48cbe8ce85c79093cef721e940a5d06d2d0e907442ff7b92a6d0873c5bc4020f7ae57a6d37baaaf2a08a83247a86c37fa8e3021c9b041e378d342bb93fac8d1ddb362a3a1f66f0934734988fdc0845bfbd003fafb4befdcb4bbe0bd7d0978e317f5dd08f9424d3b6e551e3075ea8f3d3b6157e6f027898fc8360ed088449a47bd790a2743f182f9d578a353f22f122582a3ef9cd2d5307eb1f05dc5f9f9873345001a6012f422128f611f62abf03453fe8c79947c3a5a612b88f35a2811eaae2ec6fe9cf2b317f1172ef601b8df7327031481e4651bc37c7a5a1d0ed7c4ad3bad06b95a8c304627249c107f60e3a6e25e2fc0b0230a0ba0271a84ca901b464ad76af874300c3b21c9cb2b7174cca5809a6ef8cfa1b5a573914f4a3e9cef52f6343b28600f7982823b0e093ddbb0520747451a219189c5122b423e9ffff4bec73a4632c9806cb7ca7e17b64050dce543cfbf6ce6778a6d4acfbaa451d61e955d279317f2e9752755d0e5ed2d6761d0f8b3a264520a32239d9fd0dee13c632f3c775c008b62d78b30cc9065a4d26b6cee3b3186941212c6016885a5b22aa4ea831b06e73c08196fe5d3dae8e54faf64529eadcb6b50bfdc1a71266c9e006a1c3165217708ff4de0a7d82523679d0a71059e15b6294f718f82fa2e920a1fc0fe4c25d40aa9224d4ab8c20279d4ffba78d0f90479dc3bf0eb0b858a3d92abbf6118cedfd4ac5746471f0565f340413a17b097c181d4fadeb3ac29277b9a7d978ba3fc6806664d4808d24b19d9b95a9390e5ce5cebd620c3ec2aa02395fa61b677f3ee2db5ebb0f313938705cced547725d8dd42221906af77dbf07932c3d626989ad08d4c5443f193a93a41d8385c3324682d109a5b21e12e52c3d859b3e9a781c7a60b4838ceb4e24ea647022689a89a2acba87eca3ca4ba03040f4cf99f9a3d4aa29ed4288b811cfb75b20ea272af00e5541f01e388f7f624a0b49766eec7937c487cb5c4ad9dfb4b6f9056e2898fa75793bc08683088dca9dee7f5acab38522e7ea93df91ad16b64fb9d82853931e581f01471dc7e53cbfba820c772cd87eebed013658cd05e027b6da4ede983df1360a5487451e6b2a872a7f9bf1c512be94676955d748712d0cbda1f28337af0bf8eb77d4d6b8210c4832d6828b07e07ce3eec87b6770767ea10c6b0a3f5de0798d623afddd8f6bc933bae0bcf5c099bc1fd43d5b7532641d041a61ceaa78f7ba63309c95dee09e96425f984807427ae2a59a35671a9d5a4646960cc1534633baec90cc12cdac193c70d91e4e7011a4770d570fd71fe37f36f391bbb509dd684de0c0a0e854cb2f8ccebb51904e5c1080c28796b12eb58af4dc60a8ee1fec7bec0461faccec0f6d13b9a1b4e719245b8cb1fb393486a3fbbb9a83a438bc71718278e60053e4f0ce1d3d3eaa14fad2a24b50188d75179f6ee389fd59105172232da8d6b9c7eb54cad7873a1da42ed549f1178821c50739ec7598098cb615d27c231885b2cbeace61795caf96d2a48f3793ce462c22770b9ccc98685a63d286bf6d7c8426664f167f3726f9b04434eb43f2067b6f85b351f3ddb99a0a24c1097204b58bec4a9b231daeefa6822b7683f1a1fa39b0f2faa3612bbb03ed33eda08b894f8b58f2c926dc2ce048df5c776ebdb2f9cf6c1acddcdd5274e125dd23b783f1f4d18921777aeaece60b24e7e26c36e1fae995763c83e46a2062d8e516018e5703a3913c733cc8701109f6342cba54986675268e49d74d91fe1e21d74fa3be0e296c7315d840ffabfbeb8863d2a625462c92c342dcad129dc4986f944c25c2a0a09218abbda70ec13d9546cf7f4deb5ae220921602c5348f8e804f8bdcb7cfcf6a5348a8580fb7a7037678d770c957af1af319926d97e517c90677cf36379d9fa2cf9d39fa5c385c872a64d190aaf59b5a8dca8f3354f6a6ee01388edc72ec7a0c5af2a4941e7c7b0839260be9d3c8066c1ee1c3831c401a5c81a91563158fea9d721e97bb2bafa95e9196784bce1d7f681806c0734f957d395b530eba57e84b2524bd49aa3996111d55ae1badbd63a3d6322cfe53db97ef0757c9cf50ea26aa12877f6456cb1a26b9c8bad02790f433f1490aabd9cd830f162dcb498a607541292287f42a6303ce6b1c5c91f8f41abb65394393094787e33db79082413af40606dd7b181e0c39d1592628ade05ca685283753375148abeb31d68356bbfb39ffccdced8e157fe8ee31336758b0384481baa387df5c43cb523aa7bf3558f25bc0851b570e832ba51256731b7291d882fdb83044b4c9594fb259d03ac643c3c89e721445b5d40e2c7de10bb567542663f4022e2ff9de7094047484ef3bde6606d08c2eeacc81f4859cc9f3644d94aaa95e20b994859347e84811b90568fefb3b89f39e8e45e6e276cc76e9af97f9fe59eeb694aa709b9e075fab177a6f251fb2293fb27cc811718a779589734053428c10d3d38a7a17b7f6d53aa6fca870a31a43cf4a3bd3c2a5fa6357f58a32b848236f10854d55c107c588bf90e970598cf61f9cee6abb1de4347dee529f72fe781cfeffac43a79bf2765a44220b4ebf7eb3ba38b973c67419b8cce5281aa01100839064e35b37656301e6fc531ab70c6e467dee3dc960204bffc73db31b81eb7e387863586e33ab95c979aab60757985489239fc0dc025bd82a8d5790afba043f1ebacf042a588b188daafe2097822f23e5de474ad678099617977afd6c6005360511d3a5b14864770c4e9331b29a85323a5c2dbdf38ee1cba46f62769aa613e4968607ce1dc19add9964cdbf788c0ad6785639a9394e9f08091f88c1236432ed162e3821760fd4519bd7093e9ed665d32d2982e26b3595c7515566c11f38668e22725bc61aaf13582323ceab04348a90834893dddef78f6718d2de5dac973dcd30cc41c9dcbe96b5d33bc5b821f05d25223f866f109a72b6292012fef232dfa3a2a4f333655d93f728deeaa071a5108651bcc2ece7859a79217cf358f513ab1729abb731c0d2b7a83f2d7ede455cccef744f55de607c3fd57712afd363e7b43ee9a16ae3082d4af7b36c63daf75ba53e2eeb87bc923fc86406beee657947ba63a59081df2a22cbd4f8524f2a32b55251068a3d2aa44474098952c1bea44473182fe29c7262cce8218dfe4f9d3cde69dc83089a5d73f1cfb75b7a707326dca27eda7a8469a317bf231c8da4780d01ca49cda25d22fe07f469fe55ca7d8c33810f315dd327680e8d8e0f730e6c2a0e3392181610ea0bf1918a14aa0d6e32fe32d48f39dd4e4e6a8596b6b3fa48bcd1a6efe6708ece81ee30112d78c548f87532e935f61300e92842798b53d71f9772e5f9e771ff3f0738038e6a70c474e339ed33e562420042a88d5ff1d10decc94ea0a136b68a11fceec6fc161d801e5133d4d9de63fb99860c7eb63fbb34ab12136667e9126adeb97c4703b498847e8b086c38de83cee2e3f7a2da4b0312092c75a5f0e193ce5b4f4a7ebb9c36056abc2e239ad969e2ab5e4fea3d833408c9164c98fc3bbfb37874ce9512aed58eff57410d7887521cb4a60f0a4d62599b07f545f0885d21c55ae1bcbdd6ca878b00d80237cf6ba1481e7b527ef0a891877d080165bb6b5f1bd6b649ca21ed61e999023df2ca182fe42eaba6df2aeee26985ea4dd4bb3ac8e3168ced729eb63f851dacffcecd1e2e91f4de664fcbf836a7642f5e586012c8e87e467effa3cee214e6480e01086c433809ee1a9026a2392bc8b96dca708c794010f7c21fa632c02eba73f71be16d887056d08394aa37ebc5b20ebe58f71954d30c3408b297e652ba36edf1b7090cec55c02c4d737fd2af48f6239b9ecde59170b6688e60c4574e5c071cd79cdf9c98c59f3e06e2add90b044ab7790da7ea2f4853179e25515023076cb0ca7b72ada6a2bb95bfb6587f12a0864b0c7f3c541f0ebef47e73010c50cf044fbfa9a628def0ef7dad81a62919b1cdc63a534e5998cbfc52ef6c08536a403bc18b1995adf7c18e93ae7b58203d0f26776c1a85d2b27d68106b6e3aa55f6580529cbcaf35bf22863e3c009f2c5aa7822f67398c6f7b41800cc2c03e11b2a42397a06d89bde5f0508cc3fcff16dd5e4ef48ba0192e7d2d440b7fa4b4d0bf975ec6fc4259aa69c79e8b8d68c66a2d08eb8c1ae6f251ec47024500a4c212fd34ce2731a79efd2c65bc3486723debbd6241b9c3eb9e7b0c1b6cf83fdbede0a7242c2010df743037a1b35ef5de52a5552b2555cd78d39626aab28e050308bb6929658e8c52ec0bd5c8de6f9654550c94de29701722649518855c37ecb37af103812b8eb7354db022f1e2a69748be141e59fb89f5b09b39f73a4039fc591ddc2e746debe9d53cb83c342a4c4d2cef3c5c3366786a7755556160364d28b12a2dbf2c666784e4a1d7ff6713672ab8d08430576ac6531509c0fb0a0432ec12db26b76b8f846736a53db789bce27bc378cfa93fbc34fd6bd8e8c9bca6aa56f5ea610076608cf745b83902abc8fadaaa83973a45819c9ba78d129d70447c0e2c1f05ef4ab5eb4ad80510f3e1156894dc9d08ca61542c8f91ba67d5aaac3b242a312000a3ba5fbacc57d1b305f98798668e170c7fdd99fa815bfd705899856e9c1122d41f9f2c61aee65c167d7b3622af3af4811b2813e7836c30dee1fcd7122e3aa7b6cbbc2b37203f40eae8b1a9bb5c961a49f9b4c71d752aef30d95a61176baffc601576c326c55d23ff8678471c9a3228e0793be6f981bf5c009f5bc8619e7d0243c8e420f3dd24fbf81d05f5f381303cde357762e6b148b0d6ae6b81da2bb5215344a71a7ff93de8c1ea87b1c4823be4d87521c9e7a5904e09b3ecac4e8426e31fe4f1375e9319d0aa48504525af16177036eddc978d287ab66abc2459055fe2fcbaa81e594add3c3523ae808c9d5879bd716a2d24d747706283ede838c2ee4facedf9049a095f90583627603823411e8e4fa835ffc3fad4ff0701792c4d374dbe6b36c9ec442bb5b50ed426ee35063e2bcfabaa135400c2a318c28beaf4c238295f4269bb867098a69b2683595019e81a08757006d5ab3b6c57e0e175994d3d3e6629c59691a55280f438504f7a00f517856b344bfa6b73dea2147d4a2555ab424607c839d59d9524defef21cb6ab11d07d490b5358723d814454f2a96e7233ce09c42e9834717bb2c94502da984fc37b4ede9ccb0b2325230214840ad26e6a6946611baf145ddc8223f029d92dc08316765d5bbea3e87b30e08579064", 0x1000}, {&(0x7f0000005340)="3d69e72b1495517e1c9d1d6ed2999804a5780fb33531bd84649669a9357b40fd53d05c153ca050f0a1f6669bba192978f5922f67062e2195d0ed08e5612845184eecc9f8bb80cfd70c7f1ec23bfd471834007d27", 0x54}, {&(0x7f00000053c0)="936098ae2430d3af588e1aae6821874f4b3c881575877fd8c998d7bc1fb65ee463342c64abd9a801a8bd468304c6eb75e4155df794803b059ad1c002446e29f25ab1a79a6fc509ce514a6a1dce3225671e159e8471c8519e6b66a59ef4ba6167c8721b61110476e61dd9c988", 0x6c}], 0x8, &(0x7f00000054c0)=[{0x108, 0x0, 0x5, "8bc3d82c0e1a3c313a2451d3a6c7e7a94afe8e201f562283f22bb9b59312e4cfb5ee3953d5a9d6e705e6bedfc51c85620044c0aa75138d3afe09846e6890a368caafabb39852409fa3bb64d5bbc02924aecd4e171f0f4614bddb2ddfb2b2ccf4c9c850706ed76e4081eb2e6cba4edd284b27c808071898a339c61ad43f62d7c39f48872bb641cb422b3682cfc4ae17392d12c2b5e512d5ea5abece48a077f9b76e866f30edfcdc998d788a1b0ba2a46c79a6a929215db5b06468c6aa2fe6dfea90e5a241a57f44733b65542defbb67f416ec4e3e5fc7872a854348f4167dbf29ec8a4b050c520e3f4f99ab3d5d33bdebd333608c41575bc3"}, {0x10, 0x11, 0x382f}], 0x118}}], 0x4, 0x4045) 00:13:54 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f628260862d4dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:54 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x263, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:54 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x4004af07, &(0x7f0000000040)) 00:13:54 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f628260862e4dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:54 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001309034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:54 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f62826086304dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:54 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="39000000130a034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:54 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x268, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:54 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000580)={&(0x7f0000005700)=ANY=[@ANYBLOB="440000001000030400"/20, @ANYRES32=0x0, @ANYBLOB="0000000000000000240012800b0001116272696467652000b41902800500180000007f000000200000000000da4eb5d67303af3953d5ad009187368008195060ab9bb11213ff070000000000006e57cad71cc048d4d498ff77c7a5ab4ced9c1b99575bcf50b5036444265c63ba37e4d0c27966ee"], 0x44}, 0x1, 0xba01}, 0x0) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r1, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$NFT_BATCH(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={{0x14}, [@NFT_MSG_DELCHAIN={0x20, 0x5, 0xa, 0x201, 0x0, 0x0, {}, [@NFTA_CHAIN_TABLE={0x5, 0x1, 'syz0\x00'}]}, @NFT_MSG_DELSETELEM={0x20, 0xe, 0xa, 0x0, 0x0, 0x0, {}, [@NFTA_SET_ELEM_LIST_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14}}, 0x68}}, 0x0) (async) sendmmsg(r0, &(0x7f0000005600)=[{{0x0, 0x0, &(0x7f00000004c0)=[{&(0x7f00000000c0)="ca5e86133d33d41b55d5bddbaaeaf96105f39a4fe678f33d04e08fc23f2af8087a9f01f0368e49b1fc7fb875a61c9c16f77083d3d77733313d0b86ff5d149ae4c5d70f9a660555869fdf1b642da2f76ad74fb18fa2da231a42c0df479bba1b76a25653fe232bd332a7244c44b6fc349fc3b0dae956710d6b2580e4c5882138cac1bca81c3e04a4d533826b3499d779eac5cd03e1f13126ef5d66663ac636e803a103f6c075482c8758abe80c57a1f7b4b209f9f5728d8ffcde5d95bf522f29ca8f54a9dd1697e2", 0xc7}, {&(0x7f00000002c0)="0ba9ce178f5541238a2bed7e7e6e53e7970bca925aef086b8d8db02acdf45a15b1fe59edef1f0fb8424ddbe9f3245d22e1361aca65d185c4201440fc293c34f5fe2aabc9c68239eaca1a9bb022163e006978263472ace5e853f17c2ad9e48c186db96b109a16c01428cec8c59057c756efa8ce641ad1f37191b1833f05e29c08b0b81bcc7f327f8851124bc8c69a19cb16ca84a30eeae5a5d5027bd5bcfda5c79c25f838987ec04d9292d0cc51f6268b9ffbea63b2b5c02e9fb888140439edb995fd5e786a39f5f71150d048569c0e0ccc5bd1a3", 0xd4}, {&(0x7f00000005c0)="df0e4a253d6f895ecc8a9a959c01855f1cb406fd14b9ee3a42b1c47657701cf1c589963cd7a5b581942788e112594262afa1ad31140561c9031f034b6f2633b151c9209c2cf15724836746f39f01bd433a4f14b4b587d5a85020250c4c58eeab83fbda75997ed973cb3aba9755deec7e242d59f6ad3481c7db97227d32521eaf1eb93c275bfc5aa9818c646ab093f847e1493c0c7ee905deb8499521935494e0d2694bf11a1abd1ed7a510cb501c0c2bc4cb0a27b9337d7f18d9989a8d944991059c8f451fe31c6fd6a6c0b47d0414de80f4bb7a6f13c0de348adb50f041131ec23ec8201a7d4e76de0046178679a9254302762fbb46424473b9f212f85d30110592775626cff57b2a71f9fdc90e6026df6fb1244857b14a3d132655b013a3dbb21bd731d0476112868767c1abf633cdccafe0074a43ca35665aafa91add1aff0bcbe0b1d6ea38e33537b9dac55aec01b532bb51c31b4fbd8bbe2d7cdca3a3c139fbc45ce03cdf80905d78c703010bf7a4796d6805955d37088b8ce9c1206e41270243f1d8288055d385663a0d8793413a4aa7baa5ca4f42418d57f6c5a09c63d56efa67d972441b8fb7a38210b2634c231f4535e43f77e0ff0dbfdb3121a2d04cd90b0751f668727d428561610fcd335c20373f6836221dd94fcdf5272aeafc317170e554539fd94beef6eceb0702284691068eb17144a56686cfaa31576c1bb7f485b5349de24bf42cd4be912bddb96317dd401dc0e9c192f4f59d0cb4f306fbe2eb86e145fc78e7630b5fed2fd4f16d44eba483c76decb28272cb7360b7626c8438f40b833083ca63b8281454d312105b9b280872f944b090085c649c89cb10ff57f8c14d7a1b482653ca7e6102bf753ff8d916ce76213255d3d03820f3d1813bb5450dba17f25e916c9f4204831ee2d53358f639f28374d6d0d6614139e50b5ae6d3acfdefd2a98780f7f883e3d6b2ea22afeeaf1a953cb5c3efdbfe5ee647fe95deb3beb2431ab9a515b91d9fc7fda6cfb93cd2bd430aa0bfb7b480bfeced9947933cc3dfa3a93db97d881f72cb466e7eefcf5a325823e00f89407fe7d492928221a86f901b4a76521fc73e8330e6c21c3fe9b21dfa248cc76152dabde255f25dfc23392fbf6752a873a2219273fab75d5a99a2243103c3b3fca0014d962f36650621d23d4bedf899f9441d86fb64e3b4f33a4dc7a43dbc76b1864465d8a488b2c2f8fdee23b5a98ed26bc4c3683bc124a0507397b82f6e7b04dd213cb4da4d71c92077e1fda99a167ec66cedbf8061420088d7ef7d4d0e3a867d5d038eeac2870a422e1d27bb2eb195314d43ee17c7acaaeffbba7a90d7045c9a9b441dd2774602eccd30abf2b57dc7f0e6f60260b4669b7411f5bbcea7a36636285ec7c94197a8e2bc2891c970dbcd3e47c2f9369454ec5d8b05203001347e1e2483473a41d558611476c110c6631f3ca3cb0bf4d7c76660204f90280a528341690fd00af2c96e3552249a3ca9ee2871200e19028c32c6334656090f3447d09e8c1ec4e56b9db1ae397b6f1ff9af9e03a32a932736c417786577a3d1bca3cb51b1383df0e999e9911c98bcd0117b07dd63fec8f082c8cf82e1be8017ab469a865ecbbf4a264705e64deb7f1b3bcd6933b113aaf9c6f1f4908d64947f1b658adf7ecf5a44b8554d83b95bbae105364eda516f13ea86eb8f7c3c73cdb7c48a1532ba1953ee6fc06ef7691703a1e4a182be9c5aba5ccb505dd162ef6200c685b6e7e4b7773e16f974558b03544c3b46e56ab946419cfd998ee2d4409c6799463c0e772dce541d6700ea4c5eafa7b1f82c0202fb36315cf1c4077ca9b377d3b63e1d9a8a120a8ab57a2513636a49cd1f0ba0e1310c76d9ab0540f3962e3bfc60a2a9300cfbb24a1f6e8912e90047c9b2d0f010586432635b6c0ce0919e4f2e82ef1deb77bc25a9576d860881c11a23dc6a09d4e21eff0d29839bae17bd499772cee29a4653bb4e7fec08b2a126d3c01ee8bc18d2c676a780e0a70a7eef42ce376e6b814742e05fcc13c6ced9518c1914aaa76579333df9ac909b4b5e987657b7bc934029149c9c48e38d6b5f29774696f6daf5225414120f10e18f2146711ce97fa4fa513508ce9470d5b26098fc16454b22d4a338d98016824c4508506287c2c4426e4730032307dcbd00fbfbca192f77895166459501c756fca5c7ef87ab0e92c8461fcead785fdd9138279b68f49aa725149debc77125298b1bce3211ec345533ffa8fa4e0d828dc268845f9f16c99fea6b2a428f06377df98f321a027b48d1f5735792a608bcbc8083a2a165b34ebe93e9f76c93ed10b88dd698aacb6ca71ed418a5ec10c87b5ed5bf49546637c0e4eef0b348e0ed14b2325fbbb05b1b91bd75dadcb83213592e1923799ee8f16d3b1195156f79a57644783d72aa0e30e4655bdfa3691dd7e23dad34082eaaf25e951f91091a97646bcac44bec77d4bee01c54a5b46c7a5b18f65dcd0e3c813e851c30b7a44bfcf9c225fe3946e0b462a024caf12fe8f02fce9a3ca7ffea5698d69d15b28232b6efb3841830cdb3bf552e6131a2a454b4556fbec013a868d3292dcc2f23007c99fdd6303f809a2862edaa828bdd8cdb01c1e57bb58f6f1b6d58d29f0f7a4145f7e89c64610205ecf9e652d817183a7f5ff70721c9583fd9ccfaa84ad3f1aa89ee97ccc439293619751bf16c581efc01f6496736cbf140e278eb7848ff05251bc6bccebb516bee8551c7da6a15fbec6693005c9dc41b6002790eec81cdcd3f0f1b8d80660eabc2c9cd6ae18b2689523b19d112fd4dfaff8cceea9bee3a3dfea277465a7decc4f151c61cc1402f65e5c4681650747c6572bf38f3a79d35276b2b14fa3cc000dcbc500bb9acf19e78fa85aac80c89f3d78ad3f9c80c488a43256de19dbf69e69a4076410e5569dd3fc71ecefed240ef785945f9554c095654f7b867c466504de15a1985bca8d1c78159084a2d6eabe3a019973fa739cd562f15655b174431c0bedfd2a22f1c150d57aa4569fec459645dfed005285ddc297d5dcf80274d03c69147c685db8c7190f2bf57014e745efc61c59f0e10c21680f509c3721c73f3519a2352cfac41ac48a8007429484a9024d6cb8e9b1a66c5d63f3d7c6cca7d562df636627ec1dfe1f52460e518d84a00e9b14d277c1b2974741ef5e5282a8aa0d4e5a4cbf975086f07df2a0f6af2a5303d361858898701af31e3aec5b17cc882d43816cddbc9b01c7712df9e3f6e2956e3797ba44279f4be86b3e7732b210d85c766829803dd2e67282dad4344c4da6d9eeec9ea699fa375fbe6595e823ac9978cdbef2e03da72a0ae0bc171147fbac41e5c1edb580ad9d8896ccc55020c536ce42980cdf9e0cc03bf8618069429b280d9c0a8366b78cd32c88f8961341c82dc893210be2634898f7fced11225f0e50e176ef91aefb3a8bc94916f5855d87eb4df9789288cb8924ef30cd10a8558972882c1b591aaa14b512689eef75cc5acac932ac2c474eef37edd10be9d7374eb47ae6cd0035c270cb2d39fae4f7ce59c832a20cac3436e888193701fec2f8f60559115c81cb771bd08752dfbf0cb39aef79b2bbb6a1f64f116aa1e4941c60d1a8d9e353b90dcc74b7deab722fb2bbfd53801a543480f23041b47d8ee01453d1e5b80c6f250839ecc68a526cf258a9e41c7318f3f8f072ae0d2dae1aac275d3af46fdfe9b2821ab77a7c81a36d56c5040bba0daac2a9405fc775183f1761d0f9647446ffd799605285747e5f3faa35493981a1a37e944c0e2aa718fad5760065c7254e3780914723de0e3768639d78c4133f071887ed797856f3ded9ab986c3836154f92ec9cfc585e97d09722c22c98a58e7629358c1c7b658a8d1ce57f6201e110991fbc8edd2cb1cfb3bdf3fc4c177b1d8f53256dee9989ca592f6b09df14498e4f0bfd8d3058508779c349209a283b1f0b46797c9f91d05b175a1243816c9d2cd67ba5684862ac755e89ab60b43634884d597b952bba940a24a9c3ad375c0bfe94fcdc064389779393dbe162bcfdef3402492ecc68c0ed348cf353a172fcf7efd4ae7c91708da12b589a65c3e3e55837e13cc76f2d2c7eeb9a7b9754495a723341b7feea389c3822a39f71c982b955dadc6070157c56d5084f52837be7ec23186e304a089e735de91cbee30922a9de84d44117be38613eceba4e79bb892505f8f0e4de089b0700edb09429dc6d930678bd5c728a99cc9456f950f0756d54963188f99ffd08ef97ee83132027479fda8431a4f21fc76614aeacd4d052faacf8f1fd110220987a62c2e15eb4c881ba5232f6e184c916554791548a7b9eaa0cb0672a5451238144a448f9f6dfdeae5c25cfd902b2e45780407d714860e2af78b11b454d8f4e05e6e7cdf509a19206ff8eadfb312102eecba2be9582aeda68b256f0809414a5e8494830043bf0174c5266baab8b4072d081e8530ffcb6c6959cbf4b8b9a4a83e3d4fb2a5dba3e43419cda9c978648e11a8a40b5b193a3c5ab7861524a0178ba0232e1277541ab3d6ff45f4c1c6730cca6aba10bf3b8d640341709ae7e86d33275a2ddb07227a53ecf84df1393c39e2e68528c192cd8060ac5c2175d6884f5d2ed1f3112a628fb25cea6d647d4f79ddbfb2386b0e96899308d1ec528bbc2364943a5744c07106249170dec000a850e7b98ef6e319c8ce710f0b7dfa1d5e37e811174ed1828775ca8374f8b26906fd07d9ef6df2155df7631e08f7cceef85819001094ff42b7534bcfa2a86307e7aab7de78fb140fd601370a6508ddda9f8ce616b3f531c71eeb3390293d15246fa00a437c8a45f8a168f8173d98f4d2640f398e57d0746dcbb5d7b0cda14fc95073f664e87df2fd4216765af4d8b6f89638c9c6a921dd481a2f660b38aac73ab78cde17aef776e1ac8f31e3a57e423fa9908a14a47c6f9a6598cba259c4eeaeb35f5f05ef49e783c097bee9931c820db82adc6ba90853fb89ea188c42bace3bde8aa6229b227806529a4d301e1bf44782f002c5f590ca36fdc71bbda6ba39979d3807eaa82742e9a80dbfb6e2cf6dcf4e88d998299dd2ed5c65954b407309cfe486e184db5cbd67928fcc9fcdd811420205ce95d36e5524485f6bdd1bb13be63e19558f615b7fcd90bd82f69f31c8351709b43e84a52929fa228953b088384cf3eb1d4b6a2c0a7a6fd8d6d35b30afba6a82d91e8dc019e4659f52ded99a9584fe9355b1925fa889f4d9dfce3cdf56a4a2455354d2655d43975c37e653dfb86a0ba666b580d40b367208d6f130a8b2d07b01ea62ab32f7baa0ae04f70a1028fbf3b1be933329ad6f66d202256d4d7da8525c9e9d55a1efc226a5ccd8b63ce5fa71463c850fb4646c35c544cf1257de6e53692aca50ad99cd2106714d7612ddbbbb8eba6c7f065006c361ca5c2d41a12204d15f6118832f6563fcf9b803d309a908306e5fc0eb2fa06ebc12f26cb549921e41b5b278ec8620f644ebb60d315660bbe0c581ce3f7decaddb683dc96d3df709a2ae8fe7a61bf1d3b44ff3d45f327086ffc3423568bff1f76c3295d1aba69684dbfd34993baf92f0395b4acb0d99b6b8715cc88c80d677dcc9bd5bd5a6898ddc1793654692a260dc3fa882769fe63d4f5924cc50e6743444cf679cee30ba57f6f1bc1aaab29c2922a598ff2e45cc2271864466edf12b992299c5418ffee38d0b2d3f1564a89778243d83cfc6bd16ce1b49c0861a489f32d99cffc1b16c357c333a0de6a6edfc7e9c9bd17d7ada9296fb3180d9c2c78e465d53e9", 0x1000}, {&(0x7f00000001c0)="51864b46a35fe9efa1b59e8f0324211cef558164d74eabff06effd22e58dd485e0c1d4e59b186814e6b88a864854ac3bf1271cc56450d5f1f3d9bb447509d20179d950bea5bb1298757ab3c9990ff70304da2f118d56b62990c4fe936a31c2412e80f96097ece007551b578db77308da7a8a1d6560d89057a34121bcd92923dd509cbc86063037e2a41ed747a7d80c108cc7a731a7f5c0c55f321d5f3648b33fd5fe470397a971790f6e57ce231725277dad43143d2647b52d", 0xb9}, {&(0x7f00000003c0)="78f330de0036a44aa4d22707d5903875779fdc2483e12060dfd1750c318c51040bbfaf1d61b8146e9e93eb788b378e108352a16ad7412299f08ebbb1246f86728d01252cab0d97e6942c0bb9812ff4614af328f4b4453709d9d788965e0788a0b471719fc442b21f012def9bc22d95cafb9bc9ba805208116aabcdcc811c7ece565bac8baa44914690b5fd6fbf14df2c91ec1bafbc35680b2b24c2629e39db7e25c650992509ac8e72a5dae58ff4c1f74b6e04cbeb36b067bf58d80fa7c3d8697f2429516c99ccd218d9c5177899860c72e65b7a3d0c7c8107d46fb4ce52f93f8570464a07966a55c18e9cdcb633e66c520aa7e5af5cfd0a", 0xf8}], 0x5, &(0x7f00000015c0)=[{0xd0, 0x105, 0x8, "02894048d662f6481d465d434401c995b9a701133152fd7eb15af5d04d4565b25ff9b3c62663176d0ecbfa86825f965bb112383bee7960add006f6ac72835bc1cd32dfb49b4158db46141f72bc47f24f1c93db4d811d3652a3c9b9a3daf10b81bf73771f3e80200f83440c707b2e886edf8b72a61c758fcd9bca958bac08ff36b38d16f81099ca4b1db84f4cd0363e22a576121f527c8cb51c67c8435da56c36087b0c6a151363183cc8dfa247e240efa76d83dc1ea4e1d58c16a68520"}, {0x1010, 0x110, 0x2, "c7314a21be2c5f1a79885f3022edcab8f033defb1644e7d4538ecb213c196ce52e811b924e7c734b2536a7f7ac78b82ca1b5c6519e154cd565a8bc95f726d4674cc29592fe6bce3d55db67e919d92e063769d91f8666215265513fae314a13f71b55f901cedd5dd22c5991a0a986ecc34a8b6e02423ac13594a2b5aae1ad6789cf059f290ed199010905e17006fb516e64dd3e8d12a29a4828f46638ad7489f3c78a1840597fff74eda1205248954ab2ac608750cc1f989041824d2905929401c65cac4de72d16df40584d7da4b3c2bd39d28f455071fde14cb98b0a3e2b0cfebcaa7eb2bc6b515ab26e1254e3f3ac716aa0dd7d5013e7a682a1c76eb0ccba670e6b5612424fda743795d186f84df4eedb4500a17c6ab8095f0acff0e6205c89cdd06070e731f3a40abb9af746fe7c0b1e0a0041599e169955d1c51a9c865d472062ad12bfa2e1370c16107cedd0367c2a252c15b727bd3bd721ad7fc2def1a7a0bd764b05e1e15f5ee2d24782a0fee14915957e721527656896af522e4563a3f730f7c10cea1f719192adfb77f3ded291aa8f021dd19c570392452a4668f1998caa3a82d2146b2f01d0f57a6a007207a52280e98d9ee4b1d4e655e679acadb8c1785b0ed32cb6f34153bb89177ff242d2cc5258bf6b88d8ad73380119e60c9d044df1010198634dfee094d88b5c615fa28563218dae77d21925e532926414bbf5afad4df87e9b55850e136d8b265b8702d800e2bf4b4e1127c4acc9979117400b94954c71b3a8daafd51def4363ad12a63499a3cd8d9e2aad85c7040c5a629448e6e9a2883cdf0541c255a139416733d437093232b3876ef8286391a45a8ffeae7546ea41164236c33652d06d8d96e1da7eb98c90edb634ee29040f61ef852d6364a8e3fbe6604d9c108e5bcae7720558bd8296d758c0851a4d28a4224b5a2b95263c8e6eec0ef2326a7c5e04756f280365cac1e9f366d181417e27c47df78d5d9f234ec7eb71110a6686fe6d6570f7432f7a9d4895614b96f6fd9d367f09c14771f6602a596d92dd8fe33efc6a55707a43db03a49ce08c416519424d145029e9bac6bda18c2364743a782dc7dd16c01b7d00796d910edcd8d3371900202721e4ae25e80fd62a8f6a7442517d594f51129bd9e6be6f94f5943adf5c1a4f6169bc24e7550f1ee75198bfdaabf8b8cccd34256439b66fe361a60831056ef3a8759e2a494b810c27bf04c9af5bde99486b44af16c355fa20a241932738f1ca1763b23aeea1be8392c0f088204a0eddfaa43863a502821180b51e612a2ae2282e926705cf4239b890cc9b2ac9167459c88550c23bf3b52c27e613e0ea3f3cf51c0fe679b1d0a2ca53c4b4548901c7c35f41a3f21e9663ef50d9a8bab9b544d00867283bf187886806f2dd43f2749014519a6cd7741331c6b0702523b92aa7ee04e11bb5c5ad1810cce15c37df8343bf1cf64b6aa4535c853df74aca20f1da7496d839778bd4a523855030935c4f99f262f9ee3707e55498aed803a2765b3789f7539f039cdb7e22bc93d528136bb87cae03ef2046740387f101767df26c100c73c17de2735cb852c5686fba76bc2cc97bab4e9f0d0896cf1d4f83b19346ecf6d954ffd9fb8876fed5cf775f826a9b9edcbd984bdebb2e5dad3f45b78d2da47172428a21062e3e6117c1787303646c495c02ca703702f6c02788f5febc6e70045777fa97ac7d0af863eb1c65b158ccd3d7f78d9f0641bd59fe41eeb864ebf04df1c3a54cd61a7dc43cecea3615839cb6d66024aad1c8df48ed204006e815c0eb3fe7c1a865e30040b9e2dba281bea016170746e676aea07ee14d23db5ea3003b4d79966fb86b3fcd97485ed1c88d564a6cd908b315d469076e1b462d3193cea2b4aa6be497313ec12b8c67e6e073c68cfa72967a0741785faefdf8ee6b618009a598beb5dde70027eb663beeabba4a27cd8f3e7e5ce1eec62e9d3ca7d376dd53eb5f5a73871cdec15f87c4c50210a03c47ebefd9bfbaf70bf3690a57bb9dbafc0899e280a1eeda15ae46ff1f6385e5713ea668ef5abc9e21c3bdcaaa79715714bffb2d14bcb80e1e802c52a4599a07b96f9b26115b02782b9aa47f449ea222e43789317c41c4c54f1aeeca0e0273c9ebf129274b4e592cfd7a5b4e1560f8acca493d65f4ec0a817015884b0a1c5d6e887090a9fc9c1b0f2826ccc3c5e1beb3bd25fd81f8b61978f44296a1acdc2667607cf16cb4051c5a8fa73f0217860c5e5fb19414f93a9d3d6ffa4c5f39a1c2a7203c2181dff8c9f8ee3150b021118761ca6d15275c271f5144410b35d772af209dfff0026209396d3e1e36305be0852fe0ff0606ca52010473175f3199f76c693f4dd9966159dcb58d99622a3a21399a978fe6ef8cb43ddcb49ec9921ec373196800f7b929f4a575cc1624c3f18c73925932bc89db4b120e638a33774067a53bd2c00d9a3a1c52882c6d03dde5eb4691e10e6e742299d2004dfb120301ae3941ffa1d0d510386f21738f5fa6573ca7e43b2d7c4a2d798dba43bef3cf5179cc4208cd13ae9df6e3cba8f80a8707788d61c5006b27567aa71372144332741eae928bb4b29d873973727735314e0697cc745823223d42cf82e1977c9175189b23c334c0d63fe5c21ae52a903a52484e61ade708fdcae6c2f90ab1d10cf231dfb19d78d2b4fc9e0bc89d339264e6937b73ea6e17955fbbce480605867d07f8e837cf9bb907ba1b9fbb09738f5d8c622cc50e1ee9b8be2e93979de01a01490aade7c6940a2660f6cd2c9c8bb297b7fe7f447dbe01beac9611f5cc613251136fabd79a60e8703ae5bc3ad93d01c7da4bb744f926311a812257fb14e7b431c9dff68b82d9ccfd4733dc91ddf3b70669bf9f68364a98845076fe1285d0b98e7f09dd211823e2966ba5ea17ae7e01889d48c2d0e10203fb276a5605014bd54aafe0a28047d161267c8258f2d2ad179387d0174092c914e62fde4bffc38c660040517960b866814a6d8b9bfb805bf2caa6d61147ed0c7225cb2cf0438afab3dc456fa5bdea1d78b1fa6601d121307e94d2d4f0936ec37653acb2b784bce0c93410c3bae2d3665f834a65d829d8ad4489948e0546968130ce01f5b9dc2b03c0ef972e24d4e64b406a98b6f88b86ce31ca225a910eb234aa328288161e71dd96e76e2aada0e27daf0321b6d07e33eb9762adf3f5dbb89a66ef3b8ce7c1aef09c3260d1b721844600c87cdbfe0d89ae49de6bea19902312bfbc89fc71b9467cbc4a242d33b8d1364151ad451b74de9bf47d800c7d707a4bdf6b72b7b8f87b38b179c905eefda2a1109e3544bdde326e4fb2309b2733615540d64816555840cebf1b95360a59403499e9f6674e6d7252ec0c577cf85d9be6e2cc77e719563f3e4ec11b1fa35350bb1f20c3c20fbbec83053ae3befc0783ea88a008750e15443674b009f182821e237513dae6252afbf211173aa7902e3af6889cc619e8b9c0543fbaa22fb1c97a56576fb3c30f9e06bb3e1337e590d1bcee490a515aaf023d57db24fc010c2f8784e8a6d08e50b45104417d7ae99d970ef9130ebfeffed784ba689e5b952ac57672a1200bda47f0353e4e29958d97c6406dffbef610729beea4af93e918d2e0252e3820b357290e44f8137448a471b077d2f4eee8be3ae7d511ed08ec2ce418d063bb19502ff292367c008bc4814ae824d4bc91c08d40d2c6e79f18922727a90c2e52870925a8324cf8d429da349f41a3d8b8ea60f57ad33d2be16c16359e11807d7c4e7162ffc7d440c7ec0adef0855554b6478b19c81007c1ceb51b863e43d8e41105236067e1c25bc9fc812032154c3209a4f226e5e9b761f25268b3074894bc41f62861156815b21fe591b3779fd5ed7c229ba4069999b9978383dca37aef34a04471532cd033bbecaef8ec947bf2fdd7955888120c941a38524035cc71fe6d7c5d749818d784c844fc2c60dcc146a640a216c4b672f4f62de657b9627d1280d89774ee9bf96a1f6ed1ed7b278414cf60bba8c9759bebdbdf829ff644532d26d615a5b93d6ed26c739afbe1079db23753f6a538f1a083d3ae605d7ca3ce2f249c396dbf9ac98010c60b03abb84bbbcceadc847bdfeeaf0842f9560ded7077e52a652f7b69586e32a9627993a5195c5fe8ee062a5a7a0085b991f1f8dc922765f3ec8b49f8fa7e5673fe5142baa09818ba5a1b78b9a8af82765f328c797249e61cff0c4093573ba46e4ace6111a32e7788b8dd41b754a663733b053406c75af40d3fe5ab5ff21d9ff37b417fe4266577d4a8b97f697007a76bf59f7b6fb29e6811b17b7eb20dffa63273f9d1630768870a42775c51d92bc383e62bdd2a57179e15f4652563bc2e320a65cce78b1e6c5b8a2af224f1d95146436bd2faaaae09fd763149f97dc79f2d585a6c3c8d534d41349605a390c1293b0bce3026a67e0f53585ed0ec2926ded2fd43eef443e33b2ee29349df5b896e2fa3af24d58cdd79f4ed9e33ad8923e7c37d8b9dc8bd64436cd413236a633e6a5c3a958f5eab757c1878391df8bc91f600117d123be00066e4f7b37acc1bbee21e6e052678ecc6ceeba0c480c4ab05a184ab5094d1cd1d4b01d07df48613d1831d10847f6c729120aac6f91adc098c946e507d19f5ba5b1c113c9959adbb67b3eb540f0180c2bc0a767df70921602bcbd0a3ed16d191bce5a80d03d761676a6ff1f99a260119f7c3a97d33a48cc4678b4ba91499a37dff4494c1b1986cbffd76c5b68d426f627a530da0fb7e1ff524943ef53c5867769dabe093cfb95b0612e1d880998f38ae8cc1ca9ea82e1e7a15896d37372f0ce7ed2450f66e23875f1d1d0cb854fd5072556414c65782e5d9c6a8dc00912b4b5aa0add9af9667a94975fec6461c81e21ceb8a198279cc60d836aaddf7367796fb5eacd00e1e720e993f65a5616efab5091025031d647315959bcea82a72b1dec3a793b9c7253f5fb25a0ee37d025d814245027667fff95ddf82032c7f8a182485cef10999cc24755709114dff4276f587e1c10ffec7e251a83abd27e9a651bb205bd5c5d1996fc2ca10ae4230d5799044daa202a719446bb9a30edd3bc7fb37a5486e4b625a755ce06acbff86ae49a06bd7f452d3a65cf85edc9c6a41f70c2695c7f227b6597be790fccb003395b7c71a1506bd920f4d6c6805b9144b796bf33f1613cb0c160480f7a6d90c5463155964ff8b3a455c9387438d4f2871843c886fdfb1ef3eb97b73be2a0cec47d38bd6fa649e240af990e570e8a35721b2590f35692cbfaf871c5d210271b5ab275c1e140ab2042fdf0b9b35771262e950633d99453e07966744ce9e03ca72584e473dbc3c9c8157fbd2c982991e8b6f1aca1be585b1d6898a695c9c49df3ec20ee8c49a02e66a43b7c5e0074d0a23cb127d57f6eec5b8c37893fe0f8a592c2c101e3d82ef46758a515d1ac86b945992c4a747ad8fdc727f9c9f583c3cc01f61bb346dc9c6f334457d377ee875d91b7ca0a303fc87e930eb2d53185f12c7f1794278cfe2a03e6f1fbf7adc135bcc6fed4a674883ffbd13c06a70b4d6d7f7b2ae717b84ea03bf90feb1a3c9e782f18221ee069258a8934cecdec85384ba5305b5b4f49e03c2ec51ebbdd87097536802289f3b0273a64431f3c45496f852c023f1b1eb079bf633cb68dea69772ab6fa9eddb34430b395ba87252666ab85384cab6e6a1d692fe5a055f184c1d9446e0cb03839aa2de6a164c18bfa41b3e816064a8f0fce607709e334f56eb42934626d6743aa5e32247d2f588b5"}, {0x98, 0xff, 0x9, "671bf1e31d368d2999de33839edeeee1e516a90e9acab01075d64f115bf045e98cb005447278fa7fda406940a979dfba3cbbcf8c0169f38e88fac3d95df2962be5bd97e7f8ce7efb521d39b197cafe992bb8660f088f8245ecc19efd4467daab232502652d04d52958e4b5337aaaa921cd594e21eb740d8333b28178316a8f726a4dfa66f348d6"}], 0x1178}}, {{&(0x7f0000002740)=@pppol2tpv3in6={0x18, 0x1, {0x0, r1, 0x0, 0x0, 0x3, 0x2, {0xa, 0x4e22, 0x80000000, @private0, 0x200}}}, 0x80, &(0x7f0000000000)=[{&(0x7f00000027c0)="56ff3b2ae2bb26d44a4dd7922c4c8824058331ab9d715c18db39e07c50a7ba070df545fb487b9a9571580e7b4e1afe6540837c5a01c75c3fd1477eb89f68fe5327c54a3f3f5b7354f07464a2d9b5df073759e0c9d847c779d0a41f35a6557486bd404f7b0344b0a782a0985b4323f8ec", 0x70}], 0x1, &(0x7f0000002840)=[{0xc0, 0x112, 0x1, "5d1344e0102ee254a1e5292e46db8e597b3adf4ebcf6fadead68708c9d64ad9742e2c3575434b04a2a941bc4d03c1ade552eae6416572a857b8424aed2f55a9c82ee9c0a30b6ead60bdc118d1165499d48d5d7e186b3520663536ee6f0db0b16cef83d40ab0333998332c4a394d94afe68401d51b6f40bebccf0765b4ce8fcad91765e89cca48a5313603494a3a29ad4a773da7bc342d7ec537e2bf2fca1264338c6ea900335bae076c893e348dc"}, {0x78, 0x109, 0x9000000, "7f65d6b0bb331abc0008c100d07aeab69358afc16499b0db6766988e25d581d653b422505a60960b9a6b9787977c83b3567e8887491b77ff587db6d40cc3ed7c19094ba98fdefc98b1103be20ecd1f0f71983e1e24e4f1e98ab1c071570b9373a2bbec7a6c90cd"}, {0xb0, 0x10a, 0x200, "73cea165187e45f6fc054554cd4e416063b1762e811b85ab562026cda12ee24b5d41631aa0e5566d145fbf159c22aa44b8c907286a80e023630def573120763faa69be5dd05c7619e176f3600d79211ed1761f9bff1e5e27b52085f860129f68277b85134ff8f49d650d6b82f376e18c165caf4da70ec792e1931172bcf01b0992e45dde4d963769b073e6b7321daf1a441f98761373cd12af06454279"}], 0x1e8}}, {{&(0x7f0000002a40)=@x25, 0x80, &(0x7f0000000540)=[{&(0x7f0000002ac0)="eccab2ea82a7b459905931ba98ec064922be626f2259697f00ab7460e4c8b638dcf39f73b6632fa626428f5711bdfaa1f9506a7d1bfbf86723490fcf6179f3b3d79721df149ec810013d714ba93b28ca0d34c54780f8167b71cc82a3eaad25c59b83792ddc4e6733e211f98ce2b4948289a7a488e6ec289265584f3e18a0af63520b3dca6e8048f188de0c9f765e81f6854f6800a43fcb6885d212454107b93dd61e41ba57c7bdbedaed42aba02128b1abc92ba1877bd24a5d39b0cc4e496335b6513b9c0a1c0ee595c2c3fd73af5928ab883c184894818747d6b4a5842489957be5e7f764e0a2e0f614", 0xea}, {&(0x7f0000002bc0)="1c8d423a9c49f7197bd6b289644287d893642ac21e9bd236b9d4f00d0280014ae9cb478f771dc64ab73b57fb2b2ed92e7368c98cf9abb5ed4d4b652027eead26ce58b96d96d4163c49477783ed7151174472c02496", 0x55}, {&(0x7f0000002c40)="9b61ce18df7d298c6182b4b3a8120b96a8f678d165d6222710a2c1583209461ed3ac39cccc2c18ae8518bd4c33fffde032cdefbb2c2d718b3a314a57966b9104fff5733bf4374cd6cab0ea4560d85ddae019860facc2fe8901104167dc5bfc7447fab8e3f263dfa02e5b753d335671ece4555b31a98ea7c41f661fadb00e7f6ed6bd32ae0fb0de4e69ce0e8cd777093d38fe5a43d726dd9e5906c73d0a4852b56a3ec54010dddc100504acf888d43f288557e28b60d30684b292a623b18faa05939cf483ff84de87f7f18ce0e3a3933348583c178887935142de68ad9ce2a0bac199c86e58da7c803c3afaaa200b1e71dd6855f80585cdfabd05c16ae07d8b485af861bca285e7658b12846f2bdb0bb689bf66a088b2086b074b6e7f669295b24a0187d203206f0e2d5ac480bba22ba08752ade4412c11e065bdf5b0eca6b5600fd9f4324b833e2e85db2a9bc114878cfc6719bd4ac498c6ca7d88826740ecfba2f01ac381f86b3ab1cb1e752c24dbf58ac26c8565964e8dc6f4f7f9b76032c05318376c2b36705b59a2f0c65239f56c9769238bfe4dc87efdcc2019c9a1e68a862a873850769d3c1f4f8b16a60bed9181d3c49752551fe3c942dbcb3a422b06e64332cfcd0c7327ad643d704f521726d7ddfa2d34ccd227ea2ca8dd1b7fadaf422eedffda86fb42ab6b89f1e9b52b343b48e09e22fe5ea009d2b5df92176ffe14bd5f6aa1b9dbe98800405db4d897061e0c81c5ff2a5e7bcab5d4a30afd11c58b79cd692089fcf2364edbe69c2ddd4deea2fdb200dc4ee276f6e6be2c708f78eced73d5d3ee53df381e2b8c8402e3ffa7875ce1a49d9b82a14500c064fffa22edca7ff83a7450fa487f31309572d694f21bc2809aa41f7cdc7223517e7342afa1c48f38b27d44d3a683402bf8b440658d43d3649a9dc1ab8da4f98731e33ef4620ba518c34a24932fe71280f1277bc6a30c3a34fb4e009e4d60b76772a37f348b3ab6b6fb31f64e3f3f7f0e21ab2f105b4175dc5e74d0938ecc12ee7fcfc1eee30a8b0add121a3bf5f9b87f5524bde6ae9c72c426b824544872a994393c6b95720188f17cff0e63a5b6ca3eb3d13ff555f649bf3da83e8d7c2f24f1ed5edd2aa31390814adeb1556d5695b7469d315a1ec89155f0b4db3fd09ffb77c83ce79ee6b611568c7c5d8a1d70a106c94ae26de141e5795aa1e811e5f9890c0a104b3df70844ff678c02269526b52b9b6fb683e2546b07ab43df5846b7fe98c22a25209679edc6a009b24dd6a1f2def3a914c9014fa9d064c35eaa919b342dd2ae15503e82761fe7d8cb4787b73fbb9bb8703a5b7cc8f0dc5b11ee11b76979c0de221eb7bed0bc2c6789b16a6cd6e38b4e980af7f7bf1b4c49bfbd423738376f546b832893aea112cfd02a357f926428743b585707968957a6911708161382213caf431036d5c23bc3f544a4d4894f9f26cdec683799db479ce2d8a681810581dfd7263887c616cbb1d0ebf2ba9f73440484b5089e41c44d1c059c811534b137f44d73880cc76cdbecf686ab5a90e52df47123e6c7543455eb1d665dd350331e3948f72b40ab8732358b711125573de4a1166a4979ce4429c507ccdc69c9c029ad3541fdafbd8c91a83616a6219d9bc6a07813c3942ceda3eeec2944bd601f4f832200b675247cbfb8a296c9bd28b930b5adbcd89b641abc835b6d8d8878a3ba95db5d05db7503642d565a6d43e8feeb96731439793e6a604ce366248ebe5457cefd39cf86307199911c6540836231ebb0baf9c7fcf7483ed37b5dce2e06c44766699d63fc1f59d47c3ac1ff1a9705a99c0252504b6ad0113b6243a55b3cfbf21f5a59271eee940c3eea2217258fa3b1b0ef3368ae64258b9c445eb704a81e4205f368bf93a81fd76858fb963a9589d6f4dafc0ffbd0ee2500413ff854eeca219889e4246fb8d133634fc31c271104045d2e9eed7400e92f70c307a03517449bc2ccba7ddafa1922db1a742271210f5e5a0753098e04ae406ce807b5a29966d7ad3e5ec9d4ebb8690079099ae5c42a6932f003419cee7f1da8c9889052c932c97bf2a5c51c9acba6bea9f09342b314137019bdb270e2204743859d116bdbab2910b70a8e263fde741399ba08176db2fe6b97ff8878579435f73cae0174b034df0100f97c3d1bdf21091a02140ee9a17cb7a0c4192cecfcb5e66a4b78699458e4ccbbb911210797389bedccb07b3fc7498a2a5150e63a3bddccfb2c594f5dfef81d3417c7164f76f45bc779de4969d0937d5d4a6f551d00c5687f6111aabdb6c58538eb32e5be0cb11a44e51381a48df0ee85f21bbd4aff6d163cf5449e2d92e3dc846726b48bcb9a005cb5c13fa95b482077d458be9e483527789c8a57225804accd905fd1fae09b36f294614687c65a49d125251e0840a48766d6dcea18e263b2291b44ed2421b4a919dbaee78faed4e0e53c1e9461c491ad8b865a5c03ddc149b1166c70fc73c97d592cbeaf06a14ba1247a9eba14e2cd603cdd776836bc35206c4e74adf4164dd78d056b292de0e98dbed994e057d8627d77a78a8db2a4375815a69f8e30512a0b40d88e606780ef57e0f5334f8b67e31c01125a6ed0979647c4f9d88058d3cdfa313bafbc8049afb216fb14bf5f8d496fb995a8e40eb036fc1bc1478faef27c00297f7ca8b06653c8d789379db5cf48145ee9414f7d96ad4b47ac100a52573d5738531bd442de42d20fec158ad91768de5f13ba6a5eeb603b88366801dd75b08e230fd71fe0f84ddfa8dd8b30bf1fe0dc76ebe84f10a95fe42df695deef3ca4f34a83feedee1c3f9250179044d6549278b0b911c52b2b70a09b631619ad83a0ac22aef77b6c6237c99dbaa5711e3ddfb1850fcf5815de4f8a00ed4f89727ee2466ad7c33b929fee2624adeb622c12be17601d57345cf75cdc3383f62eacfd960c6d0aea3ea1c6145015c81782af7894b0a852446a0c9191a6616e1c732e007a7dd60929c721ce032d464d712f158dcb09a932b060f0604aafab93382f9e81976472cea492868b68d7c135ee348b63d8e74ba2e8100194330e82e8aa3e34ee6b35e00f648017c721d79d98934b452f23398491a378d33afb76ead7036500ce732f583d5d233bf169be86f88b8501a3de30ef34ba94d5a67d86cbdbc2493d703a24c18a6d8ddd0098e5d649b4e0de5d52e0e88f212b80d2f8c4f977cb1b107054ee2d72f9ba21744ce775f421b562e3ab1948ac051ad4710e0559fc8b9f51b974d245e655571f702821af260b58ca1605491c47c1db1df6521841699a0f83e1bcd8f30e05e7e331d74218521857f33eab2292c867ee1b630fc566823814f579f6eedc67014b0c5733b52100283056fb61b75b4d72608456ef6f7cbafa66466365590e145cde41daee088940748f0701fe0e0bfc5b5736bde37e7e60c41f85b56f19c0d9035090f0eb1304b53836a6180a6c483b7d3417ad0fe5d17519ec1f122a5574344e23c182ed1272fe9663f24a3e2cc501226bd472ee8580ce873a787da307af6bdd6afb286f550f027878198585990e02daeb238a4cdf91e75306371cb48a340363630ac3a408b00f02a532784fb301e7dd58a681b0d41dddf5ff2b1271ce281fcbe6132250b7e3e52d4abf3195eabd2e3666007f5455174404fb946f0a50cc1b35b0f85d88a22fd1ad716315596c9204d4301253d173a52f6cc6db93eacdd08a44d450532cac800cf35751d52a7bfeabc0172a5be133a2718a9bae3941cb8e1e8904ff737d141c671d2779057ac6776549b9d59db6218b7f6f218d9e0e6c18f63bfd1d4a0ef84695e374981a65176b04440fe121964d82202866362096e07671039f031bdb553343a52f7aea1bd48725943e830b3299a6aa2e35e489aeb0fa6a93a8f63c4aafbb6f02139d5165efaa987cdefe2e37f13eb940ad6684bb66a87383f1b24562e978253298365b55391cd77c369e063a8fe0b4740274a5a8a8f05e0b194a0f4036cda963f6a30a436103e2b4a08c91a81b93a62f6abbfa5657742bbb136798642a9fcb25e258e64ff2dfee47b583f021821afbedbde2b80487df8cbff5a45e3a4767c7e5cea986ac337ad6a518455f5986a90cab4510c5a870625302df87527d9159aec954b2b4825e1350faa6fa528bbf7db777a10835dd6dd47c4d2ceaaddfcf73a4d6625f39c1a13480e456602d10757b7eaad8ed8e09427f6d50506614d6b84dab507e6198d8f12ee8d187f5f38a58102daaeb92df432ae8e403d5197114bbd91a3a3536e398b9ad56c1ca66d9bbc910808e88c90d6a25c8ade80ccee9423ba676efe6c570f103a126a89b9fc12b335e911151ab60b0ca6d6afa3eb88b18ac8e7617674db3d16daa13cadf8b3895c00454e3db744712f2cde14dafc9fce7b71d0c1e48ef4193655a4e16df9eb378f611f2d15cfe0d7184f64252517828f9d2921ca11f36326b056fbde56577543358245cc610e11b55d55345bcb83b95173c6cd6576b77a6b0659f98ba035fdba894d65daa5ec3bc044f794801f20483f4bb912a29dbb762a27072a9ac607fbc2184fedf6ab1f64a07912b795435a98dd990816ed5fbae180a07ee40847aab48487929d747ffb8a3646610b7ecd1fb7307a7bf2d5524f00da5ba8f329dd972cf93a03a483bc7d4454fb1b0e853de1575d2015ef3f426a32e25d6290cbdca2e6537c45bcfdd26075b516775a4c5abb67b175e7704c18b3cc63538ef01a97e49ea24be56bcabfcf1fb64ccd73dbbc01bd6e7502f0768812cd936bc8b49c04bdd00ed25715eb985cdaba73cd8dd40c825009cf01b448b07b853478e5b7378f057b2b7d987071f15c5dedb5c647ad62f75b78b000187536a1a247c59b807e6494ae3b1abe29b411265cdfe24915aac219bc3054760fb40034513afe43dc0fd84e325050fb67ee80b93bbe982fc319e51bfba03884be3ad1338a37d8168d19299950214839d2db4e6c156896c5bf11f0bcd29d9a128f32cfab33a0277b60b5ee7238632845f37cf5d5ace7b7a36dd5f8887529e064411ab9a0195e68431943fb40b25ea4d8009cce2b5ac71a4437a5d23de041e8470ac4e3fbedf4d7f50472cbb9f40d3278c21ef536b80f01d1df3d7c2f05da5fed890f2e2e089b5112298082299d79ff8d1be90318f97ffff6a73558f351f3c949c60457ef6beae48628178e08a5034fb822d963668691db4f856b1317c705f45509e6e6cc9974c856f2e5962680a789055e563c7b12c17493b05b6b045319bcfb701e33053f9335873a73a4ad414b9173932573e11b697a626901276acdcf8972c589e1e3efec1583fe19715a6f21227e412f48e2e8e79d1c72489cd2fac3f8059f4982b8d71bc280415f47fe675beaffed351efb7b88a7cbfb7fd626a1842c3af881286bffc3eed23e33ddf44a8d69de6aec3a1e5082712fd85cae842e5b66bbc56057afbbfb45fe4c7f4086c267e475bb7ab06e222455e363d19272ea6e79355e145e060113a8050bbcd499283fde0471458c6282f3a65fa75771d976cd9feebc5e5335fb46e280b273d83f56ce4976379864dda472624ed282d2e5ba2aeac0043b9d2fc9da20db5a2d5fb1ca12eb501fb9b5f682d6323c32bee7538505ba898bd6790a1e7e9a292fb5194b132560c2e7087b1dcfa360b36b4705f4b7104d45bc43a10925844f3199f80692963b67f9e4b6e64fd195b25d315110ccd31f313af377c0fb3aae831d8ae6ed3b1e058221b9b07fef98c964d82b1369042ecbd1eaa3ed69603679cc73dbd3ce0877028f94298", 0x1000}], 0x3, &(0x7f0000003c40)=[{0x80, 0x28, 0xb19e, "3dc6d1842b0f5104d2c23245c8a63a87b25f41e599fc6994243cae602b46cb243e9faedc8b715db043549b318a42f1f2af595b0fb46cfa392a824382b95a07b7a89ae0d159b1a3684b1c8813f05543b2b9452c27c7776b19e3cc6e2fc93bcdef972452edbbbf008c64c559c29f0746f3"}, {0xe8, 0x104, 0x10001, "482c6628eef627a0e65315e88b86b4edc7f36d73ef7d708a43988cae94fbaf806d8702f2fba379af0c3d49cbd0fdd988a9061e0db837fb499ecb532c78791745c249f912ff2e3bcaf423378f5eb3044db00f24ffcc5bf82ce50af5bdfc0ba5fb04f651027de74c9a0dc3584f33e8bd80085451e0b6d2a40302be1cb6d8dbefac6f15347523f18abe3451b46d5d4e0c2ad7c247319bcb388eac30254683b937f0f4c77a8b776917cb6159b467f68f55f024dbcfddabfe9cecc9af559b8f87fd72ce71f1b49494628321b2f2c4226c68f9ee76b00c32a359"}, {0x20, 0x10c, 0x57, "efb89b677286fdb484411272"}, {0x90, 0x110, 0x101, "cdd6f64956a2e61c9eba06ab238339fc34e9e6f526d633f24c5b4eaa95c9f27a536c80f299842a6cf4c0c9c596ae30c0b9ddf09d5e2c6dcbbbc4f7411cbdc2e01ec6ec9e083eab02b96c20645f6d61f642a2b0c973ed5a0761a3a015246c861e88240fe65b5ade80abb0a8562e381bbe651d477da9d060bb8b12"}, {0x60, 0x115, 0x9, "7400a79fbf44b4ecff28d5d42dc2a50de3c01f4db184d69c72ef0cff22410e2f644cf25d4f309457cfdc2fe15cd7c6a6f50f9f0650227ad0b4939e16f0477eff7de966736382eda81b27e872"}, {0xc0, 0x29, 0x4, "d8f7ec12054211240dc3d04d87e6eed3042785a482424b5aa4fc0bae95d4bf4ef981016fef92d9c1ef729e9d8e445bb37dd4c1ffccbcbd227228d49994d8cbf81515608f7d7226b72c68af80ddeb9ae73c1f04476c5bc56ff593e3eec8dd253aedf18c0e1a4aa4864c206699fa5d62e017e5fcdbbd4f44e41faf3d10849ee135553ea3e52a2d45cbef8811a05482f657cb41fc78816faa0fd8fdad4ec7517029203399c7c5c95360ccc8ea31d252b62e"}], 0x338}}, {{&(0x7f0000003f80)=@l2={0x1f, 0x200, @any, 0x9}, 0x80, &(0x7f0000005440)=[{&(0x7f0000004000)="daebcf2cb9324cdfc0a09095279c5ed6465bdf7470f229aa29c03cd9d1ecdd687cc2aaeb60a183386e15de77ebee4ad905ff07d23a472a3627f0aada439f4a6587d63f43c9c528a43a962b3ec7739f5f30379a9295b982ba0c92d3b5c9c9c6049194f1d228214b2865c5e25b2356896917df97796c6cef5a506a9e7154674c451fe5f6458a486c5f5b993712814294931f25562531ea1d3e40d05142c004cd7db2fcee30fbb7", 0xa6}, {&(0x7f00000040c0)="5f778ac39e8bb6f8a2e486b60d2c5a16a55409568a263b2e7651232c2358e7e078c1dce15e162bc1155e4592a1de4402610aeef2d4db2a027282d8bbbc1239efb7e2ca887fa644fe2bf458fc8e17ae6fa97c0faff5b820749c24a07dd820795b9f6becc1bfa5fc704dd929341ad5edf5e50c17b4b0c16ebda2b5bdf41ca3d10057f95797370925e526920aa7ebb4937900a305d9c4a7a72579ffae72fa8bde2227", 0xa1}, {&(0x7f0000004180)="7062f0726a965f917b4aff40ac86383eeab5ad8f94848df0e4e91611db6e029726a08dab87a390d87943c6f91a588172149e086895c9fdeccfefdd026b9187e3deff76154e79464b3df8455748ab3d549366a256ef72dd0c1fbe2165c675d4850b5e7179beaa8404ba068f43a3cf671d9c5f7a29973f72ca11c1aa2ed7a420c614ad9863020fe5fcf71c6efd40083f4f0715429370953c302d881a6406a8764ab844d0bee5604ab5e1f6ff2b7bc6", 0xae}, {&(0x7f0000004240)="05f26464c5efb55e6e2f946c843a5ff4d9d7cfb1aca93f5e0d76b7fe84951a078b948581ed2eac2a72a02ef1", 0x2c}, {&(0x7f0000004280)="5ebf9a6b6bf17d0f6445c304991ebe21ea97d6edd057655c5e1a4153c6cf7af80d9a3b8d1bf41d63caf1ccdcadf29683fb173cdb41965091dd5b0a9fd142aed59cc1fb096e08f57f198e13d74eb43fef758e1c4f557204325cb1b2dbd791436fbceea40870670344170516cead46d5262d44864d5492430c73e233dc828673b1f4f396daf182", 0x86}, {&(0x7f0000004340)="d9cbb3397c3f9d4c10f0066b90d3a650e26c5525fff3bea705765ac010abdeb96b1114cc49f988135acc7d5a48992e6957770835538a82e49b3468ea95c7274e6bc9ebb649687b1735f7cdac165b024ba3985fa306899a9fe3fe9548ea7bfde2b984d4e876dbc58530084d21d5d8cc9846eeef79db65f331324caae3c680cf8b6f750139e050636189c20ced44ad3a219e347be763a73dc82e9502e22854f4740d8aeacfd57f6fb02d0ed7b2bb71f684434d6b479ab45528f8878ab56bcb6b67ca50eface8f75f960a7f9dbf2bfd1122eb8e6ad0a64c76f99a7343e2601af0e6ef2bb27fdc6b081764141d071fd9fed0f5283ee82ef546881eb7f0e3b423be567323e063bac55d66a1822b5e7e72eb81a4eba6223c13653dd9bb77aafc694ce916db86ada771075db06e0b23befd7bce976e7da6532cd8888a6f1bf7a193d727afaebfb372a81de886f123dac7a1e6e56fd18f618ace74d989afb577311a1508dbe63c2e0a2426fa1a0c95d5bbb48cbe8ce85c79093cef721e940a5d06d2d0e907442ff7b92a6d0873c5bc4020f7ae57a6d37baaaf2a08a83247a86c37fa8e3021c9b041e378d342bb93fac8d1ddb362a3a1f66f0934734988fdc0845bfbd003fafb4befdcb4bbe0bd7d0978e317f5dd08f9424d3b6e551e3075ea8f3d3b6157e6f027898fc8360ed088449a47bd790a2743f182f9d578a353f22f122582a3ef9cd2d5307eb1f05dc5f9f9873345001a6012f422128f611f62abf03453fe8c79947c3a5a612b88f35a2811eaae2ec6fe9cf2b317f1172ef601b8df7327031481e4651bc37c7a5a1d0ed7c4ad3bad06b95a8c304627249c107f60e3a6e25e2fc0b0230a0ba0271a84ca901b464ad76af874300c3b21c9cb2b7174cca5809a6ef8cfa1b5a573914f4a3e9cef52f6343b28600f7982823b0e093ddbb0520747451a219189c5122b423e9ffff4bec73a4632c9806cb7ca7e17b64050dce543cfbf6ce6778a6d4acfbaa451d61e955d279317f2e9752755d0e5ed2d6761d0f8b3a264520a32239d9fd0dee13c632f3c775c008b62d78b30cc9065a4d26b6cee3b3186941212c6016885a5b22aa4ea831b06e73c08196fe5d3dae8e54faf64529eadcb6b50bfdc1a71266c9e006a1c3165217708ff4de0a7d82523679d0a71059e15b6294f718f82fa2e920a1fc0fe4c25d40aa9224d4ab8c20279d4ffba78d0f90479dc3bf0eb0b858a3d92abbf6118cedfd4ac5746471f0565f340413a17b097c181d4fadeb3ac29277b9a7d978ba3fc6806664d4808d24b19d9b95a9390e5ce5cebd620c3ec2aa02395fa61b677f3ee2db5ebb0f313938705cced547725d8dd42221906af77dbf07932c3d626989ad08d4c5443f193a93a41d8385c3324682d109a5b21e12e52c3d859b3e9a781c7a60b4838ceb4e24ea647022689a89a2acba87eca3ca4ba03040f4cf99f9a3d4aa29ed4288b811cfb75b20ea272af00e5541f01e388f7f624a0b49766eec7937c487cb5c4ad9dfb4b6f9056e2898fa75793bc08683088dca9dee7f5acab38522e7ea93df91ad16b64fb9d82853931e581f01471dc7e53cbfba820c772cd87eebed013658cd05e027b6da4ede983df1360a5487451e6b2a872a7f9bf1c512be94676955d748712d0cbda1f28337af0bf8eb77d4d6b8210c4832d6828b07e07ce3eec87b6770767ea10c6b0a3f5de0798d623afddd8f6bc933bae0bcf5c099bc1fd43d5b7532641d041a61ceaa78f7ba63309c95dee09e96425f984807427ae2a59a35671a9d5a4646960cc1534633baec90cc12cdac193c70d91e4e7011a4770d570fd71fe37f36f391bbb509dd684de0c0a0e854cb2f8ccebb51904e5c1080c28796b12eb58af4dc60a8ee1fec7bec0461faccec0f6d13b9a1b4e719245b8cb1fb393486a3fbbb9a83a438bc71718278e60053e4f0ce1d3d3eaa14fad2a24b50188d75179f6ee389fd59105172232da8d6b9c7eb54cad7873a1da42ed549f1178821c50739ec7598098cb615d27c231885b2cbeace61795caf96d2a48f3793ce462c22770b9ccc98685a63d286bf6d7c8426664f167f3726f9b04434eb43f2067b6f85b351f3ddb99a0a24c1097204b58bec4a9b231daeefa6822b7683f1a1fa39b0f2faa3612bbb03ed33eda08b894f8b58f2c926dc2ce048df5c776ebdb2f9cf6c1acddcdd5274e125dd23b783f1f4d18921777aeaece60b24e7e26c36e1fae995763c83e46a2062d8e516018e5703a3913c733cc8701109f6342cba54986675268e49d74d91fe1e21d74fa3be0e296c7315d840ffabfbeb8863d2a625462c92c342dcad129dc4986f944c25c2a0a09218abbda70ec13d9546cf7f4deb5ae220921602c5348f8e804f8bdcb7cfcf6a5348a8580fb7a7037678d770c957af1af319926d97e517c90677cf36379d9fa2cf9d39fa5c385c872a64d190aaf59b5a8dca8f3354f6a6ee01388edc72ec7a0c5af2a4941e7c7b0839260be9d3c8066c1ee1c3831c401a5c81a91563158fea9d721e97bb2bafa95e9196784bce1d7f681806c0734f957d395b530eba57e84b2524bd49aa3996111d55ae1badbd63a3d6322cfe53db97ef0757c9cf50ea26aa12877f6456cb1a26b9c8bad02790f433f1490aabd9cd830f162dcb498a607541292287f42a6303ce6b1c5c91f8f41abb65394393094787e33db79082413af40606dd7b181e0c39d1592628ade05ca685283753375148abeb31d68356bbfb39ffccdced8e157fe8ee31336758b0384481baa387df5c43cb523aa7bf3558f25bc0851b570e832ba51256731b7291d882fdb83044b4c9594fb259d03ac643c3c89e721445b5d40e2c7de10bb567542663f4022e2ff9de7094047484ef3bde6606d08c2eeacc81f4859cc9f3644d94aaa95e20b994859347e84811b90568fefb3b89f39e8e45e6e276cc76e9af97f9fe59eeb694aa709b9e075fab177a6f251fb2293fb27cc811718a779589734053428c10d3d38a7a17b7f6d53aa6fca870a31a43cf4a3bd3c2a5fa6357f58a32b848236f10854d55c107c588bf90e970598cf61f9cee6abb1de4347dee529f72fe781cfeffac43a79bf2765a44220b4ebf7eb3ba38b973c67419b8cce5281aa01100839064e35b37656301e6fc531ab70c6e467dee3dc960204bffc73db31b81eb7e387863586e33ab95c979aab60757985489239fc0dc025bd82a8d5790afba043f1ebacf042a588b188daafe2097822f23e5de474ad678099617977afd6c6005360511d3a5b14864770c4e9331b29a85323a5c2dbdf38ee1cba46f62769aa613e4968607ce1dc19add9964cdbf788c0ad6785639a9394e9f08091f88c1236432ed162e3821760fd4519bd7093e9ed665d32d2982e26b3595c7515566c11f38668e22725bc61aaf13582323ceab04348a90834893dddef78f6718d2de5dac973dcd30cc41c9dcbe96b5d33bc5b821f05d25223f866f109a72b6292012fef232dfa3a2a4f333655d93f728deeaa071a5108651bcc2ece7859a79217cf358f513ab1729abb731c0d2b7a83f2d7ede455cccef744f55de607c3fd57712afd363e7b43ee9a16ae3082d4af7b36c63daf75ba53e2eeb87bc923fc86406beee657947ba63a59081df2a22cbd4f8524f2a32b55251068a3d2aa44474098952c1bea44473182fe29c7262cce8218dfe4f9d3cde69dc83089a5d73f1cfb75b7a707326dca27eda7a8469a317bf231c8da4780d01ca49cda25d22fe07f469fe55ca7d8c33810f315dd327680e8d8e0f730e6c2a0e3392181610ea0bf1918a14aa0d6e32fe32d48f39dd4e4e6a8596b6b3fa48bcd1a6efe6708ece81ee30112d78c548f87532e935f61300e92842798b53d71f9772e5f9e771ff3f0738038e6a70c474e339ed33e562420042a88d5ff1d10decc94ea0a136b68a11fceec6fc161d801e5133d4d9de63fb99860c7eb63fbb34ab12136667e9126adeb97c4703b498847e8b086c38de83cee2e3f7a2da4b0312092c75a5f0e193ce5b4f4a7ebb9c36056abc2e239ad969e2ab5e4fea3d833408c9164c98fc3bbfb37874ce9512aed58eff57410d7887521cb4a60f0a4d62599b07f545f0885d21c55ae1bcbdd6ca878b00d80237cf6ba1481e7b527ef0a891877d080165bb6b5f1bd6b649ca21ed61e999023df2ca182fe42eaba6df2aeee26985ea4dd4bb3ac8e3168ced729eb63f851dacffcecd1e2e91f4de664fcbf836a7642f5e586012c8e87e467effa3cee214e6480e01086c433809ee1a9026a2392bc8b96dca708c794010f7c21fa632c02eba73f71be16d887056d08394aa37ebc5b20ebe58f71954d30c3408b297e652ba36edf1b7090cec55c02c4d737fd2af48f6239b9ecde59170b6688e60c4574e5c071cd79cdf9c98c59f3e06e2add90b044ab7790da7ea2f4853179e25515023076cb0ca7b72ada6a2bb95bfb6587f12a0864b0c7f3c541f0ebef47e73010c50cf044fbfa9a628def0ef7dad81a62919b1cdc63a534e5998cbfc52ef6c08536a403bc18b1995adf7c18e93ae7b58203d0f26776c1a85d2b27d68106b6e3aa55f6580529cbcaf35bf22863e3c009f2c5aa7822f67398c6f7b41800cc2c03e11b2a42397a06d89bde5f0508cc3fcff16dd5e4ef48ba0192e7d2d440b7fa4b4d0bf975ec6fc4259aa69c79e8b8d68c66a2d08eb8c1ae6f251ec47024500a4c212fd34ce2731a79efd2c65bc3486723debbd6241b9c3eb9e7b0c1b6cf83fdbede0a7242c2010df743037a1b35ef5de52a5552b2555cd78d39626aab28e050308bb6929658e8c52ec0bd5c8de6f9654550c94de29701722649518855c37ecb37af103812b8eb7354db022f1e2a69748be141e59fb89f5b09b39f73a4039fc591ddc2e746debe9d53cb83c342a4c4d2cef3c5c3366786a7755556160364d28b12a2dbf2c666784e4a1d7ff6713672ab8d08430576ac6531509c0fb0a0432ec12db26b76b8f846736a53db789bce27bc378cfa93fbc34fd6bd8e8c9bca6aa56f5ea610076608cf745b83902abc8fadaaa83973a45819c9ba78d129d70447c0e2c1f05ef4ab5eb4ad80510f3e1156894dc9d08ca61542c8f91ba67d5aaac3b242a312000a3ba5fbacc57d1b305f98798668e170c7fdd99fa815bfd705899856e9c1122d41f9f2c61aee65c167d7b3622af3af4811b2813e7836c30dee1fcd7122e3aa7b6cbbc2b37203f40eae8b1a9bb5c961a49f9b4c71d752aef30d95a61176baffc601576c326c55d23ff8678471c9a3228e0793be6f981bf5c009f5bc8619e7d0243c8e420f3dd24fbf81d05f5f381303cde357762e6b148b0d6ae6b81da2bb5215344a71a7ff93de8c1ea87b1c4823be4d87521c9e7a5904e09b3ecac4e8426e31fe4f1375e9319d0aa48504525af16177036eddc978d287ab66abc2459055fe2fcbaa81e594add3c3523ae808c9d5879bd716a2d24d747706283ede838c2ee4facedf9049a095f90583627603823411e8e4fa835ffc3fad4ff0701792c4d374dbe6b36c9ec442bb5b50ed426ee35063e2bcfabaa135400c2a318c28beaf4c238295f4269bb867098a69b2683595019e81a08757006d5ab3b6c57e0e175994d3d3e6629c59691a55280f438504f7a00f517856b344bfa6b73dea2147d4a2555ab424607c839d59d9524defef21cb6ab11d07d490b5358723d814454f2a96e7233ce09c42e9834717bb2c94502da984fc37b4ede9ccb0b2325230214840ad26e6a6946611baf145ddc8223f029d92dc08316765d5bbea3e87b30e08579064", 0x1000}, {&(0x7f0000005340)="3d69e72b1495517e1c9d1d6ed2999804a5780fb33531bd84649669a9357b40fd53d05c153ca050f0a1f6669bba192978f5922f67062e2195d0ed08e5612845184eecc9f8bb80cfd70c7f1ec23bfd471834007d27", 0x54}, {&(0x7f00000053c0)="936098ae2430d3af588e1aae6821874f4b3c881575877fd8c998d7bc1fb65ee463342c64abd9a801a8bd468304c6eb75e4155df794803b059ad1c002446e29f25ab1a79a6fc509ce514a6a1dce3225671e159e8471c8519e6b66a59ef4ba6167c8721b61110476e61dd9c988", 0x6c}], 0x8, &(0x7f00000054c0)=[{0x108, 0x0, 0x5, "8bc3d82c0e1a3c313a2451d3a6c7e7a94afe8e201f562283f22bb9b59312e4cfb5ee3953d5a9d6e705e6bedfc51c85620044c0aa75138d3afe09846e6890a368caafabb39852409fa3bb64d5bbc02924aecd4e171f0f4614bddb2ddfb2b2ccf4c9c850706ed76e4081eb2e6cba4edd284b27c808071898a339c61ad43f62d7c39f48872bb641cb422b3682cfc4ae17392d12c2b5e512d5ea5abece48a077f9b76e866f30edfcdc998d788a1b0ba2a46c79a6a929215db5b06468c6aa2fe6dfea90e5a241a57f44733b65542defbb67f416ec4e3e5fc7872a854348f4167dbf29ec8a4b050c520e3f4f99ab3d5d33bdebd333608c41575bc3"}, {0x10, 0x11, 0x382f}], 0x118}}], 0x4, 0x4045) [ 834.773413][T18668] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.1'. 00:13:55 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x88}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f00000002c0)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) sched_setparam(0x0, &(0x7f0000000300)=0x3ff) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setaffinity(r0, 0x8, &(0x7f00000003c0)=0xaa) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup.net/syz1\x00', 0x1ff) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040), 0x200002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f00000006c0)={&(0x7f0000000740)=ANY=[], 0xf4}, 0x1, 0x0, 0x0, 0x240040c0}, 0x0) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000280)=ANY=[@ANYBLOB="dd00000037020001020000cbbd0000000000000000000100", @ANYRES32=0x0, @ANYBLOB="010000"], 0x1f) r3 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r3, &(0x7f0000000240)={0x2, 0x4e20, @multicast2}, 0x10) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, &(0x7f0000001f80), 0x1600000, &(0x7f00000000c0)=ANY=[], 0x0) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x88}, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) (async) getpid() (async) sched_setaffinity(0x0, 0x8, &(0x7f00000002c0)=0x2) (async) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)) (async) connect$unix(r1, &(0x7f0000000180)=@file={0x0, './file0\x00'}, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) sched_setparam(0x0, &(0x7f0000000300)=0x3ff) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) sched_setaffinity(r0, 0x8, &(0x7f00000003c0)=0xaa) (async) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040)='./cgroup.net/syz1\x00', 0x1ff) (async) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000040), 0x200002, 0x0) (async) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40}, 0xc, &(0x7f00000006c0)={&(0x7f0000000740)=ANY=[], 0xf4}, 0x1, 0x0, 0x0, 0x240040c0}, 0x0) (async) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000280)=ANY=[@ANYBLOB="dd00000037020001020000cbbd0000000000000000000100", @ANYRES32=0x0, @ANYBLOB="010000"], 0x1f) (async) socket$inet_tcp(0x2, 0x1, 0x0) (async) bind$inet(r3, &(0x7f0000000240)={0x2, 0x4e20, @multicast2}, 0x10) (async) sendto$inet(r3, &(0x7f0000000140), 0xffffffffffffff58, 0x20008008, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) (async) recvfrom(r3, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) (async) syz_mount_image$ext4(0x0, 0x0, 0x40000, 0x0, &(0x7f0000001f80), 0x1600000, &(0x7f00000000c0)=ANY=[], 0x0) (async) 00:13:55 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="39000000130b034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:55 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f628260864c4dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:55 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x4004af61, &(0x7f0000000040)) 00:13:55 executing program 1: r0 = openat$rfkill(0xffffffffffffff9c, &(0x7f0000000400), 0x40082, 0x0) write$rfkill(r0, &(0x7f0000000000)={0x0, 0x0, 0x3, 0x1}, 0x8) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r1, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) sendmsg$NFT_BATCH(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a20000000050a01020000000000000000000000000500010073797a3000000000200000000e0a00000000000000000000000000000900010073797a3000000000140000001100010000000000000000000000000a6ea5717eb7dc4330b5943d71788dafd9371ce257dff8b4cf8ba3033e8c9d1837c82fbbea2bb3f0a61a8494f4a04c290758d76ae06452690ef18447956a921b57be5c126a75f8bbc6a095a213e8e4bed735cb5b9bee7783b4e5912276f8cc8b8777ddb4b7b01078547e91f5e93747f9d8d268919db8c887a5ac9dc8789f55a74cf1192e239781144d648bfcc0f26b659a5890e3dfe89f7ed383e6aacfef1499e4afc1b0cd2fe919189db0b3483ae09a84fe5b09ca"], 0x68}}, 0x0) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r2, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) sendmsg$NFT_BATCH(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000240)=ANY=[@ANYBLOB="1400000010000100000000010081f4000000000a20000000050a010b5549c33602020000000000000000000000000523010073797a3000000000200000000e0a00000000000000000000000000000900010073797a3000000000140000001100010000000000000000000000000a"], 0x68}}, 0x0) ppoll(&(0x7f0000000080)=[{r1, 0x4260}, {r0, 0x1060}, {r0, 0x20}, {r2, 0x742e}, {r0}], 0x5, &(0x7f00000000c0)={0x0, 0x989680}, &(0x7f0000000100)={[0xffffffffffff8001]}, 0x8) write$rfkill(r0, &(0x7f0000000040)={0x201}, 0x8) 00:13:55 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x27e, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) 00:13:55 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f62826086584dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:55 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="39000000130c034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:55 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f628260865c4dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:55 executing program 2: syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000040)='./file0\x00', 0x920, 0x2, &(0x7f0000000100)=[{&(0x7f0000002100)="eb3c906d8d6673fdd2617400024101160240000004f901", 0x17, 0xe}, {&(0x7f0000000480)="57595a4b414c4c45ffffffff000000000df2b29bea1b8a0ac9135eed1df1d1001cc2de850f1ffffb3c18fafff8d198e312475ff201000000000000ad25822a17b57f463e104179c19c2ad2fbddc400000000000000094200000000ec4f62826086634dc19aef07346db0fec52499cfc9d4917f35024975165e914dcf4951cbaae18f4bc9dd03f9cc67b667a17e3d68f7e1b98da83440a82488412fa07393254d99d8cb56d8bc4913ee9ae5129a52c0e29b1629f9f6bfeb1ac939e3e99c8735ecf717efd1f6b57c6f442a977c54e819c9e91e969d4da317881a649c34a272857c290cb065b8c50044b67439ca0f3da3fb13311a796d9bda830529153e5b423af2226bf412ef578cef86144262d95474135824554f16d27c23f58fedd5ab937dde43bb0484c12ce874e96cce91c3cd25d645415e596f78fdae025f1aca61f3d7891738ce3289e708522446aa446518276b8f3ae2e5d9d90d3235ebf2254c148116dc23dce168846f7ca645bc1066d1b06bbda23b4c7e70bdf67023f700c0d627879f6d67acfba01b9bf0bfbd4c26a81b674d62ac45ecd5625aae997eea35ef0f94df6028e9232fbd6b9157d766d0182752982c16d2bf1a315d7f001130ca0000000000000000000000000000000000000000000000000000006f745600e46aa6b68db850c550458a1908851224520034bac8353d4916c16a040ec4f60d7b515bba1192ffdac85d6905fac5b5c09b5fe1b72599eda3ed647b2e1f989c509576de95b4da1b615acb731f0bec01a7a108e4a4f40a91d0e67b54c756536333751c762ef8a3ca9eee28fea5c8de02c97892341d6b9decda7ee61c1c8c4ba6fd3c25c86e45c0e66aec044a576c3fe1cf1408562cbbcf0691539775a76d817bbd8cb539d8eecd3ecc4edd62df0da72bd5ec7b3047619581169c682161660abb76058c4f8d56794f301e90e0bb30b6a4a9a7889b768be81de8b1b7a9ee13398a300e3cf7354e4c67c7976b0884463e2c0d72b584079f7d76d4ca1d0513847470f4baca4d9572d23b9f558e4bebc99dfb258bce0ade5a8f2039c854423ec3a548dd401662cf84f5594fea7c88a2e1ff2768ac5fb7a8254c10711785fd2d960e29e779c321cbfb0a6c", 0x323, 0x5fd}], 0x2008480, &(0x7f0000000200)={[{@utf8}, {@fat=@dos1xfloppy}, {@utf8no}, {@shortname_mixed}, {@numtail}, {@shortname_mixed}, {@shortname_winnt}]}, 0x0) 00:13:55 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="39000000130d034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:55 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="39000000130e034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) [ 836.762609][T18702] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.1'. 00:13:56 executing program 0: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000000)='./binderfs/binder1\x00', 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x4401c0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$sock_ipv6_tunnel_SIOCGETTUNNEL(r1, 0x89f0, &(0x7f0000000080)={'ip6tnl0\x00', &(0x7f0000000100)={'ip6gre0\x00', 0x0, 0x29, 0x2a, 0x1, 0xffff8001, 0x50, @private0={0xfc, 0x0, '\x00', 0x1}, @private0, 0x7, 0x7, 0x7fff, 0xe1}}) sendmsg$nl_route_sched(r1, &(0x7f0000000200)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x8000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000180)=@gettclass={0x24, 0x2a, 0x200, 0x70bd25, 0x25dfdbfc, {0x0, 0x0, 0x0, r2, {0x4, 0x7}, {0xfff2, 0x7}, {0x8, 0x4}}, ["", "", "", "", ""]}, 0x24}, 0x1, 0x0, 0x0, 0x88d0}, 0x20000894) ioctl$BINDER_WRITE_READ(r0, 0xc00c620f, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 00:13:56 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) writev(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)="390000001310034700bb65e1c3e4ffff01000000160000005600000025000000190004000400000007fd17e5ffff0800040000000000000000", 0x39}], 0x1) 00:13:56 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f00000002c0)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='GPL\x00', 0x3, 0xdc, &(0x7f00000000c0)=""/220, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r1 = socket(0x1, 0x3, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x2ec, &(0x7f0000000180)={&(0x7f0000000300)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe}, {0x4}}}, @IFLA_MASTER={0x8, 0x3, r2}]}, 0x40}}, 0x0) [ 836.796283][T18727] binder: 18723:18727 ioctl c00c620f 200000c0 returned -22 [ 836.830875][T18702] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.1'. 00:13:56 executing program 5: prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f00000015c0), 0x2, 0x0) ioctl$VHOST_SET_VRING_BASE(r0, 0xaf01, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1000004, 0x13, r1, 0x0) ioctl$VHOST_SET_VRING_CALL(r0, 0x40086602, &(0x7f0000000040)) [ 837.185570][T18681] list_del corruption. prev->next should be ffff0000c0c03ac8, but was ffff80000b634a94. (prev=ffff0000c91ff2c8) [ 837.188841][T18681] ------------[ cut here ]------------