ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x100fe0}, {&(0x7f0000077da0)="eb52904e5446532020202000080200000000000000f8000000000000000000000000000080008000ff030000000000000400000000000000ff00000000000000f500000001000000aa1cb4684d356101000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f0000077e80)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000077ea0), 0x1) 00:33:44 executing program 3: mknod$loop(&(0x7f0000000040)='./file0\x00', 0x100000000000600d, 0x1) r0 = creat(&(0x7f0000000100)='./file0\x00', 0x0) r1 = dup2(r0, r0) ioctl$BLKTRACESETUP(r1, 0xc0481273, &(0x7f0000000340)={'\x00', 0x0, 0x43, 0x10000}) r2 = creat(&(0x7f0000000200)='./file0\x00', 0x0) ioctl$BLKTRACETEARDOWN(r2, 0x1276, 0x0) 00:33:44 executing program 0: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='cgroup.controllers\x00', 0x275a, 0x0) close(r0) openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/cpuinfo\x00', 0x0, 0x0) r1 = socket$inet6_udp(0xa, 0x2, 0x0) mount$9p_fd(0x0, &(0x7f0000000340)='./file0\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000440)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) 00:33:44 executing program 2: setgroups(0x1, 0x0) 00:33:44 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWCHAIN={0x5c, 0x3, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syz2\x00'}, @NFTA_CHAIN_COUNTERS={0x1c, 0x8, 0x0, 0x1, [@NFTA_COUNTER_BYTES={0x4}, @NFTA_COUNTER_PACKETS={0xc, 0x2, 0x1, 0x0, 0x10001}]}, @NFTA_CHAIN_HOOK={0x14, 0x4, 0x0, 0x1, [@NFTA_HOOK_HOOKNUM={0x8}, @NFTA_HOOK_PRIORITY={0x8}]}]}, @NFT_MSG_DELTABLE={0x14, 0x2, 0xa, 0x9, 0x0, 0x0, {0x2}}], {0x14}}, 0xb8}, 0x1, 0x0, 0x0, 0x4000}, 0x0) 00:33:44 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000040)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x19}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x9, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 00:33:44 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000040)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x19}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x9, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 00:33:44 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWCHAIN={0x5c, 0x3, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syz2\x00'}, @NFTA_CHAIN_COUNTERS={0x1c, 0x8, 0x0, 0x1, [@NFTA_COUNTER_BYTES={0x4}, @NFTA_COUNTER_PACKETS={0xc, 0x2, 0x1, 0x0, 0x10001}]}, @NFTA_CHAIN_HOOK={0x14, 0x4, 0x0, 0x1, [@NFTA_HOOK_HOOKNUM={0x8}, @NFTA_HOOK_PRIORITY={0x8}]}]}, @NFT_MSG_DELTABLE={0x14, 0x2, 0xa, 0x9, 0x0, 0x0, {0x2}}], {0x14}}, 0xb8}, 0x1, 0x0, 0x0, 0x4000}, 0x0) [ 639.213908][T15311] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 639.274877][T15315] loop5: detected capacity change from 0 to 4096 [ 639.303203][T15318] netlink: 'syz-executor.4': attribute type 1 has an invalid length. [ 639.377369][T15315] ntfs: volume version 3.1. 00:33:44 executing program 0: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000180)='cgroup.controllers\x00', 0x275a, 0x0) close(r0) openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/cpuinfo\x00', 0x0, 0x0) r1 = socket$inet6_udp(0xa, 0x2, 0x0) mount$9p_fd(0x0, &(0x7f0000000340)='./file0\x00', &(0x7f00000003c0), 0x0, &(0x7f0000000440)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) 00:33:44 executing program 2: setgroups(0x1, 0x0) 00:33:44 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000040)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x19}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x9, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 00:33:44 executing program 4: creat(&(0x7f00000002c0)='./file0\x00', 0x0) mount(&(0x7f0000000080)=@sg0, &(0x7f00000000c0)='./file0\x00', 0x0, 0x63353909, 0x0) r0 = creat(&(0x7f0000000000)='./file0\x00', 0x0) write$sysctl(r0, &(0x7f0000000040)='6\x00', 0xfdef) 00:33:44 executing program 2: setgroups(0x1, 0x0) 00:33:44 executing program 3: mknod$loop(&(0x7f0000000040)='./file0\x00', 0x100000000000600d, 0x1) r0 = creat(&(0x7f0000000100)='./file0\x00', 0x0) r1 = dup2(r0, r0) ioctl$BLKTRACESETUP(r1, 0xc0481273, &(0x7f0000000340)={'\x00', 0x0, 0x43, 0x10000}) r2 = creat(&(0x7f0000000200)='./file0\x00', 0x0) ioctl$BLKTRACETEARDOWN(r2, 0x1276, 0x0) 00:33:44 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000040)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x85, 0x0, 0x0, 0x19}]}, &(0x7f0000000100)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x9, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 00:33:44 executing program 4: creat(&(0x7f00000002c0)='./file0\x00', 0x0) mount(&(0x7f0000000080)=@sg0, &(0x7f00000000c0)='./file0\x00', 0x0, 0x63353909, 0x0) r0 = creat(&(0x7f0000000000)='./file0\x00', 0x0) write$sysctl(r0, &(0x7f0000000040)='6\x00', 0xfdef) 00:33:44 executing program 0: bpf$OBJ_GET_PROG(0x7, &(0x7f00000000c0)={&(0x7f0000000000)='./file0\x00'}, 0x10) 00:33:44 executing program 2: setgroups(0x1, 0x0) 00:33:44 executing program 0: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) 00:33:44 executing program 4: creat(&(0x7f00000002c0)='./file0\x00', 0x0) mount(&(0x7f0000000080)=@sg0, &(0x7f00000000c0)='./file0\x00', 0x0, 0x63353909, 0x0) r0 = creat(&(0x7f0000000000)='./file0\x00', 0x0) write$sysctl(r0, &(0x7f0000000040)='6\x00', 0xfdef) 00:33:44 executing program 4: creat(&(0x7f00000002c0)='./file0\x00', 0x0) mount(&(0x7f0000000080)=@sg0, &(0x7f00000000c0)='./file0\x00', 0x0, 0x63353909, 0x0) r0 = creat(&(0x7f0000000000)='./file0\x00', 0x0) write$sysctl(r0, &(0x7f0000000040)='6\x00', 0xfdef) 00:33:45 executing program 3: mknod$loop(&(0x7f0000000040)='./file0\x00', 0x100000000000600d, 0x1) r0 = creat(&(0x7f0000000100)='./file0\x00', 0x0) r1 = dup2(r0, r0) ioctl$BLKTRACESETUP(r1, 0xc0481273, &(0x7f0000000340)={'\x00', 0x0, 0x43, 0x10000}) r2 = creat(&(0x7f0000000200)='./file0\x00', 0x0) ioctl$BLKTRACETEARDOWN(r2, 0x1276, 0x0) 00:33:45 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) write$binfmt_elf64(r0, &(0x7f0000000400)={{0x1b, 0x5b, 0x33, 0x7, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}}, 0x40) 00:33:45 executing program 1: mkdir(&(0x7f0000000180)='./bus\x00', 0x0) mount$overlay(0x0, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000480)={[{@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './file1'}}, {@xino_on}]}) 00:33:45 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000003c0), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc4c85513, &(0x7f0000000200)={{0x0, 0x0, 0x0, 0x0, 'syz0\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz1\x00', 0x0}) 00:33:45 executing program 4: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='pagemap\x00') lseek(r0, 0xfffffffffffffffe, 0x0) read$watch_queue(r0, 0x0, 0x0) 00:33:45 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000003c0), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc4c85513, &(0x7f0000000200)={{0x0, 0x0, 0x0, 0x0, 'syz0\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz1\x00', 0x0}) [ 639.931410][T15352] overlayfs: missing 'workdir' 00:33:45 executing program 1: mkdir(&(0x7f0000000180)='./bus\x00', 0x0) mount$overlay(0x0, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000480)={[{@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './file1'}}, {@xino_on}]}) 00:33:45 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) write$binfmt_elf64(r0, &(0x7f0000000400)={{0x1b, 0x5b, 0x33, 0x7, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}}, 0x40) 00:33:45 executing program 4: r0 = syz_io_uring_setup(0x73d7, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x8}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000280)=@IORING_OP_SYNC_FILE_RANGE={0x8, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000140)=@IORING_OP_SYNC_FILE_RANGE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000a40)=@IORING_OP_WRITE_FIXED, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000003c0)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f000004e000/0x2000)=nil, 0x2000}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000580)=@IORING_OP_CLOSE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000300000/0x3000)=nil, &(0x7f0000000100), &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000440)=@IORING_OP_LINK_TIMEOUT={0xf, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000240)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x184, &(0x7f0000000080), &(0x7f0000147000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000000), &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r5, &(0x7f0000000400)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x63f4, 0x0, 0x0, 0x0, 0x0) [ 639.999173][ T7464] usb 1-1: new high-speed USB device number 22 using dummy_hcd [ 640.056811][T15360] overlayfs: missing 'workdir' [ 640.267856][ T7464] usb 1-1: Using ep0 maxpacket: 8 [ 640.407727][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 640.418994][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 640.428984][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 640.440303][ T7464] usb 1-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 640.607849][ T7464] usb 1-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 640.616930][ T7464] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 640.629320][ T7464] usb 1-1: Product: syz [ 640.633547][ T7464] usb 1-1: Manufacturer: syz [ 640.640468][ T7464] usb 1-1: SerialNumber: syz [ 640.655706][ T7464] usb 1-1: config 0 descriptor?? [ 640.903719][ T7464] usb 1-1: USB disconnect, device number 22 00:33:46 executing program 0: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) 00:33:46 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000003c0), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc4c85513, &(0x7f0000000200)={{0x0, 0x0, 0x0, 0x0, 'syz0\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz1\x00', 0x0}) 00:33:46 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) write$binfmt_elf64(r0, &(0x7f0000000400)={{0x1b, 0x5b, 0x33, 0x7, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}}, 0x40) 00:33:46 executing program 1: mkdir(&(0x7f0000000180)='./bus\x00', 0x0) mount$overlay(0x0, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000480)={[{@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './file1'}}, {@xino_on}]}) 00:33:46 executing program 4: r0 = syz_io_uring_setup(0x73d7, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x8}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000280)=@IORING_OP_SYNC_FILE_RANGE={0x8, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000140)=@IORING_OP_SYNC_FILE_RANGE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000a40)=@IORING_OP_WRITE_FIXED, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000003c0)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f000004e000/0x2000)=nil, 0x2000}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000580)=@IORING_OP_CLOSE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000300000/0x3000)=nil, &(0x7f0000000100), &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000440)=@IORING_OP_LINK_TIMEOUT={0xf, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000240)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x184, &(0x7f0000000080), &(0x7f0000147000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000000), &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r5, &(0x7f0000000400)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x63f4, 0x0, 0x0, 0x0, 0x0) 00:33:46 executing program 3: syz_emit_ethernet(0x26, &(0x7f0000000000)={@multicast, @random="8e49c5a99959", @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x89, 0x0, @private, @broadcast}, "46e8ce64"}}}}, 0x0) 00:33:46 executing program 5: r0 = syz_open_dev$sndctrl(&(0x7f00000003c0), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r0, 0xc4c85513, &(0x7f0000000200)={{0x0, 0x0, 0x0, 0x0, 'syz0\x00'}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'syz1\x00', 0x0}) [ 641.642103][T15372] overlayfs: missing 'workdir' 00:33:46 executing program 3: syz_emit_ethernet(0x26, &(0x7f0000000000)={@multicast, @random="8e49c5a99959", @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x89, 0x0, @private, @broadcast}, "46e8ce64"}}}}, 0x0) 00:33:46 executing program 1: mkdir(&(0x7f0000000180)='./bus\x00', 0x0) mount$overlay(0x0, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000000480)={[{@lowerdir={'lowerdir', 0x3d, './file0'}}, {@upperdir={'upperdir', 0x3d, './file1'}}, {@xino_on}]}) 00:33:46 executing program 2: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) write$binfmt_elf64(r0, &(0x7f0000000400)={{0x1b, 0x5b, 0x33, 0x7, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40}}, 0x40) 00:33:46 executing program 4: r0 = syz_io_uring_setup(0x73d7, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x8}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000280)=@IORING_OP_SYNC_FILE_RANGE={0x8, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000140)=@IORING_OP_SYNC_FILE_RANGE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000a40)=@IORING_OP_WRITE_FIXED, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000003c0)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f000004e000/0x2000)=nil, 0x2000}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000580)=@IORING_OP_CLOSE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000300000/0x3000)=nil, &(0x7f0000000100), &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000440)=@IORING_OP_LINK_TIMEOUT={0xf, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000240)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x184, &(0x7f0000000080), &(0x7f0000147000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000000), &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r5, &(0x7f0000000400)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x63f4, 0x0, 0x0, 0x0, 0x0) 00:33:46 executing program 2: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) [ 641.759364][T15386] overlayfs: missing 'workdir' [ 641.957858][ T7464] usb 1-1: new high-speed USB device number 23 using dummy_hcd [ 642.137651][ T3693] usb 3-1: new high-speed USB device number 11 using dummy_hcd [ 642.227651][ T7464] usb 1-1: Using ep0 maxpacket: 8 [ 642.388120][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 642.399072][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 642.409118][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 642.420806][ T3693] usb 3-1: Using ep0 maxpacket: 8 [ 642.427308][ T7464] usb 1-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 642.567787][ T3693] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 642.578943][ T3693] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 642.589038][ T3693] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 642.600517][ T3693] usb 3-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 642.627818][ T7464] usb 1-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 642.637074][ T7464] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 642.645497][ T7464] usb 1-1: Product: syz [ 642.650066][ T7464] usb 1-1: Manufacturer: syz [ 642.654732][ T7464] usb 1-1: SerialNumber: syz [ 642.662000][ T7464] usb 1-1: config 0 descriptor?? [ 642.788803][ T3693] usb 3-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 642.804776][ T3693] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 642.815565][ T3693] usb 3-1: Product: syz [ 642.820730][ T3693] usb 3-1: Manufacturer: syz [ 642.825874][ T3693] usb 3-1: SerialNumber: syz [ 642.833724][ T3693] usb 3-1: config 0 descriptor?? [ 642.951097][ T3693] usb 1-1: USB disconnect, device number 23 [ 643.105234][ T7464] usb 3-1: USB disconnect, device number 11 00:33:48 executing program 0: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) 00:33:48 executing program 1: prctl$PR_GET_ENDIAN(0x13, 0x0) mlockall(0x1) 00:33:48 executing program 5: r0 = syz_open_dev$video4linux(&(0x7f0000000140), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(r0, 0xc040564a, &(0x7f0000000080)={0x0, 0x0, 0x100f}) 00:33:48 executing program 3: syz_emit_ethernet(0x26, &(0x7f0000000000)={@multicast, @random="8e49c5a99959", @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x89, 0x0, @private, @broadcast}, "46e8ce64"}}}}, 0x0) 00:33:48 executing program 4: r0 = syz_io_uring_setup(0x73d7, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x8}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000280)=@IORING_OP_SYNC_FILE_RANGE={0x8, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000140)=@IORING_OP_SYNC_FILE_RANGE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000a40)=@IORING_OP_WRITE_FIXED, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000003c0)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000180)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f000004e000/0x2000)=nil, 0x2000}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000580)=@IORING_OP_CLOSE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000200)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x3edc, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000300000/0x3000)=nil, &(0x7f0000000100), &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000440)=@IORING_OP_LINK_TIMEOUT={0xf, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000240)=@IORING_OP_OPENAT={0x12, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) syz_io_uring_setup(0x184, &(0x7f0000000080), &(0x7f0000147000/0x2000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000000), &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r5, &(0x7f0000000400)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x63f4, 0x0, 0x0, 0x0, 0x0) 00:33:48 executing program 3: syz_emit_ethernet(0x26, &(0x7f0000000000)={@multicast, @random="8e49c5a99959", @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x89, 0x0, @private, @broadcast}, "46e8ce64"}}}}, 0x0) 00:33:48 executing program 5: r0 = syz_open_dev$video4linux(&(0x7f0000000140), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(r0, 0xc040564a, &(0x7f0000000080)={0x0, 0x0, 0x100f}) 00:33:48 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000b80)={&(0x7f00000001c0)=@newtaction={0xe4, 0x30, 0x1, 0x0, 0x0, {}, [{0xd0, 0x1, [@m_nat={0xcc, 0x1, 0x0, 0x0, {{0x8}, {0xa4, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x8001, 0x0, 0x2}, @loopback, @multicast1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x3, 0xd08c, 0x10000000, 0x74, 0x48}, @broadcast, @rand_addr=0x64010101, 0x1fffffe00, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x4, 0x93fc, 0x7, 0xfffffffb, 0x6}, @dev={0xac, 0x14, 0x14, 0x13}, @loopback, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x1ff, 0x0, 0xb, 0x81, 0x200}, @loopback, @private=0xa010100}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe4}}, 0x20040044) 00:33:48 executing program 5: r0 = syz_open_dev$video4linux(&(0x7f0000000140), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(r0, 0xc040564a, &(0x7f0000000080)={0x0, 0x0, 0x100f}) 00:33:48 executing program 2: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) 00:33:48 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, 0x0, 0x0) sendmmsg$unix(r0, 0x0, 0x0, 0x0) sendmsg$TIPC_NL_NET_GET(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, 0x0}, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x5, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000008000000000000001000000940000000fad413e850000000f00000095"], &(0x7f0000000180)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000040)='sched_switch\x00', r1}, 0x10) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$packet(0xffffffffffffffff, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x14) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r2, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r2, &(0x7f0000007fc0), 0x800001d, 0x0) 00:33:48 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000b80)={&(0x7f00000001c0)=@newtaction={0xe4, 0x30, 0x1, 0x0, 0x0, {}, [{0xd0, 0x1, [@m_nat={0xcc, 0x1, 0x0, 0x0, {{0x8}, {0xa4, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x8001, 0x0, 0x2}, @loopback, @multicast1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x3, 0xd08c, 0x10000000, 0x74, 0x48}, @broadcast, @rand_addr=0x64010101, 0x1fffffe00, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x4, 0x93fc, 0x7, 0xfffffffb, 0x6}, @dev={0xac, 0x14, 0x14, 0x13}, @loopback, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x1ff, 0x0, 0xb, 0x81, 0x200}, @loopback, @private=0xa010100}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe4}}, 0x20040044) [ 644.037912][T13473] usb 1-1: new high-speed USB device number 24 using dummy_hcd [ 644.167747][T13472] usb 3-1: new high-speed USB device number 12 using dummy_hcd [ 644.287860][T13473] usb 1-1: Using ep0 maxpacket: 8 [ 644.408119][T13473] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 644.423938][T13472] usb 3-1: Using ep0 maxpacket: 8 [ 644.431127][T13473] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 644.449531][T13473] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 644.463921][T13473] usb 1-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 644.558160][T13472] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 644.569970][T13472] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 644.580313][T13472] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 644.600304][T13472] usb 3-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 644.647924][T13473] usb 1-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 644.663643][T13473] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 644.672652][T13473] usb 1-1: Product: syz [ 644.676827][T13473] usb 1-1: Manufacturer: syz [ 644.682736][T13473] usb 1-1: SerialNumber: syz [ 644.701891][T13473] usb 1-1: config 0 descriptor?? [ 644.767782][T13472] usb 3-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 644.776950][T13472] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 644.795365][T13472] usb 3-1: Product: syz [ 644.821980][T13472] usb 3-1: Manufacturer: syz [ 644.826614][T13472] usb 3-1: SerialNumber: syz [ 644.848650][T13472] usb 3-1: config 0 descriptor?? [ 644.967137][ T7464] usb 1-1: USB disconnect, device number 24 [ 645.105285][ T3693] usb 3-1: USB disconnect, device number 12 00:33:50 executing program 0: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) 00:33:50 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000b80)={&(0x7f00000001c0)=@newtaction={0xe4, 0x30, 0x1, 0x0, 0x0, {}, [{0xd0, 0x1, [@m_nat={0xcc, 0x1, 0x0, 0x0, {{0x8}, {0xa4, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x8001, 0x0, 0x2}, @loopback, @multicast1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x3, 0xd08c, 0x10000000, 0x74, 0x48}, @broadcast, @rand_addr=0x64010101, 0x1fffffe00, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x4, 0x93fc, 0x7, 0xfffffffb, 0x6}, @dev={0xac, 0x14, 0x14, 0x13}, @loopback, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x1ff, 0x0, 0xb, 0x81, 0x200}, @loopback, @private=0xa010100}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe4}}, 0x20040044) 00:33:50 executing program 5: r0 = syz_open_dev$video4linux(&(0x7f0000000140), 0x0, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(r0, 0xc040564a, &(0x7f0000000080)={0x0, 0x0, 0x100f}) 00:33:50 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, 0x0, 0x0) sendmmsg$unix(r0, 0x0, 0x0, 0x0) sendmsg$TIPC_NL_NET_GET(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, 0x0}, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x5, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000008000000000000001000000940000000fad413e850000000f00000095"], &(0x7f0000000180)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000040)='sched_switch\x00', r1}, 0x10) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$packet(0xffffffffffffffff, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x14) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r2, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r2, &(0x7f0000007fc0), 0x800001d, 0x0) 00:33:50 executing program 1: syz_emit_ethernet(0x2e, &(0x7f0000000200)={@local, @local, @void, {@ipv4={0x800, @igmp={{0x6, 0x4, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x2, 0x0, @private=0xa010100, @local, {[@ra={0x94, 0x4, 0x1}]}}, {0x12, 0x0, 0x0, @loopback}}}}}, 0x0) 00:33:50 executing program 1: syz_emit_ethernet(0x2e, &(0x7f0000000200)={@local, @local, @void, {@ipv4={0x800, @igmp={{0x6, 0x4, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x2, 0x0, @private=0xa010100, @local, {[@ra={0x94, 0x4, 0x1}]}}, {0x12, 0x0, 0x0, @loopback}}}}}, 0x0) 00:33:50 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000b80)={&(0x7f00000001c0)=@newtaction={0xe4, 0x30, 0x1, 0x0, 0x0, {}, [{0xd0, 0x1, [@m_nat={0xcc, 0x1, 0x0, 0x0, {{0x8}, {0xa4, 0x2, 0x0, 0x1, [@TCA_NAT_PARMS={0x28, 0x1, {{0x8001, 0x0, 0x2}, @loopback, @multicast1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x3, 0xd08c, 0x10000000, 0x74, 0x48}, @broadcast, @rand_addr=0x64010101, 0x1fffffe00, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x4, 0x93fc, 0x7, 0xfffffffb, 0x6}, @dev={0xac, 0x14, 0x14, 0x13}, @loopback, 0xffffffff, 0x1}}, @TCA_NAT_PARMS={0x28, 0x1, {{0x1ff, 0x0, 0xb, 0x81, 0x200}, @loopback, @private=0xa010100}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0xe4}}, 0x20040044) 00:33:50 executing program 5: r0 = socket(0x10, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x28a) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000300)={0x0, 0x19, &(0x7f0000000240)={&(0x7f00000000c0)=@migrate={0x154, 0x21, 0x1, 0x0, 0x0, {{@in=@multicast1, @in=@multicast1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, 0x0, 0x3}, [@encap={0x1c, 0x4, {0x0, 0x0, 0x0, @in=@multicast2}}, @migrate={0xe8}]}, 0x154}}, 0x0) 00:33:50 executing program 1: syz_emit_ethernet(0x2e, &(0x7f0000000200)={@local, @local, @void, {@ipv4={0x800, @igmp={{0x6, 0x4, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x2, 0x0, @private=0xa010100, @local, {[@ra={0x94, 0x4, 0x1}]}}, {0x12, 0x0, 0x0, @loopback}}}}}, 0x0) 00:33:50 executing program 2: r0 = syz_usb_connect(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="1201000054db2a0899041f1086700102030109022d0001000000000904000002285f5b000924020200000000000905030300000000000905840200f2"], 0x0) openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) syz_usb_disconnect(r0) 00:33:50 executing program 4: r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x41, 0x0) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x20000000d67) dup3(r0, r1, 0x0) timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) timer_settime(0x0, 0x0, &(0x7f00000001c0)={{0x0, 0x989680}, {0x0, 0x989680}}, 0x0) timer_create(0x0, &(0x7f0000000100)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000300)=0x0) timer_settime(r2, 0x0, &(0x7f0000000140)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) ioctl$TIOCSETD(r1, 0x5423, 0x0) 00:33:51 executing program 5: r0 = socket(0x10, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x28a) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000300)={0x0, 0x19, &(0x7f0000000240)={&(0x7f00000000c0)=@migrate={0x154, 0x21, 0x1, 0x0, 0x0, {{@in=@multicast1, @in=@multicast1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, 0x0, 0x3}, [@encap={0x1c, 0x4, {0x0, 0x0, 0x0, @in=@multicast2}}, @migrate={0xe8}]}, 0x154}}, 0x0) [ 646.017731][ T7464] usb 1-1: new high-speed USB device number 25 using dummy_hcd [ 646.167990][T10243] usb 3-1: new high-speed USB device number 13 using dummy_hcd [ 646.297832][ T7464] usb 1-1: Using ep0 maxpacket: 8 [ 646.427671][T10243] usb 3-1: Using ep0 maxpacket: 8 [ 646.437799][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 646.448818][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 646.458642][ T7464] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 646.470140][ T7464] usb 1-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 646.577797][T10243] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has an invalid bInterval 0, changing to 7 [ 646.593446][T10243] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 646.603195][T10243] usb 3-1: config 0 interface 0 altsetting 0 endpoint 0x84 has invalid maxpacket 61952, setting to 1024 [ 646.614874][T10243] usb 3-1: config 0 interface 0 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 1024 [ 646.677893][ T7464] usb 1-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 646.686967][ T7464] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 646.695324][ T7464] usb 1-1: Product: syz [ 646.699859][ T7464] usb 1-1: Manufacturer: syz [ 646.704466][ T7464] usb 1-1: SerialNumber: syz [ 646.713909][ T7464] usb 1-1: config 0 descriptor?? [ 646.799248][T10243] usb 3-1: New USB device found, idVendor=0499, idProduct=101f, bcdDevice=70.86 [ 646.810082][T10243] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 646.818517][T10243] usb 3-1: Product: syz [ 646.834059][T10243] usb 3-1: Manufacturer: syz [ 646.839977][T10243] usb 3-1: SerialNumber: syz [ 646.863151][T10243] usb 3-1: config 0 descriptor?? [ 647.002153][T13473] usb 1-1: USB disconnect, device number 25 [ 647.127816][T13472] usb 3-1: USB disconnect, device number 13 00:33:52 executing program 4: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, 0x1) newfstatat(0xffffffffffffff9c, &(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) lchown(&(0x7f00000006c0)='./file0\x00', r0, 0x0) getgroups(0x2, &(0x7f0000000240)=[0x0, 0x0]) lsetxattr$system_posix_acl(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='system.posix_acl_access\x00', &(0x7f0000000440)={{}, {}, [], {}, [{0x8, 0x6, r1}], {0x10, 0x3}}, 0x2c, 0x0) setxattr$incfs_metadata(&(0x7f00000008c0)='./file0\x00', &(0x7f0000000900), 0x0, 0x0, 0x0) 00:33:52 executing program 1: syz_emit_ethernet(0x2e, &(0x7f0000000200)={@local, @local, @void, {@ipv4={0x800, @igmp={{0x6, 0x4, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x2, 0x0, @private=0xa010100, @local, {[@ra={0x94, 0x4, 0x1}]}}, {0x12, 0x0, 0x0, @loopback}}}}}, 0x0) 00:33:52 executing program 5: r0 = socket(0x10, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x28a) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000300)={0x0, 0x19, &(0x7f0000000240)={&(0x7f00000000c0)=@migrate={0x154, 0x21, 0x1, 0x0, 0x0, {{@in=@multicast1, @in=@multicast1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, 0x0, 0x3}, [@encap={0x1c, 0x4, {0x0, 0x0, 0x0, @in=@multicast2}}, @migrate={0xe8}]}, 0x154}}, 0x0) 00:33:52 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, 0x0, 0x0) sendmmsg$unix(r0, 0x0, 0x0, 0x0) sendmsg$TIPC_NL_NET_GET(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, 0x0}, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x5, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000008000000000000001000000940000000fad413e850000000f00000095"], &(0x7f0000000180)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000040)='sched_switch\x00', r1}, 0x10) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$packet(0xffffffffffffffff, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x14) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r2, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r2, &(0x7f0000007fc0), 0x800001d, 0x0) 00:33:52 executing program 5: r0 = socket(0x10, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000140)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x28a) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000300)={0x0, 0x19, &(0x7f0000000240)={&(0x7f00000000c0)=@migrate={0x154, 0x21, 0x1, 0x0, 0x0, {{@in=@multicast1, @in=@multicast1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, 0x0, 0x3}, [@encap={0x1c, 0x4, {0x0, 0x0, 0x0, @in=@multicast2}}, @migrate={0xe8}]}, 0x154}}, 0x0) 00:33:52 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_SET(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x30, 0x3, 0x8, 0x5, 0x0, 0x0, {}, [@CTA_TIMEOUT_L3PROTO={0x6}, @CTA_TIMEOUT_DATA={0xc, 0x4, 0x0, 0x1, @udp=[@CTA_TIMEOUT_UDP_UNREPLIED={0x8, 0x7}]}, @CTA_TIMEOUT_L4PROTO={0x5, 0x3, 0x21}]}, 0x30}}, 0x0) 00:33:52 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:52 executing program 4: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, 0x1) newfstatat(0xffffffffffffff9c, &(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) lchown(&(0x7f00000006c0)='./file0\x00', r0, 0x0) getgroups(0x2, &(0x7f0000000240)=[0x0, 0x0]) lsetxattr$system_posix_acl(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='system.posix_acl_access\x00', &(0x7f0000000440)={{}, {}, [], {}, [{0x8, 0x6, r1}], {0x10, 0x3}}, 0x2c, 0x0) setxattr$incfs_metadata(&(0x7f00000008c0)='./file0\x00', &(0x7f0000000900), 0x0, 0x0, 0x0) 00:33:52 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:33:53 executing program 5: unshare(0x8000400) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$BTRFS_IOC_DEFAULT_SUBVOL(r0, 0x4610, 0x0) 00:33:53 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_SET(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x30, 0x3, 0x8, 0x5, 0x0, 0x0, {}, [@CTA_TIMEOUT_L3PROTO={0x6}, @CTA_TIMEOUT_DATA={0xc, 0x4, 0x0, 0x1, @udp=[@CTA_TIMEOUT_UDP_UNREPLIED={0x8, 0x7}]}, @CTA_TIMEOUT_L4PROTO={0x5, 0x3, 0x21}]}, 0x30}}, 0x0) [ 648.032352][ T27] audit: type=1800 audit(1665102833.139:426): pid=15463 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1181 res=0 errno=0 00:33:53 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:33:53 executing program 5: unshare(0x8000400) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$BTRFS_IOC_DEFAULT_SUBVOL(r0, 0x4610, 0x0) 00:33:53 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_SET(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x30, 0x3, 0x8, 0x5, 0x0, 0x0, {}, [@CTA_TIMEOUT_L3PROTO={0x6}, @CTA_TIMEOUT_DATA={0xc, 0x4, 0x0, 0x1, @udp=[@CTA_TIMEOUT_UDP_UNREPLIED={0x8, 0x7}]}, @CTA_TIMEOUT_L4PROTO={0x5, 0x3, 0x21}]}, 0x30}}, 0x0) 00:33:53 executing program 4: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, 0x1) newfstatat(0xffffffffffffff9c, &(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) lchown(&(0x7f00000006c0)='./file0\x00', r0, 0x0) getgroups(0x2, &(0x7f0000000240)=[0x0, 0x0]) lsetxattr$system_posix_acl(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='system.posix_acl_access\x00', &(0x7f0000000440)={{}, {}, [], {}, [{0x8, 0x6, r1}], {0x10, 0x3}}, 0x2c, 0x0) setxattr$incfs_metadata(&(0x7f00000008c0)='./file0\x00', &(0x7f0000000900), 0x0, 0x0, 0x0) [ 649.603076][ T27] audit: type=1804 audit(1665102833.149:427): pid=15463 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1733281740/syzkaller.KKAy4z/635/file0" dev="sda1" ino=1181 res=1 errno=0 [ 649.674251][ T27] audit: type=1800 audit(1665102834.009:428): pid=15471 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1162 res=0 errno=0 [ 649.738898][ T27] audit: type=1804 audit(1665102834.009:429): pid=15471 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1733281740/syzkaller.KKAy4z/636/file0" dev="sda1" ino=1162 res=1 errno=0 00:33:55 executing program 3: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, 0x0, 0x0) sendmmsg$unix(r0, 0x0, 0x0, 0x0) sendmsg$TIPC_NL_NET_GET(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, 0x0}, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x5, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000008000000000000001000000940000000fad413e850000000f00000095"], &(0x7f0000000180)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000040)='sched_switch\x00', r1}, 0x10) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$packet(0xffffffffffffffff, &(0x7f0000000000)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x14) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r2, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r2, &(0x7f0000007fc0), 0x800001d, 0x0) 00:33:55 executing program 4: mknodat$loop(0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0, 0x1) newfstatat(0xffffffffffffff9c, &(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) lchown(&(0x7f00000006c0)='./file0\x00', r0, 0x0) getgroups(0x2, &(0x7f0000000240)=[0x0, 0x0]) lsetxattr$system_posix_acl(&(0x7f0000000000)='./file0\x00', &(0x7f0000000040)='system.posix_acl_access\x00', &(0x7f0000000440)={{}, {}, [], {}, [{0x8, 0x6, r1}], {0x10, 0x3}}, 0x2c, 0x0) setxattr$incfs_metadata(&(0x7f00000008c0)='./file0\x00', &(0x7f0000000900), 0x0, 0x0, 0x0) 00:33:55 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:55 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:33:55 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_TIMEOUT_DEFAULT_SET(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x30, 0x3, 0x8, 0x5, 0x0, 0x0, {}, [@CTA_TIMEOUT_L3PROTO={0x6}, @CTA_TIMEOUT_DATA={0xc, 0x4, 0x0, 0x1, @udp=[@CTA_TIMEOUT_UDP_UNREPLIED={0x8, 0x7}]}, @CTA_TIMEOUT_L4PROTO={0x5, 0x3, 0x21}]}, 0x30}}, 0x0) 00:33:55 executing program 5: unshare(0x8000400) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$BTRFS_IOC_DEFAULT_SUBVOL(r0, 0x4610, 0x0) 00:33:55 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:55 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:55 executing program 5: unshare(0x8000400) r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) ioctl$BTRFS_IOC_DEFAULT_SUBVOL(r0, 0x4610, 0x0) 00:33:55 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) [ 650.739932][ T27] audit: type=1800 audit(1665102835.139:430): pid=15491 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1180 res=0 errno=0 [ 650.894021][ T27] audit: type=1804 audit(1665102835.149:431): pid=15491 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1733281740/syzkaller.KKAy4z/637/file0" dev="sda1" ino=1180 res=1 errno=0 00:33:56 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:56 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) [ 651.726552][ T27] audit: type=1800 audit(1665102836.109:432): pid=15504 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1185 res=0 errno=0 [ 651.749456][ T27] audit: type=1804 audit(1665102836.119:433): pid=15504 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1733281740/syzkaller.KKAy4z/638/file0" dev="sda1" ino=1185 res=1 errno=0 00:33:57 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:57 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:33:57 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:57 executing program 5: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:33:57 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:33:57 executing program 3: syz_emit_vhci(&(0x7f0000000000)=@HCI_EVENT_PKT={0x4, @hci_ev_keypress_notify={{0x3c, 0x7}, {@fixed={'\xaa\xaa\xaa\xaa\xaa', 0x10}}}}, 0xa) [ 653.236469][ T27] audit: type=1800 audit(1665102837.459:434): pid=15524 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1184 res=0 errno=0 00:33:58 executing program 5: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:33:58 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) [ 653.742123][ T27] audit: type=1804 audit(1665102837.559:435): pid=15524 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir874196806/syzkaller.H5NomN/669/file0" dev="sda1" ino=1184 res=1 errno=0 [ 653.766748][ T27] audit: type=1800 audit(1665102837.689:436): pid=15525 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1185 res=0 errno=0 [ 653.787684][ T27] audit: type=1804 audit(1665102837.879:437): pid=15525 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1733281740/syzkaller.KKAy4z/639/file0" dev="sda1" ino=1185 res=1 errno=0 00:33:59 executing program 4: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x40}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_getrule={0x1c, 0x22, 0xb05, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}}, 0x1c}}, 0x0) [ 653.935410][ T27] audit: type=1800 audit(1665102839.059:438): pid=15535 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1166 res=0 errno=0 00:34:00 executing program 3: syz_emit_vhci(&(0x7f0000000000)=@HCI_EVENT_PKT={0x4, @hci_ev_keypress_notify={{0x3c, 0x7}, {@fixed={'\xaa\xaa\xaa\xaa\xaa', 0x10}}}}, 0xa) 00:34:00 executing program 2: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:34:00 executing program 5: socket$bt_hidp(0x1f, 0x3, 0x6) prlimit64(0x0, 0xe, &(0x7f0000000000)={0xa, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000100)=0x6) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r3 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f00000005c0), 0xffffffffffffffff) ioctl$EXT4_IOC_GROUP_EXTEND(r3, 0x40086607, &(0x7f0000000280)) ioprio_get$pid(0x2, 0x0) 00:34:00 executing program 3: syz_emit_vhci(&(0x7f0000000000)=@HCI_EVENT_PKT={0x4, @hci_ev_keypress_notify={{0x3c, 0x7}, {@fixed={'\xaa\xaa\xaa\xaa\xaa', 0x10}}}}, 0xa) 00:34:01 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000100)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000100), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$DEVLINK_CMD_TRAP_GET(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000580)={0x14, r1, 0x703, 0x0, 0x0, {0x5}}, 0x14}}, 0x0) [ 656.839317][ T27] audit: type=1804 audit(1665102839.059:439): pid=15535 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir874196806/syzkaller.H5NomN/670/file0" dev="sda1" ino=1166 res=1 errno=0 [ 656.879909][ T27] audit: type=1800 audit(1665102840.609:440): pid=15538 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1173 res=0 errno=0 00:34:02 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_open_dev$sndmidi(0x0, 0x0, 0x141101) r0 = socket(0x40000000015, 0x5, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) io_uring_enter(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) connect$inet(r0, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x4e20, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f0000000100)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f00000033c0)=[{{0x0, 0x0, 0x0}}], 0x1f8, 0x122, 0x0) 00:34:02 executing program 2: r0 = openat$damon_attrs(0xffffffffffffff9c, &(0x7f0000000000), 0xa0002, 0x0) write$damon_attrs(r0, &(0x7f0000000080), 0x69) 00:34:02 executing program 4: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x40}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_getrule={0x1c, 0x22, 0xb05, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}}, 0x1c}}, 0x0) 00:34:02 executing program 3: syz_emit_vhci(&(0x7f0000000000)=@HCI_EVENT_PKT={0x4, @hci_ev_keypress_notify={{0x3c, 0x7}, {@fixed={'\xaa\xaa\xaa\xaa\xaa', 0x10}}}}, 0xa) 00:34:02 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000100)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000100), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$DEVLINK_CMD_TRAP_GET(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000580)={0x14, r1, 0x703, 0x0, 0x0, {0x5}}, 0x14}}, 0x0) 00:34:02 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000500)={&(0x7f00000000c0)=@newlink={0x54, 0x10, 0x439, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @ip6erspan={{0xe}, {0x20, 0x2, 0x0, 0x1, [@IFLA_GRE_IFLAGS={0x6}, @IFLA_GRE_REMOTE={0x14, 0x7, @private2}]}}}]}, 0x54}}, 0x0) 00:34:02 executing program 4: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x40}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_getrule={0x1c, 0x22, 0xb05, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}}, 0x1c}}, 0x0) 00:34:02 executing program 2: r0 = openat$damon_attrs(0xffffffffffffff9c, &(0x7f0000000000), 0xa0002, 0x0) write$damon_attrs(r0, &(0x7f0000000080), 0x69) 00:34:02 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000500)={&(0x7f00000000c0)=@newlink={0x54, 0x10, 0x439, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @ip6erspan={{0xe}, {0x20, 0x2, 0x0, 0x1, [@IFLA_GRE_IFLAGS={0x6}, @IFLA_GRE_REMOTE={0x14, 0x7, @private2}]}}}]}, 0x54}}, 0x0) [ 657.022645][ T27] audit: type=1800 audit(1665102840.949:441): pid=15550 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.2" name="file0" dev="sda1" ino=1159 res=0 errno=0 00:34:02 executing program 4: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x40}, 0x10) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_getrule={0x1c, 0x22, 0xb05, 0x0, 0x0, {0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}}, 0x1c}}, 0x0) 00:34:02 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000500)={&(0x7f00000000c0)=@newlink={0x54, 0x10, 0x439, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @ip6erspan={{0xe}, {0x20, 0x2, 0x0, 0x1, [@IFLA_GRE_IFLAGS={0x6}, @IFLA_GRE_REMOTE={0x14, 0x7, @private2}]}}}]}, 0x54}}, 0x0) 00:34:02 executing program 3: setsockopt$CAN_RAW_FD_FRAMES(0xffffffffffffffff, 0x65, 0x5, &(0x7f0000000000)=0x1, 0x4) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xc008ae09, 0x20000000) [ 657.177621][ T27] audit: type=1800 audit(1665102840.949:442): pid=15551 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=1160 res=0 errno=0 [ 657.295628][ T27] audit: type=1804 audit(1665102841.049:443): pid=15550 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir1733281740/syzkaller.KKAy4z/641/file0" dev="sda1" ino=1159 res=1 errno=0 00:34:03 executing program 4: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000000c0)=@updpolicy={0xb8, 0x14, 0x1, 0x0, 0x0, {{@in6=@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, @in6=@dev, 0x0, 0x0, 0x0, 0x0, 0x2}}}, 0xb8}}, 0x0) 00:34:03 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000100)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000100), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$DEVLINK_CMD_TRAP_GET(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000580)={0x14, r1, 0x703, 0x0, 0x0, {0x5}}, 0x14}}, 0x0) 00:34:03 executing program 2: r0 = openat$damon_attrs(0xffffffffffffff9c, &(0x7f0000000000), 0xa0002, 0x0) write$damon_attrs(r0, &(0x7f0000000080), 0x69) 00:34:03 executing program 3: setsockopt$CAN_RAW_FD_FRAMES(0xffffffffffffffff, 0x65, 0x5, &(0x7f0000000000)=0x1, 0x4) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xc008ae09, 0x20000000) 00:34:03 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000500)={&(0x7f00000000c0)=@newlink={0x54, 0x10, 0x439, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x34, 0x12, 0x0, 0x1, @ip6erspan={{0xe}, {0x20, 0x2, 0x0, 0x1, [@IFLA_GRE_IFLAGS={0x6}, @IFLA_GRE_REMOTE={0x14, 0x7, @private2}]}}}]}, 0x54}}, 0x0) 00:34:03 executing program 0: seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000080)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000240)={0x2, &(0x7f00000001c0)=[{0x5}, {0x6}]}) 00:34:03 executing program 2: r0 = openat$damon_attrs(0xffffffffffffff9c, &(0x7f0000000000), 0xa0002, 0x0) write$damon_attrs(r0, &(0x7f0000000080), 0x69) 00:34:03 executing program 5: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) [ 657.930081][T15592] netlink: 104 bytes leftover after parsing attributes in process `syz-executor.4'. 00:34:03 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000100)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f0000000100), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$DEVLINK_CMD_TRAP_GET(r2, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000580)={0x14, r1, 0x703, 0x0, 0x0, {0x5}}, 0x14}}, 0x0) 00:34:03 executing program 0: seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000080)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000240)={0x2, &(0x7f00000001c0)=[{0x5}, {0x6}]}) 00:34:03 executing program 4: openat$userio(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) 00:34:03 executing program 3: setsockopt$CAN_RAW_FD_FRAMES(0xffffffffffffffff, 0x65, 0x5, &(0x7f0000000000)=0x1, 0x4) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xc008ae09, 0x20000000) 00:34:03 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:03 executing program 5: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) 00:34:03 executing program 3: setsockopt$CAN_RAW_FD_FRAMES(0xffffffffffffffff, 0x65, 0x5, &(0x7f0000000000)=0x1, 0x4) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000240), 0x0, 0x0) ioctl$KVM_CREATE_VM(r0, 0xc008ae09, 0x20000000) 00:34:03 executing program 0: seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000080)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000240)={0x2, &(0x7f00000001c0)=[{0x5}, {0x6}]}) 00:34:03 executing program 4: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) 00:34:03 executing program 1: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_bt_hci(r0, 0x400448e0, 0x0) 00:34:03 executing program 5: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) 00:34:03 executing program 3: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000900)=@raw={'raw\x00', 0x3c1, 0x3, 0x370, 0x138, 0xc8, 0x8, 0x2a0, 0x5803, 0x2a0, 0x2e8, 0x2e8, 0x2a0, 0x2e8, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x138, 0x0, {0x0, 0x2000000000000}, [@common=@unspec=@limit={{0x48}, {0x0, 0xcd8}}, @common=@inet=@socket1={{0x28}}]}, @unspec=@NOTRACK={0x20, 'NOTRACK\x00', 0x44}}, {{@uncond, 0x0, 0x100, 0x168, 0x0, {}, [@common=@inet=@dccp={{0x30}}, @inet=@rpfilter={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x3d0) 00:34:03 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:03 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:03 executing program 0: seccomp$SECCOMP_SET_MODE_FILTER(0x1, 0x0, &(0x7f0000000040)={0x1, &(0x7f0000000080)=[{0x6, 0x0, 0x0, 0x7fff0000}]}) prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000240)={0x2, &(0x7f00000001c0)=[{0x5}, {0x6}]}) 00:34:03 executing program 4: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) 00:34:03 executing program 5: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) 00:34:03 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000000)={&(0x7f00000000c0)="d4", 0x1}) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000080)={&(0x7f0000000100)='3', 0x1}) close(r0) [ 658.327445][ T27] kauditd_printk_skb: 4 callbacks suppressed [ 658.327460][ T27] audit: type=1326 audit(1665102843.449:448): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=15629 comm="syz-executor.0" exe="/root/syz-executor.0" sig=31 arch=c000003e syscall=202 compat=0 ip=0x7fb8b888a5a9 code=0x0 00:34:03 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:03 executing program 3: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000900)=@raw={'raw\x00', 0x3c1, 0x3, 0x370, 0x138, 0xc8, 0x8, 0x2a0, 0x5803, 0x2a0, 0x2e8, 0x2e8, 0x2a0, 0x2e8, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x138, 0x0, {0x0, 0x2000000000000}, [@common=@unspec=@limit={{0x48}, {0x0, 0xcd8}}, @common=@inet=@socket1={{0x28}}]}, @unspec=@NOTRACK={0x20, 'NOTRACK\x00', 0x44}}, {{@uncond, 0x0, 0x100, 0x168, 0x0, {}, [@common=@inet=@dccp={{0x30}}, @inet=@rpfilter={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x3d0) 00:34:03 executing program 4: r0 = socket(0x2, 0x80805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x85, &(0x7f0000001340)={0x0, @in6={{0xa, 0x0, 0x0, @empty}}, 0x0, 0x816}, 0x90) sendmsg$kcm(r0, &(0x7f0000001280)={&(0x7f00000000c0)=@l2tp={0x2, 0x0, @remote}, 0x80, &(0x7f0000001240)=[{&(0x7f0000000140)="1b", 0x1}], 0x1}, 0x0) 00:34:03 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000000)={&(0x7f00000000c0)="d4", 0x1}) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000080)={&(0x7f0000000100)='3', 0x1}) close(r0) 00:34:03 executing program 5: r0 = fsopen(&(0x7f0000000280)='ceph\x00', 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f00000000c0)='source', &(0x7f0000000140)='::,[-\n\xf5\xcc\b\xb2f\xcdY\xb9\xc7\x9d\xb2a\r\xd7\xef\xc5\x112i\x88\n\x13\x04\xd6\xfa\xd5?\xc7\xfd&\x8d*\xbb|&,\xe9\xa3\'\x91>C\x1b\x15\x87\xeb\xfe\x1c\x9d\\C\xfeI%\xae\x8fKHq\x89\x83\xbb\x9dC\xd6Hy\xfao\x04\xa4\xb6\x88\xdb\xa1b\xae\xa7\x87\xcc\xc7\xa4\xdc\n:///\x00\x00\x00\x00\x00\x00\x00\bu\x01\xab\x90\x8d_r\xe7\r\'-06,\xff\x84x\'+\xd5\xd4?[e\x19\xa3\\J\xe9\x8a\xb9\xe495\x12', 0xfeffffff00000000) r1 = creat(&(0x7f0000000180)='./bus/file0\x00', 0x0) statx(r1, &(0x7f0000000d00)='./file0\x00', 0x5ffe, 0x4, &(0x7f0000000d40)) fsconfig$FSCONFIG_SET_STRING(0xffffffffffffffff, 0x1, 0x0, 0x0, 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000000)='source', &(0x7f0000000040)='ceph\x00', 0x0) 00:34:03 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:03 executing program 1: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:03 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x0, 0x0, 0x0, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x91, &(0x7f0000000000)=""/145, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r2}, 0x10) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$KDFONTOP_SET(r3, 0x4b72, &(0x7f0000000040)={0x0, 0x0, 0x1b, 0x2, 0x200, &(0x7f0000000440)="0de47370563ed450e74fba9ee179c0c3e9adc85caf8b84722462ad1524c66bfb8e45ba6e3874c65b829b1f1a235bd3b148fb0515cee67cdaf9aeae595c1e8ea1a61d9424981d3f26e4699a206bcdd0f8f537456688f3cdfc7045da32842f9b8e41127ed99b2cfa30c0521f50ac45b1376968c3cefebb90e34594fd8c1c767c68845044d33ecc85388e44fadd6ff04e3ff646ef3ea48156ec220831e204181e64ba8ed660fb3849b97cf8d3bc64c1716552988b6abeb681890c0e7ca00704a1c464243e283055b0d94878faa0e157bedeec96696e32d5ea55c2b8d71d9c5ea97ed48e5b690f2eb58022724c6b8d782b6714a1359fbd344b7cdededf7ad37ddaf7510a0e4b91b28f9d6f07289271392dde2d3e1a3bb3c833a1e8ffd0053f6814b3ff52e60400000000000000cbd5a976f17a600ba541c4148e9d4eb27f8e5da41bee540b020599254f3e274d8834fecc7f0ac2fa8c05000000af2c765257444abf843d3a4805e041937240be45d783c81a8b49edadf0bab15d48a0c013ff9244c3196fe8f6383892dfe6f91a41c774602247aae66c1029cd3ef37cd8eb12a624b04ff6937ca7dd1f2cd99a8ec0f03d416f401397ca9c82e24ffa9d9462f00500bcc7f068a938ba40dc655e962cc7a99695dcc9b2a88d46ddb96c2ab95cdb41fb79e4181f08796ad3404bd1ee43bcdd48baeb38af36fb70201c7b7219e64f6292037c9a0f420a9f7253f35e8b2d2c528b766935ed697e0027bf6ee60d60d157ab1a4153f9555b22f2ab3b6140fa15bb8f059efe6eb9371d47946a99db681923e9b1511387e2b877cf127d98c0956522d91c4d861eeb3bbb4f45d2ae367ba7f7d4a904a6439426fb02aab584a05a1ee734afa4c15f38b5b67217863cedf940f21d767f7798df5526037f175968acddfa42b377b765069b13a57b6fa5e883ecfec3d4262f0be9f09d0575c689f1b09060c0ec58480205eba61ef9592545367a978d1e193ce8e5ff8fe6c53020bc8400c1ced79a87fa3623559c3bae1e96b88eb6f218b58396a053755b9c60f4605f3473ef8003b1b28cbd43a4aba87e4ead0c84c41af5050000008aef3e1653035667a1d93772604f4c9b6b592c0e83106a63009e5c9c54eb560826be2afd30002aefcfaf626589d872ceadaeac878e2ae566bc2a6c6739dc0cf08879563b96fee0035c22d3736a07b3b0eda0e827d75b06fa7ac43927ef8383e7ccad0664f6632e174b99474055e58673c653042497159a91142f4728789510bd2e944d51074b58342ce8bc3d3fd4dc4be04a3f1ccdc7ea3242703cfe1c2b104c7d62dec4ba9e0cb9cb1ca9ae9a4803b3633447de0c58b789fa9307761551747ac4e6890107f8941ca6486cb443abb0c700"}) 00:34:03 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000000)={&(0x7f00000000c0)="d4", 0x1}) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000080)={&(0x7f0000000100)='3', 0x1}) close(r0) 00:34:03 executing program 3: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000900)=@raw={'raw\x00', 0x3c1, 0x3, 0x370, 0x138, 0xc8, 0x8, 0x2a0, 0x5803, 0x2a0, 0x2e8, 0x2e8, 0x2a0, 0x2e8, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x138, 0x0, {0x0, 0x2000000000000}, [@common=@unspec=@limit={{0x48}, {0x0, 0xcd8}}, @common=@inet=@socket1={{0x28}}]}, @unspec=@NOTRACK={0x20, 'NOTRACK\x00', 0x44}}, {{@uncond, 0x0, 0x100, 0x168, 0x0, {}, [@common=@inet=@dccp={{0x30}}, @inet=@rpfilter={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x3d0) 00:34:03 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000300)=@bridge_getvlan={0x17, 0x72, 0x463bcaebf280755b, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) [ 658.693624][T15650] libceph: resolve '- [ 658.693624][T15650] õ̲fÍY¹Ç²a×ïÅ2iˆ [ 658.693624][T15650] ÖúÕ?Çý&*»|&,é£'‘>C‡ëþ\CþI%®KHq‰ƒ»CÖHyúo¤¶ˆÛ¡b®§‡ÌÇ¤Ü [ 658.693624][T15650] ' (ret=-3): failed 00:34:03 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xa, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x7b, 0x11, 0x38}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 00:34:03 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000300)=@bridge_getvlan={0x17, 0x72, 0x463bcaebf280755b, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) 00:34:03 executing program 0: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000000)={&(0x7f00000000c0)="d4", 0x1}) ioctl$DRM_IOCTL_MODE_CREATEPROPBLOB(r0, 0xc01064bd, &(0x7f0000000080)={&(0x7f0000000100)='3', 0x1}) close(r0) 00:34:04 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000300)=@bridge_getvlan={0x17, 0x72, 0x463bcaebf280755b, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) 00:34:04 executing program 2: r0 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) r1 = openat$tun(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) ioctl$TUNSETIFF(r1, 0x400454ca, &(0x7f0000000200)={'rose0\x00', 0x112}) dup2(r0, r1) 00:34:04 executing program 5: r0 = fsopen(&(0x7f0000000280)='ceph\x00', 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f00000000c0)='source', &(0x7f0000000140)='::,[-\n\xf5\xcc\b\xb2f\xcdY\xb9\xc7\x9d\xb2a\r\xd7\xef\xc5\x112i\x88\n\x13\x04\xd6\xfa\xd5?\xc7\xfd&\x8d*\xbb|&,\xe9\xa3\'\x91>C\x1b\x15\x87\xeb\xfe\x1c\x9d\\C\xfeI%\xae\x8fKHq\x89\x83\xbb\x9dC\xd6Hy\xfao\x04\xa4\xb6\x88\xdb\xa1b\xae\xa7\x87\xcc\xc7\xa4\xdc\n:///\x00\x00\x00\x00\x00\x00\x00\bu\x01\xab\x90\x8d_r\xe7\r\'-06,\xff\x84x\'+\xd5\xd4?[e\x19\xa3\\J\xe9\x8a\xb9\xe495\x12', 0xfeffffff00000000) r1 = creat(&(0x7f0000000180)='./bus/file0\x00', 0x0) statx(r1, &(0x7f0000000d00)='./file0\x00', 0x5ffe, 0x4, &(0x7f0000000d40)) fsconfig$FSCONFIG_SET_STRING(0xffffffffffffffff, 0x1, 0x0, 0x0, 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000000)='source', &(0x7f0000000040)='ceph\x00', 0x0) 00:34:04 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xa, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x7b, 0x11, 0x38}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 00:34:04 executing program 3: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000900)=@raw={'raw\x00', 0x3c1, 0x3, 0x370, 0x138, 0xc8, 0x8, 0x2a0, 0x5803, 0x2a0, 0x2e8, 0x2e8, 0x2a0, 0x2e8, 0x3, 0x0, {[{{@uncond, 0x0, 0x118, 0x138, 0x0, {0x0, 0x2000000000000}, [@common=@unspec=@limit={{0x48}, {0x0, 0xcd8}}, @common=@inet=@socket1={{0x28}}]}, @unspec=@NOTRACK={0x20, 'NOTRACK\x00', 0x44}}, {{@uncond, 0x0, 0x100, 0x168, 0x0, {}, [@common=@inet=@dccp={{0x30}}, @inet=@rpfilter={{0x28}}]}, @unspec=@CT1={0x68, 'CT\x00', 0x1, {0x0, 0x0, 0x0, 0x0, 'netbios-ns\x00', 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x3d0) 00:34:04 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000300)=@bridge_getvlan={0x17, 0x72, 0x463bcaebf280755b, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) 00:34:04 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xa, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x7b, 0x11, 0x38}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 00:34:04 executing program 0: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) [ 658.989048][T15683] libceph: resolve '- [ 658.989048][T15683] õ̲fÍY¹Ç²a×ïÅ2iˆ [ 658.989048][T15683] ÖúÕ?Çý&*»|&,é£'‘>C‡ëþ\CþI%®KHq‰ƒ»CÖHyúo¤¶ˆÛ¡b®§‡ÌÇ¤Ü [ 658.989048][T15683] ' (ret=-3): failed 00:34:04 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f0000000180), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_HARDIF(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f00000004c0)={0x1c, r1, 0xb09, 0x0, 0x0, {}, [@BATADV_ATTR_AGGREGATED_OGMS_ENABLED={0x5, 0x3}]}, 0x1c}}, 0x0) 00:34:04 executing program 2: r0 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r0, &(0x7f0000000080)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x0, 0xfffffffd}}, 0x10) r1 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r1, &(0x7f00000000c0)=@nameseq={0x1e, 0x1, 0x0, {0x42}}, 0x10) setsockopt$TIPC_GROUP_JOIN(r0, 0x10f, 0x87, &(0x7f0000000180)={0x42, 0x1}, 0x10) r2 = socket$tipc(0x1e, 0x5, 0x0) r3 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r3, &(0x7f0000000000)=@name={0x1e, 0x2, 0x0, {{0x42, 0x10000001}}}, 0x10) r4 = socket$tipc(0x1e, 0x2, 0x0) setsockopt$TIPC_GROUP_JOIN(r4, 0x10f, 0x87, &(0x7f0000000040)={0x42, 0x83f}, 0x10) bind$tipc(r1, 0x0, 0x0) sendmsg$tipc(r2, &(0x7f0000000380)={&(0x7f0000000140)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x3, 0x4}}, 0x10, 0x0}, 0x0) 00:34:04 executing program 5: r0 = fsopen(&(0x7f0000000280)='ceph\x00', 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f00000000c0)='source', &(0x7f0000000140)='::,[-\n\xf5\xcc\b\xb2f\xcdY\xb9\xc7\x9d\xb2a\r\xd7\xef\xc5\x112i\x88\n\x13\x04\xd6\xfa\xd5?\xc7\xfd&\x8d*\xbb|&,\xe9\xa3\'\x91>C\x1b\x15\x87\xeb\xfe\x1c\x9d\\C\xfeI%\xae\x8fKHq\x89\x83\xbb\x9dC\xd6Hy\xfao\x04\xa4\xb6\x88\xdb\xa1b\xae\xa7\x87\xcc\xc7\xa4\xdc\n:///\x00\x00\x00\x00\x00\x00\x00\bu\x01\xab\x90\x8d_r\xe7\r\'-06,\xff\x84x\'+\xd5\xd4?[e\x19\xa3\\J\xe9\x8a\xb9\xe495\x12', 0xfeffffff00000000) r1 = creat(&(0x7f0000000180)='./bus/file0\x00', 0x0) statx(r1, &(0x7f0000000d00)='./file0\x00', 0x5ffe, 0x4, &(0x7f0000000d40)) fsconfig$FSCONFIG_SET_STRING(0xffffffffffffffff, 0x1, 0x0, 0x0, 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000000)='source', &(0x7f0000000040)='ceph\x00', 0x0) 00:34:04 executing program 3: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89b1, &(0x7f0000000000)={'ip6gre0\x00', 0x0}) 00:34:04 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xa, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x7b, 0x11, 0x38}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) 00:34:04 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f0000000180), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_HARDIF(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f00000004c0)={0x1c, r1, 0xb09, 0x0, 0x0, {}, [@BATADV_ATTR_AGGREGATED_OGMS_ENABLED={0x5, 0x3}]}, 0x1c}}, 0x0) [ 659.166124][T15695] libceph: resolve '- [ 659.166124][T15695] õ̲fÍY¹Ç²a×ïÅ2iˆ [ 659.166124][T15695] ÖúÕ?Çý&*»|&,é£'‘>C‡ëþ\CþI%®KHq‰ƒ»CÖHyúo¤¶ˆÛ¡b®§‡ÌÇ¤Ü [ 659.166124][T15695] ' (ret=-3): failed 00:34:04 executing program 2: r0 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r0, &(0x7f0000000080)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x0, 0xfffffffd}}, 0x10) r1 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r1, &(0x7f00000000c0)=@nameseq={0x1e, 0x1, 0x0, {0x42}}, 0x10) setsockopt$TIPC_GROUP_JOIN(r0, 0x10f, 0x87, &(0x7f0000000180)={0x42, 0x1}, 0x10) r2 = socket$tipc(0x1e, 0x5, 0x0) r3 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r3, &(0x7f0000000000)=@name={0x1e, 0x2, 0x0, {{0x42, 0x10000001}}}, 0x10) r4 = socket$tipc(0x1e, 0x2, 0x0) setsockopt$TIPC_GROUP_JOIN(r4, 0x10f, 0x87, &(0x7f0000000040)={0x42, 0x83f}, 0x10) bind$tipc(r1, 0x0, 0x0) sendmsg$tipc(r2, &(0x7f0000000380)={&(0x7f0000000140)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x3, 0x4}}, 0x10, 0x0}, 0x0) 00:34:04 executing program 5: r0 = fsopen(&(0x7f0000000280)='ceph\x00', 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f00000000c0)='source', &(0x7f0000000140)='::,[-\n\xf5\xcc\b\xb2f\xcdY\xb9\xc7\x9d\xb2a\r\xd7\xef\xc5\x112i\x88\n\x13\x04\xd6\xfa\xd5?\xc7\xfd&\x8d*\xbb|&,\xe9\xa3\'\x91>C\x1b\x15\x87\xeb\xfe\x1c\x9d\\C\xfeI%\xae\x8fKHq\x89\x83\xbb\x9dC\xd6Hy\xfao\x04\xa4\xb6\x88\xdb\xa1b\xae\xa7\x87\xcc\xc7\xa4\xdc\n:///\x00\x00\x00\x00\x00\x00\x00\bu\x01\xab\x90\x8d_r\xe7\r\'-06,\xff\x84x\'+\xd5\xd4?[e\x19\xa3\\J\xe9\x8a\xb9\xe495\x12', 0xfeffffff00000000) r1 = creat(&(0x7f0000000180)='./bus/file0\x00', 0x0) statx(r1, &(0x7f0000000d00)='./file0\x00', 0x5ffe, 0x4, &(0x7f0000000d40)) fsconfig$FSCONFIG_SET_STRING(0xffffffffffffffff, 0x1, 0x0, 0x0, 0x0) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000000)='source', &(0x7f0000000040)='ceph\x00', 0x0) 00:34:04 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = bpf$PROG_LOAD(0x5, &(0x7f0000008000)={0x15, 0x3, &(0x7f00000003c0)=ANY=[@ANYBLOB="b70000000000000007000000000000009500000000000000bdc56db54c75223f007e6ca3060000f2010000009c91420b66f0980e90dc0a9900d145243692fe648adf4cbc2351d5a6b4fc0efe8f7a0ace755bfc1dc631c378820861eceea60822e7112e526600eea6c33d050000000000000056a9440bf2ebb0664d2d936ca225d5003deb4dc894b3c72417c46ba8a3013fdc5b2a1dbc50fcb6d9a01d03491c35fee5ff00642faead96339f223eaf2e3d0859435775843a5a7090b1c08454a248811e772770c678318e075c62ebabea7dd0850a0e16793732f7c9af95af001000e8955133044fd041b55379c29cc8ad42dc7023ceb6f2e4980e5be2d3f36ae968aff4b9b5caccc4722cf3fffffffffe488e01bf465f0a27e54911827c4fa432ca12b66ce9643697ac0e1283ffdcea592613f479d71eb2597dd9000000000000000000000000001d5bdafcd419016b45500000000000000040000000000000000089fd272298224a57c119f82dc10d05b29d4e9f0a9205298f19b874c0d05780aa367372cbbe45937091597fc75ff85cdc34cd5aaf64b5fa10bb8808fa00002c89255335fb348ec5ed6a6e43a15a107113a700bb3cefdfc79d79c22a21a5e478e3ea9b8f5ff07d45602fb800355c06d5d09fd16e9c702d54487b364801c8f294ddad35d97a81b66e7781261b8d54312d4d3eb4122b9acee48fcdd1d177b6935bef7c9a2b468cc1281e57a5"], &(0x7f0000003ff6)='syzkaller\x00', 0x1, 0xc3, &(0x7f00000002c0)=""/195}, 0x48) r1 = socket$inet6_sctp(0xa, 0x800000000000001, 0x84) setsockopt$sock_attach_bpf(r1, 0x1, 0x34, &(0x7f0000000040)=r0, 0x4) 00:34:04 executing program 4: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, 0x40046207, 0x0) r1 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000000080)={0x8, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB="04630440"], 0x0, 0x0, 0x0}) r2 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) dup2(r2, r0) r3 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x0, 0x0) r4 = dup2(r2, r3) ioctl$BINDER_SET_CONTEXT_MGR_EXT(r4, 0x4018620d, &(0x7f0000000000)) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f0000001480)={0x8, 0x0, &(0x7f0000000100)=ANY=[@ANYBLOB="05630440"], 0x0, 0x0, 0x0}) mmap$binder(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x1, 0x11, r3, 0x0) ioctl$BINDER_WRITE_READ(r1, 0xc0306201, &(0x7f00000003c0)={0x44, 0x0, &(0x7f0000000200)=[@transaction={0x40406300, {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0x0, &(0x7f00000002c0)={@flat=@weak_binder, @ptr={0x73622a85, 0x0, 0x0}, @fd={0x73622a85}}, 0x0}}], 0x0, 0x0, 0x0}) 00:34:04 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f0000000180), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_HARDIF(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f00000004c0)={0x1c, r1, 0xb09, 0x0, 0x0, {}, [@BATADV_ATTR_AGGREGATED_OGMS_ENABLED={0x5, 0x3}]}, 0x1c}}, 0x0) 00:34:04 executing program 0: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) 00:34:04 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = bpf$PROG_LOAD(0x5, &(0x7f0000008000)={0x15, 0x3, &(0x7f00000003c0)=ANY=[@ANYBLOB="b70000000000000007000000000000009500000000000000bdc56db54c75223f007e6ca3060000f2010000009c91420b66f0980e90dc0a9900d145243692fe648adf4cbc2351d5a6b4fc0efe8f7a0ace755bfc1dc631c378820861eceea60822e7112e526600eea6c33d050000000000000056a9440bf2ebb0664d2d936ca225d5003deb4dc894b3c72417c46ba8a3013fdc5b2a1dbc50fcb6d9a01d03491c35fee5ff00642faead96339f223eaf2e3d0859435775843a5a7090b1c08454a248811e772770c678318e075c62ebabea7dd0850a0e16793732f7c9af95af001000e8955133044fd041b55379c29cc8ad42dc7023ceb6f2e4980e5be2d3f36ae968aff4b9b5caccc4722cf3fffffffffe488e01bf465f0a27e54911827c4fa432ca12b66ce9643697ac0e1283ffdcea592613f479d71eb2597dd9000000000000000000000000001d5bdafcd419016b45500000000000000040000000000000000089fd272298224a57c119f82dc10d05b29d4e9f0a9205298f19b874c0d05780aa367372cbbe45937091597fc75ff85cdc34cd5aaf64b5fa10bb8808fa00002c89255335fb348ec5ed6a6e43a15a107113a700bb3cefdfc79d79c22a21a5e478e3ea9b8f5ff07d45602fb800355c06d5d09fd16e9c702d54487b364801c8f294ddad35d97a81b66e7781261b8d54312d4d3eb4122b9acee48fcdd1d177b6935bef7c9a2b468cc1281e57a5"], &(0x7f0000003ff6)='syzkaller\x00', 0x1, 0xc3, &(0x7f00000002c0)=""/195}, 0x48) r1 = socket$inet6_sctp(0xa, 0x800000000000001, 0x84) setsockopt$sock_attach_bpf(r1, 0x1, 0x34, &(0x7f0000000040)=r0, 0x4) 00:34:04 executing program 2: r0 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r0, &(0x7f0000000080)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x0, 0xfffffffd}}, 0x10) r1 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r1, &(0x7f00000000c0)=@nameseq={0x1e, 0x1, 0x0, {0x42}}, 0x10) setsockopt$TIPC_GROUP_JOIN(r0, 0x10f, 0x87, &(0x7f0000000180)={0x42, 0x1}, 0x10) r2 = socket$tipc(0x1e, 0x5, 0x0) r3 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r3, &(0x7f0000000000)=@name={0x1e, 0x2, 0x0, {{0x42, 0x10000001}}}, 0x10) r4 = socket$tipc(0x1e, 0x2, 0x0) setsockopt$TIPC_GROUP_JOIN(r4, 0x10f, 0x87, &(0x7f0000000040)={0x42, 0x83f}, 0x10) bind$tipc(r1, 0x0, 0x0) sendmsg$tipc(r2, &(0x7f0000000380)={&(0x7f0000000140)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x3, 0x4}}, 0x10, 0x0}, 0x0) 00:34:04 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f0000000180), 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_HARDIF(r0, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000540)={&(0x7f00000004c0)={0x1c, r1, 0xb09, 0x0, 0x0, {}, [@BATADV_ATTR_AGGREGATED_OGMS_ENABLED={0x5, 0x3}]}, 0x1c}}, 0x0) [ 659.357951][T15708] libceph: resolve '- [ 659.357951][T15708] õ̲fÍY¹Ç²a×ïÅ2iˆ [ 659.357951][T15708] ÖúÕ?Çý&*»|&,é£'‘>C‡ëþ\CþI%®KHq‰ƒ»CÖHyúo¤¶ˆÛ¡b®§‡ÌÇ¤Ü [ 659.357951][T15708] ' (ret=-3): failed 00:34:04 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) 00:34:04 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_GROUP={0x8}, @IFLA_GSO_MAX_SEGS={0x8, 0x28, 0xeaffffff}]}, 0x30}}, 0x0) 00:34:04 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = bpf$PROG_LOAD(0x5, &(0x7f0000008000)={0x15, 0x3, &(0x7f00000003c0)=ANY=[@ANYBLOB="b70000000000000007000000000000009500000000000000bdc56db54c75223f007e6ca3060000f2010000009c91420b66f0980e90dc0a9900d145243692fe648adf4cbc2351d5a6b4fc0efe8f7a0ace755bfc1dc631c378820861eceea60822e7112e526600eea6c33d050000000000000056a9440bf2ebb0664d2d936ca225d5003deb4dc894b3c72417c46ba8a3013fdc5b2a1dbc50fcb6d9a01d03491c35fee5ff00642faead96339f223eaf2e3d0859435775843a5a7090b1c08454a248811e772770c678318e075c62ebabea7dd0850a0e16793732f7c9af95af001000e8955133044fd041b55379c29cc8ad42dc7023ceb6f2e4980e5be2d3f36ae968aff4b9b5caccc4722cf3fffffffffe488e01bf465f0a27e54911827c4fa432ca12b66ce9643697ac0e1283ffdcea592613f479d71eb2597dd9000000000000000000000000001d5bdafcd419016b45500000000000000040000000000000000089fd272298224a57c119f82dc10d05b29d4e9f0a9205298f19b874c0d05780aa367372cbbe45937091597fc75ff85cdc34cd5aaf64b5fa10bb8808fa00002c89255335fb348ec5ed6a6e43a15a107113a700bb3cefdfc79d79c22a21a5e478e3ea9b8f5ff07d45602fb800355c06d5d09fd16e9c702d54487b364801c8f294ddad35d97a81b66e7781261b8d54312d4d3eb4122b9acee48fcdd1d177b6935bef7c9a2b468cc1281e57a5"], &(0x7f0000003ff6)='syzkaller\x00', 0x1, 0xc3, &(0x7f00000002c0)=""/195}, 0x48) r1 = socket$inet6_sctp(0xa, 0x800000000000001, 0x84) setsockopt$sock_attach_bpf(r1, 0x1, 0x34, &(0x7f0000000040)=r0, 0x4) 00:34:04 executing program 0: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) 00:34:04 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_usb_connect$hid(0x6, 0x0, 0x0, 0x0) socketpair$unix(0x1, 0x0, 0x0, 0x0) connect$unix(0xffffffffffffffff, &(0x7f0000000080)=@abs, 0x6e) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) lseek(0xffffffffffffffff, 0x8000000000b5a, 0x0) sched_setattr(0x0, &(0x7f0000000180)={0x38, 0x5}, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000640)=ANY=[], 0x88) sendfile(r0, r0, &(0x7f0000000240), 0x7ffc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) openat$dsp(0xffffffffffffff9c, &(0x7f0000000040), 0x24002, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x1, 0x4010, 0xffffffffffffffff, 0x3820d000) [ 659.499321][T15722] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. 00:34:04 executing program 2: r0 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r0, &(0x7f0000000080)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x0, 0xfffffffd}}, 0x10) r1 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r1, &(0x7f00000000c0)=@nameseq={0x1e, 0x1, 0x0, {0x42}}, 0x10) setsockopt$TIPC_GROUP_JOIN(r0, 0x10f, 0x87, &(0x7f0000000180)={0x42, 0x1}, 0x10) r2 = socket$tipc(0x1e, 0x5, 0x0) r3 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r3, &(0x7f0000000000)=@name={0x1e, 0x2, 0x0, {{0x42, 0x10000001}}}, 0x10) r4 = socket$tipc(0x1e, 0x2, 0x0) setsockopt$TIPC_GROUP_JOIN(r4, 0x10f, 0x87, &(0x7f0000000040)={0x42, 0x83f}, 0x10) bind$tipc(r1, 0x0, 0x0) sendmsg$tipc(r2, &(0x7f0000000380)={&(0x7f0000000140)=@nameseq={0x1e, 0x1, 0x0, {0x42, 0x3, 0x4}}, 0x10, 0x0}, 0x0) 00:34:04 executing program 3: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = bpf$PROG_LOAD(0x5, &(0x7f0000008000)={0x15, 0x3, &(0x7f00000003c0)=ANY=[@ANYBLOB="b70000000000000007000000000000009500000000000000bdc56db54c75223f007e6ca3060000f2010000009c91420b66f0980e90dc0a9900d145243692fe648adf4cbc2351d5a6b4fc0efe8f7a0ace755bfc1dc631c378820861eceea60822e7112e526600eea6c33d050000000000000056a9440bf2ebb0664d2d936ca225d5003deb4dc894b3c72417c46ba8a3013fdc5b2a1dbc50fcb6d9a01d03491c35fee5ff00642faead96339f223eaf2e3d0859435775843a5a7090b1c08454a248811e772770c678318e075c62ebabea7dd0850a0e16793732f7c9af95af001000e8955133044fd041b55379c29cc8ad42dc7023ceb6f2e4980e5be2d3f36ae968aff4b9b5caccc4722cf3fffffffffe488e01bf465f0a27e54911827c4fa432ca12b66ce9643697ac0e1283ffdcea592613f479d71eb2597dd9000000000000000000000000001d5bdafcd419016b45500000000000000040000000000000000089fd272298224a57c119f82dc10d05b29d4e9f0a9205298f19b874c0d05780aa367372cbbe45937091597fc75ff85cdc34cd5aaf64b5fa10bb8808fa00002c89255335fb348ec5ed6a6e43a15a107113a700bb3cefdfc79d79c22a21a5e478e3ea9b8f5ff07d45602fb800355c06d5d09fd16e9c702d54487b364801c8f294ddad35d97a81b66e7781261b8d54312d4d3eb4122b9acee48fcdd1d177b6935bef7c9a2b468cc1281e57a5"], &(0x7f0000003ff6)='syzkaller\x00', 0x1, 0xc3, &(0x7f00000002c0)=""/195}, 0x48) r1 = socket$inet6_sctp(0xa, 0x800000000000001, 0x84) setsockopt$sock_attach_bpf(r1, 0x1, 0x34, &(0x7f0000000040)=r0, 0x4) 00:34:04 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_GROUP={0x8}, @IFLA_GSO_MAX_SEGS={0x8, 0x28, 0xeaffffff}]}, 0x30}}, 0x0) 00:34:04 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) 00:34:04 executing program 2: r0 = socket$inet(0xa, 0x801, 0x84) connect$inet(r0, &(0x7f0000004cc0)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) listen(r0, 0x8) r1 = accept4(r0, 0x0, 0x0, 0x0) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(r1, 0x84, 0x6c, &(0x7f00000000c0)=ANY=[], &(0x7f0000000140)=0x2a) 00:34:04 executing program 3: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) [ 659.691759][T15738] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. 00:34:04 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_GROUP={0x8}, @IFLA_GSO_MAX_SEGS={0x8, 0x28, 0xeaffffff}]}, 0x30}}, 0x0) 00:34:04 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) 00:34:05 executing program 2: r0 = socket$inet(0xa, 0x801, 0x84) connect$inet(r0, &(0x7f0000004cc0)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) listen(r0, 0x8) r1 = accept4(r0, 0x0, 0x0, 0x0) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(r1, 0x84, 0x6c, &(0x7f00000000c0)=ANY=[], &(0x7f0000000140)=0x2a) [ 659.847324][T15747] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. 00:34:05 executing program 4: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$KDSKBSENT(r0, 0x4b32, &(0x7f0000000040)={0x0, "111c6d9d1b4edae1f40c78b63ab8c2cc78919889fe612f7e05db2a66dcc46edda654b9db1514ba9fbe62f56a8d7481ae79b6c74bf60dc9c73822f85057e237761c32611cc8068bc7d053bd94e5a99c3711625313030bceed117a07189e5061b4cd5a1facf2f6fe984fbd1baad1b50debfbdb5e621a59b310be58dfd62639323a19dab1f909fa634dd50411ffc6ac3bb14406246034dc8e9f4fffd7ff7a57cc07744e06186201a10f56f940a9541b184403daefbde9907162e051c99bc2d6c7c36f865e68241730314fff104004d6ea6aabc13863b7de6c664e71fab39083be7b030adefabe56ea12a78c394e5547677eda7dcb4d13ed694862663e86a3ddd4fea1ef607a9984e3648449301efdad956b7087330666790a7f57938b514b13bdf5941cd8c14bdc4c3c2917fffcbc18a50cf4307deba19e0414b554b2ee505f21457c0145756007de7aeebfa1a02c29efaa927b80c09bb8c3e0195d6c1665646775a8e3074b921711e1cd0cbf858d403c3d25aba535b225df0821b69c1009cf82a64bd17e791ff4b3b8bd786fd27099f2dda3481c84e262541ed783158d1a6fabbfc3fe8ebdb1bd5b8aad4995c122101ca189dd644bb7ce6c1d9bdd3ceb634b61cb2c64ff4a94fc3f4207df73ac5a0f98dcb130cb5e0c4cb00f0fedde767f0195a11ac21135035e926ee1cde773bb0f429c2745c9c639469ab035e4a3a2dcfeed9e"}) 00:34:05 executing program 0: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) setsockopt$IP_VS_SO_SET_ZERO(r1, 0x0, 0x60, &(0x7f0000000000)={0x0, @local, 0x0, 0x0, 'lblc\x00'}, 0x2c) mbind(&(0x7f0000012000/0xc00000)=nil, 0xc000d0, 0x0, 0x0, 0x0, 0x10000000002) recvmsg$unix(0xffffffffffffffff, 0x0, 0x0) 00:34:06 executing program 2: r0 = socket$inet(0xa, 0x801, 0x84) connect$inet(r0, &(0x7f0000004cc0)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) listen(r0, 0x8) r1 = accept4(r0, 0x0, 0x0, 0x0) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(r1, 0x84, 0x6c, &(0x7f00000000c0)=ANY=[], &(0x7f0000000140)=0x2a) 00:34:06 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_GROUP={0x8}, @IFLA_GSO_MAX_SEGS={0x8, 0x28, 0xeaffffff}]}, 0x30}}, 0x0) 00:34:06 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = dup(r0) setsockopt$ARPT_SO_SET_REPLACE(r1, 0xa02000000000000, 0x60, &(0x7f0000000840)={'filter\x00', 0x1002, 0x4, 0x3d0, 0x5202, 0x0, 0x3d0, 0x2e8, 0x2e8, 0x2e8, 0x4, 0x0, {[{{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'veth1_vlan\x00', 'tunl0\x00'}, 0xc0, 0xe8}, @unspec=@STANDARD={0x28, '\x00', 0x0, 0x1d8}}, {{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'netdevsim0\x00', 'ip6tnl0\x00'}, 0xc0, 0xf0}, @unspec=@CONNMARK={0x30}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@mac=@dev, @empty, @local, @loopback}}}], {{'\x00', 0xc0, 0xe8}, {0x28}}}}, 0x420) 00:34:06 executing program 0: syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000100)='./file0\x00', 0x8001, 0x1, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}], 0x0, &(0x7f0000000180)=ANY=[], 0xfd) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f0000000200)={0x0, 0xffff, 0x100000}) 00:34:06 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_usb_connect$hid(0x6, 0x0, 0x0, 0x0) socketpair$unix(0x1, 0x0, 0x0, 0x0) connect$unix(0xffffffffffffffff, &(0x7f0000000080)=@abs, 0x6e) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) lseek(0xffffffffffffffff, 0x8000000000b5a, 0x0) sched_setattr(0x0, &(0x7f0000000180)={0x38, 0x5}, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000640)=ANY=[], 0x88) sendfile(r0, r0, &(0x7f0000000240), 0x7ffc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) openat$dsp(0xffffffffffffff9c, &(0x7f0000000040), 0x24002, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x1, 0x4010, 0xffffffffffffffff, 0x3820d000) 00:34:06 executing program 3: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) [ 661.416613][T15762] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. [ 661.431764][T15767] loop0: detected capacity change from 0 to 64 00:34:06 executing program 2: r0 = socket$inet(0xa, 0x801, 0x84) connect$inet(r0, &(0x7f0000004cc0)={0x2, 0x0, @remote={0xac, 0x14, 0xffffffffffffffff}}, 0x10) listen(r0, 0x8) r1 = accept4(r0, 0x0, 0x0, 0x0) getsockopt$inet_sctp_SCTP_GET_PEER_ADDRS(r1, 0x84, 0x6c, &(0x7f00000000c0)=ANY=[], &(0x7f0000000140)=0x2a) 00:34:06 executing program 0: syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000100)='./file0\x00', 0x8001, 0x1, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}], 0x0, &(0x7f0000000180)=ANY=[], 0xfd) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f0000000200)={0x0, 0xffff, 0x100000}) [ 661.484754][T15765] cannot load conntrack support for proto=3 00:34:06 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = dup(r0) setsockopt$ARPT_SO_SET_REPLACE(r1, 0xa02000000000000, 0x60, &(0x7f0000000840)={'filter\x00', 0x1002, 0x4, 0x3d0, 0x5202, 0x0, 0x3d0, 0x2e8, 0x2e8, 0x2e8, 0x4, 0x0, {[{{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'veth1_vlan\x00', 'tunl0\x00'}, 0xc0, 0xe8}, @unspec=@STANDARD={0x28, '\x00', 0x0, 0x1d8}}, {{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'netdevsim0\x00', 'ip6tnl0\x00'}, 0xc0, 0xf0}, @unspec=@CONNMARK={0x30}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@mac=@dev, @empty, @local, @loopback}}}], {{'\x00', 0xc0, 0xe8}, {0x28}}}}, 0x420) 00:34:06 executing program 5: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) 00:34:06 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7fffffffffffffff, 0x0) ioctl$VIDIOC_ENUM_FREQ_BANDS(r0, 0xc0405665, &(0x7f0000000180)={0x0, 0x2, 0x5}) [ 661.614013][T15774] loop0: detected capacity change from 0 to 64 00:34:06 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7fffffffffffffff, 0x0) ioctl$VIDIOC_ENUM_FREQ_BANDS(r0, 0xc0405665, &(0x7f0000000180)={0x0, 0x2, 0x5}) [ 661.735355][T15780] cannot load conntrack support for proto=3 00:34:06 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = dup(r0) setsockopt$ARPT_SO_SET_REPLACE(r1, 0xa02000000000000, 0x60, &(0x7f0000000840)={'filter\x00', 0x1002, 0x4, 0x3d0, 0x5202, 0x0, 0x3d0, 0x2e8, 0x2e8, 0x2e8, 0x4, 0x0, {[{{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'veth1_vlan\x00', 'tunl0\x00'}, 0xc0, 0xe8}, @unspec=@STANDARD={0x28, '\x00', 0x0, 0x1d8}}, {{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'netdevsim0\x00', 'ip6tnl0\x00'}, 0xc0, 0xf0}, @unspec=@CONNMARK={0x30}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@mac=@dev, @empty, @local, @loopback}}}], {{'\x00', 0xc0, 0xe8}, {0x28}}}}, 0x420) 00:34:06 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7fffffffffffffff, 0x0) ioctl$VIDIOC_ENUM_FREQ_BANDS(r0, 0xc0405665, &(0x7f0000000180)={0x0, 0x2, 0x5}) 00:34:06 executing program 0: syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000100)='./file0\x00', 0x8001, 0x1, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}], 0x0, &(0x7f0000000180)=ANY=[], 0xfd) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f0000000200)={0x0, 0xffff, 0x100000}) [ 661.837329][T15787] cannot load conntrack support for proto=3 00:34:07 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = dup(r0) setsockopt$ARPT_SO_SET_REPLACE(r1, 0xa02000000000000, 0x60, &(0x7f0000000840)={'filter\x00', 0x1002, 0x4, 0x3d0, 0x5202, 0x0, 0x3d0, 0x2e8, 0x2e8, 0x2e8, 0x4, 0x0, {[{{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @empty, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'veth1_vlan\x00', 'tunl0\x00'}, 0xc0, 0xe8}, @unspec=@STANDARD={0x28, '\x00', 0x0, 0x1d8}}, {{@arp={@initdev={0xac, 0x1e, 0x0, 0x0}, @multicast2, 0x0, 0x0, 0x0, 0x0, {}, {}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 'netdevsim0\x00', 'ip6tnl0\x00'}, 0xc0, 0xf0}, @unspec=@CONNMARK={0x30}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@mac=@dev, @empty, @local, @loopback}}}], {{'\x00', 0xc0, 0xe8}, {0x28}}}}, 0x420) [ 661.916077][T15789] loop0: detected capacity change from 0 to 64 [ 661.986870][T15793] cannot load conntrack support for proto=3 00:34:07 executing program 2: r0 = syz_open_dev$video(&(0x7f0000000000), 0x7fffffffffffffff, 0x0) ioctl$VIDIOC_ENUM_FREQ_BANDS(r0, 0xc0405665, &(0x7f0000000180)={0x0, 0x2, 0x5}) 00:34:07 executing program 0: syz_mount_image$vfat(&(0x7f0000000040), &(0x7f0000000100)='./file0\x00', 0x8001, 0x1, &(0x7f0000000080)=[{&(0x7f00000002c0)="eb3c8f000000732e66617400020101000240008080f801", 0x17}], 0x0, &(0x7f0000000180)=ANY=[], 0xfd) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$FITRIM(r0, 0xc0185879, &(0x7f0000000200)={0x0, 0xffff, 0x100000}) 00:34:07 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) sendto$inet6(r0, 0x0, 0x0, 0x400e005, &(0x7f0000000000)={0xa, 0x4e24, 0x0, @remote}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x30, 0x0, 0x0) 00:34:07 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_usb_connect$hid(0x6, 0x0, 0x0, 0x0) socketpair$unix(0x1, 0x0, 0x0, 0x0) connect$unix(0xffffffffffffffff, &(0x7f0000000080)=@abs, 0x6e) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) lseek(0xffffffffffffffff, 0x8000000000b5a, 0x0) sched_setattr(0x0, &(0x7f0000000180)={0x38, 0x5}, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000640)=ANY=[], 0x88) sendfile(r0, r0, &(0x7f0000000240), 0x7ffc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) openat$dsp(0xffffffffffffff9c, &(0x7f0000000040), 0x24002, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x1, 0x4010, 0xffffffffffffffff, 0x3820d000) 00:34:07 executing program 3: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) [ 662.435398][T15801] loop0: detected capacity change from 0 to 64 00:34:07 executing program 5: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) 00:34:07 executing program 2: sched_setscheduler(0x0, 0x0, 0x0) sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(0x0, 0x6, &(0x7f0000000200)) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r0, &(0x7f00000000c0), 0x10106, 0x2, 0x0) bpf$PROG_LOAD(0x5, 0x0, 0x0) connect$unix(r0, &(0x7f0000000600)=@abs={0x0, 0x0, 0x4e20}, 0x6e) bind(0xffffffffffffffff, &(0x7f0000000080)=@generic={0x0, "000001000000000008fc9d71fc00000000000000f8ffff002e0b3836005404b0d6301a4ce875f2e3ff5f163ee340b76795008000f8000000000104003c5811039e15775027ecce66fd792bbf0e5bf5ff9b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ff42c65400"}, 0x80) 00:34:07 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) sendto$inet6(r0, 0x0, 0x0, 0x400e005, &(0x7f0000000000)={0xa, 0x4e24, 0x0, @remote}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x30, 0x0, 0x0) 00:34:07 executing program 0: io_setup(0x4, &(0x7f0000002400)=0x0) r1 = openat$capi20(0xffffffffffffff9c, &(0x7f00000026c0), 0x0, 0x0) io_submit(r0, 0x1, &(0x7f0000001480)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r1, 0x0}]) 00:34:07 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) sendto$inet6(r0, 0x0, 0x0, 0x400e005, &(0x7f0000000000)={0xa, 0x4e24, 0x0, @remote}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x30, 0x0, 0x0) 00:34:08 executing program 0: io_setup(0x4, &(0x7f0000002400)=0x0) r1 = openat$capi20(0xffffffffffffff9c, &(0x7f00000026c0), 0x0, 0x0) io_submit(r0, 0x1, &(0x7f0000001480)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r1, 0x0}]) 00:34:08 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) sendto$inet6(r0, 0x0, 0x0, 0x400e005, &(0x7f0000000000)={0xa, 0x4e24, 0x0, @remote}, 0x1c) sendto$inet6(r0, 0x0, 0x0, 0x30, 0x0, 0x0) 00:34:08 executing program 4: sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) stat(0x0, 0x0) sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f00000014c0)=0x4, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800"/11], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) open(0x0, 0x270000, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(0xffffffffffffffff, 0x4020ae46, &(0x7f0000001b80)={0x0, 0x0, 0xd000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) bpf$PROG_LOAD(0x5, 0x0, 0x0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000001480)={0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000001c00)=[{{&(0x7f0000001a00)=@l2tp={0x2, 0x0, @initdev}, 0x80, &(0x7f0000001bc0)=[{&(0x7f0000001a80)=""/63, 0x3f}], 0x1}, 0x7}], 0x1, 0x40000080, 0x0) ioctl$sock_SIOCSIFBR(0xffffffffffffffff, 0x8941, &(0x7f0000000000)=@generic={0x0, 0x0, 0x3}) 00:34:08 executing program 1: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_usb_connect$hid(0x6, 0x0, 0x0, 0x0) socketpair$unix(0x1, 0x0, 0x0, 0x0) connect$unix(0xffffffffffffffff, &(0x7f0000000080)=@abs, 0x6e) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) lseek(0xffffffffffffffff, 0x8000000000b5a, 0x0) sched_setattr(0x0, &(0x7f0000000180)={0x38, 0x5}, 0x0) r0 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) write$P9_RREADLINK(r0, &(0x7f0000000640)=ANY=[], 0x88) sendfile(r0, r0, &(0x7f0000000240), 0x7ffc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) openat$dsp(0xffffffffffffff9c, &(0x7f0000000040), 0x24002, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x1, 0x4010, 0xffffffffffffffff, 0x3820d000) 00:34:08 executing program 0: io_setup(0x4, &(0x7f0000002400)=0x0) r1 = openat$capi20(0xffffffffffffff9c, &(0x7f00000026c0), 0x0, 0x0) io_submit(r0, 0x1, &(0x7f0000001480)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r1, 0x0}]) 00:34:08 executing program 0: io_setup(0x4, &(0x7f0000002400)=0x0) r1 = openat$capi20(0xffffffffffffff9c, &(0x7f00000026c0), 0x0, 0x0) io_submit(r0, 0x1, &(0x7f0000001480)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x5, 0x0, r1, 0x0}]) 00:34:08 executing program 3: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) 00:34:09 executing program 0: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:09 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) getresgid(&(0x7f0000000040), &(0x7f0000000180)=0x0, &(0x7f0000000240)) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r1]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b899367468307dc2681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f00000001c0)={0x50, 0x0, 0x0, {0x7, 0x24, 0x0, 0x18000}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) pivot_root(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600), 0x0, 0x803e}, 0x40000}], 0x2, 0x0) syz_fuse_handle_req(r0, &(0x7f0000008880)="b5de73153fed6bec5a257b04f4ca283b8eb313ee2a8103e5a43c4f4f88f30a70c2e1f6344f9153c3fdb6a5e4974a3f4c31bec55ccaf35f9741ae5f3451cc569d0cf3db9e3ee0160fc66a8ae574404a8c559c41c0319c4e1a6d90a4dff651d72feb0fae53a9b390187dde4ffb693befca556b433f6e1d7b3b0e43de3ee7f3e4e33e3a763493ea4ce234cdfd97645bcd76bf98d1eaee0ba356e17e8db1fa36abae7defae51d99bee9222af5e1b8eb049b29c1d678b424573992b67b82ec49a6f7a8f25aca5fb663f349ca4558e06d92ba52d9efb556f1af092e4aa9b64fb92dc9c728e95883b01d146f7c063dfd5972c127462976a70450a4bb17be43e7093f657f6eba69240639cc7496617db101e888152bf7f5748422e0f6e6090ff9fb2f75200fd5a54256e2698560907ec4fcfacc218529a58b17c9489ea290b7f3e3ecd71b21d603f35287970a2f5c43480550569508071af1c863823018f1abe97db44b7cd977c458bd33505ad39b835901591eed8a2990216ca28de5b055cb4ef328d2efd4f34c75e023549024b2e2aaaac1243efddb3f00a28b0735b678effa14574cd6f8ea05d5f8dd734f8124f50a6bff2deeab4e460694a2e0de926e70f909b4c31ebd475c52bbc8fa9c90f937ce44385835af75bfdc30da1fd4a9a9e0a8bec6667d9103636abeff7abea68aa28c0ffbc926ffcb0b94238543e059736a9873a7dccfa2940c597b63355821131cd45dccbf4ca15ce93b3d64ffe95acb6e97c1fb016f0fe065734c06c79d2efb981b8d21b025e5398593d48d874b9becf57158d3d7a68b7cb8a3b049fc2d1bc93023b4ca3be7477547002a78aa6273e9ee1a72557ba48c496b09c877292497d930e88bf16d36be086a7c78fb9d941fc8841289a8654d0cfd6e8936a8e259400eaf3ff2f7ebeecc3acfebbbe9977f8627f7ff7004a1f37ca7bf2d1203876dee54c023febd1c969b04fd2f9aea745c49cf246a17eefddee99078e14f963acec3922514a8065a19c2f13e4e3a6f79eeda84d7a6fc826c3bed12ceee810f0d5ca4832036659622600aafa24414e45d82a7819a55e6bae39811e4e8a5431ca77ed63b3c45ad0ed19e961b4830a0b4f5fbd3a40f667b4565a1976bac9faf20beba3eb3abdc2a8c5ddb4ec537671245250246e54b514946e8d91f3dbd35b0e8fd0341d9da5ee41a0b1dc00223cd04650513eb6fb049532a39aa91a0a94d39e6ed40d3f1aaeff30a7aa7ac71bdef2cb96e0f3d97c33c17f1216d0c635ab16ed2810e349e9d810d55d9fa66b27886527f3794f9f7f2832cda131dc4d03e126342e3b6dbc9700d5fc6a9aa0a87998780a443906f8a4e4dd83a39f61e6f6daa52eb4557e7dd1825c336cc780879b1d583cd7beb248ee1283d8ae63f1d0f772e619f0fae91cd3f727820c15a172c2361798844b3d5947d348da26d2b4a1085ab119833deb79c8c064514a98ed657eb8d4833fb49dd5734460a601d9ee5e27e03f9ab5196e50b62439ed38b05275747ed79bef558642f6c6a9280f9fedea22ff6569d03db8ce9614b5d027dd8a41ad1e0cb04d94686ac724e06c0e9bda1dc6b9f3049cd263708340e060266daf77aebd6b239d0481c42897ceaf4798a8801f4f9e5f4468d0ac5b3505dc82706a692072f4ef61e2ceb3a0ff664d4fc65671f5638d05eac536e3a2bb74d68b15a830bd0588b1db567a0b9d3f262cb6b25e3658161fea9c8db69a072ca4f4560e80e88dbd6a5f08f55207bef91de2873c9657702f87e7626cbf9c3cee4202979b279ecfb2307f91e95d699ccbf871a143e01d6494574f0f6231895b86bf1aa4908203730208595e48daddc0693e532f3832f5f392b1382f2cedc027bdc4c6489d0901430b873738a3c2bccb26ed60b0f6827e645c8fc771ba9db8455c1f0b4e0f49e80f644dab42fab5d273f57f630aa8fbd9cc014fd6273bf81b2f21f4cd85f7fc8fa0d1c543635a0ca366ebf537bb40e46a41a8af770f40f0bb81eb3f948dfb84fcf69174f1af68d624626fca736a1463453d7b8183bf96ff6b588e4106ff2bc778aec6aadd57287b31e837ed1871352fb2c590a4f786e99594ba9c70ced7317a7a154be1b6cb8f6733cdc8acb60b27d5b593a4ab926fec3e3ce0cfce7b812da7bedfd6567b60b20c3ec46fbbe33373e82a7ff6e75fbbfea5f56a71c7620b41ec59b5dd9e9b88165bd56d390a62b9067779de1930bcafddc5ab601c9dab1bafc0ce134ccf88f6e175dcd2ab95722a3a6e00742a24773222bf96b4f2a8f976526844b57bf51313ae13e58c8e3746de03b05242c17dd1e92e737e92d847cafcf80e7a91a0848f8ac5116b5f8fc8f5a773562470df6b7b5cd2aac3c8a0d82de70db558e918449fcd9582e6822a134e337ae6a7fb5cfb442e68376d39173ff151f5561063492bcf172700c68f39fa4fa2da498d32a1ca46afba99ff72c998138520acde6f31b441fc07adbe2b884cb7667fb199c9b3aa261e9c3cc268d3a52f267590f52888930d743e9fde3b461d1d41d89f9d226cdc41419796aef9394546f9dca4a53008a7c2b535094334919e7e156a774470d4c83b283fb06202122e60713aee0436487839b202e584a57dfe24e8b20631fd9a3431f5b57db1ca15ae2d0e51d83db2a5a9b5618f8b5c61ad63493d566fcdd80cca057544386f6b4ba8dcd7600624544b1bdc19c30b34e8d12b76022eed020c43d9b4bb7885392823551093b075992ff717a41e1f8f76e9b50089246a8c19b578dfb55a6b4ec843a236625e7d63f50c49073d3ee43aab63b97b4a9a4ccf2212b320530b0f422fe8830680469e6ae95ef8e42ea0bc5effea67005453698bed861fa8c382ecc32ea96a1dd9b2eb7ca72a3da55a8ef5c19f3132460f438abbce70aa0b52a374a9f86d7d4d1c4908514d64cc4a336abcc97ee5e751b67c298f6936d4002eab4bcac3e0a55f75af8fe48c90528b93cb90727e2bafc8398846ef82a9e1dbe825f13ec55374f880529070e507541694e401f4422185f8e2a1f67c57339a0465b30784f6cd29106f8a29b024aa77a7531bd11aa5a975ad62e34ed9e43d8508cabadf6f6c50857c4625c3fd004fdccccf95305458e5be967f4a01b0eac3536f49c6deb5436891af77db8dae4195ab8bf2646e50da567be814650fcfa5b78a1bf16cb263cc83aa837742a8c660c39743ab181d7aa1bfb179aef49cc3dac9ca7341004b80269fc295e86209c27406cbbf755905d34559bdb95054999278032581d4c2c663fab7712498059a9b1e179c7a227aa33b393168cceff6939584ef2e13faed03bc3b477efad7d72807ff9beb16fc35590af64c2c5cc5f56129ae403a78aa300752db51d0deefae193b180a3cee4f27c5d07a0b70923a59f12e9352e395572c7aafee7b66ccf1bf459cac60db5cba9abd4ab9876ba725d9026d21f972b2d092cc331cb8d7d61f9cd153102db5bebbcda06315e94fa965f82bf4fa9b830ec18512e21e6d93eca4d1233f638f6d09d0d8523a16f0cbdbeccd4a5a874e60b001379cdebb25ff57c0756c3323f1d36634b477e64b9dae2086a62fabd3a49c4bfe239e56a3c514c10c5e6a36f2d2e16e92608fc169dba04bb952ee2377ece5811ae0a7ce16e88f2018cdb78f9ec20b63c0b8fc71c7b332bbbee4d4bcadd237f08532bcd323bc38e9138e617cf47cd35cb3b64b02a6a348d24e4062168e1f43ae99e9f988b46169060fb0720853ebe594079ff1a7840e98e022796ae7acc2168e92c4d0bd3ef7588ddc42aa3f925f9c160014f5f895d5cd1d481a4eafd3816009080665802b5ee6e157b5bd8ffd7384067d60054a5fcb81115f658c54fcf1099ee4ac0b65b789e2cffbf56911fc4eb218f2c27a5403a466768d9b4d7a72fd94d2bdd75d48083f003a65157e6f05fef5b4ccd251428830d3613a0e4f5170a8fa9e211324e436d01af54649a330faaf706be02f78f73b625b940c0e0f55fa46412a347116d32afb8a1727460130b82377d8e58830822492d1a486289d5d4628ddfccf721cc9f57136aafe66ab357f4515e308a2ad5e92d436e6deb0513b46bef0145dff3771a2683830345802d61c59deb9089ebd3ee1711bb95aa843ea0c796dba57cd03eb5ef53230e5bd1588ff493d390836ff0aeea6c447846fd82e2ec173970403d0314013d0a4f471214e4bbe985d3f62105bcd57bbacd6b8de6bd038eb2e3785b3e19b30aa70c078a0a45f38e059c5a97c8671271c1c28ed23fc64dfe40a446c7168d06a705735d338fadb4e5a4e6d7a2216cf74e7261468839f6878b1c64698066efa6007f2fd0c615f7f2667b56bc17739ce85797fed723e9dcb7dbe31f1f3129664cf4eff652f4d72e46750120387ac2cc4f6d677e572a0897e19d4780f8167eba823e99119f35cc04e198f12b147586766a492bc502d117fd91b911406a7f95123a796424448e6430d282d8375edc1a04d42b4f183227c7ac202daf999af6cd326719233871137e1ad18dc2d73533fca9f90b1f015ba79c25b3739c26bc50923c62690d7d5e5eccdab021e274d500677d488e51fe55787b06d8e6d314738eac4bd365ecb5c48c13257b6cdf3ce282c37ef3311cdea2a604d6775c7721d9666bb7dcab5f85fd32db65c00f6e41e3965073e9d87b97283830b7c3c586355d3fb4d75b6553fdbd2f88112ec7e2e264ce2653a7b7166578a615e5188c54b6176272ec3b055757456833aec7d95b0f36b47153aca45db9ab3aac070793a0dea61cfb46cc5313c8c63e1a68774cda04b61c4ef1c7b85249f6844cd6949b7b126d62b8e378199d906f35e0c2f498772447f9e34b37e3ca350539ee08a4f5262f48bc1ec9bd859dc388453349d3adbc081c9329165f715185c256f7e0a8b14ac9f8f1d353cd63aaf57c0eff908711a426519239cf7fd0c6e872720338b9c177b2684c1a8e00db91a78e82da4094b4775cf0477cb36d8f0b8739f33ceabc57024c1d2148b2d2263f78affb35f96a4aed0a81ca055614111396737025b77cf97fbe8ef6ba51a0f427c2a94d2ceca149a97c5652ec8a530622bf8ba3dc8b9fe1bb5b4d92e7d96e4ec32def82ec09632e18af4defd9856dfcd7e639853e71ad187d91d65d41780ab227aafd3ad860ecbc8a8880d779f2853eb45a41002491e393a143951cfbf4f236e823101c8c3f3d1fe23729d10fa14b100864b44912989ed7b796556150204027ea1d39dc68248da6256e9a1b885e2724f3e4ed80dd24e72b3ea42e9b5dab54f892f0bb8e6be989a9dc6f3f8f683d9cf938bdd6940c914998621e95e6a47448e3f51b76d6b2e5bb8208c69e8250feb94ff3c3df463f0a6e445e1253cd89e3dc80b78caab81e1e688f2e377019db31bde1378b104c20f96cf671a96b23f677bf219e71e5304ae5e95f6e54bee67402e002f28d3b1443f5c3746e1d0af2aecff03fbbe74baec957f86f2eadee0101eb1a7b2d75c3f4596355ea4fe215b997a620bd72d52904eafe811b5a613826c13b5076495fe32de2ac2662e1d7b845aed557e93c7179d9115369d6861611bb7093bc189c60c925f194cb91c609a9accd3aa6a2675ddce7e7ea71f9e6ee4ad6c50cd49dd19547e5e37fc82e84db7b856254a14aedca22f7e95461b12fe4c06d8d2553a74289850854f07504bc49c1f862d0572a8997f3b756f139c0ccaa087931ec6803290a5554ef57ead1b15182ad4c1e7447137c19029012a81a4c6ab57cd3e9653e1679d39298c6cfb3592739436d989568e6a39a1fdcb80b011cd33ba4f37648860a00f3e86904a75111d6a0d97474de71aa71001564e8ba4ac16e6477b60c4efbc6f5ea788985aefabb3bcf26b3e40149e3cd70f9edb3be42f4d1bc1b0fbbc74443f6454ecc57e800c9e967e288623f8848e29d000a93e5cfef382aa4c001db7a98b8155664b1352521c3a8f994dee27f368be3b53f64c2e44113e973222b378e98a0d30b6984f2ff9bbd4b9c5ecfcf0c38dec02046c02c42a705a2f577e79365953eda4799dcf812f4b4f1bc528f6c4bca62a601478200573be61ac199bde05f8f4dd1165fe5d8e157121b58a97204422052e6bd896d0e10404b6d1b0b7333783bf10cf627773dd6ce6b06131828e1f82ed2083f7c2260ac1298a69180fa91ce16cd3796a126506d1fb2b9e0194c6a4d9180e7a6de1496a017a05901c82dc4d24579b73f1fc32d085d252bee6b929d067861ae0886f204dd323b459a6871c538d4f41991e34aba3fec5005b292cedd65c629269024a5a7566578cfdbe5787522057406e0f5de0843ecfa3ac964c0419761d456eebe5d2053c31fd4bad4bf5a0ff4fa704d28955f12c656dd812952e8ba53b1b5be09eaa05d50c3d40cd7af46086c2bfcb2cc7d331e1a6f5b51cadfd0cfe71f07eb9af3a37e29167062500e9808ac939897a60323d650d592d7fc406057ad6c25c8f0d1dfbfdfa1e8e0658e1fe5d76848ca3d418b82ebbbc0cf6fbcbe11425ef8f65a99385dcb9ed893387bc02481a3da5d2fe1272ce5d4811971e8152b661a748e97dae71d17182bfbcc714f8347f6d5c70eb8f64801aa5da5104c74d85e5e8c5741c7ed797312920fc7c0c0a3804c0446cf56a55e046b8eb3330deabbec7f03e649fe5bd70318050928db54e766ba119fa4dbf6c92d06523440c3fa1f9315996bd9b028d9a24171f0d5a3bc088d4c5ce0646d47db9f8246989ee6093ddd65f46e00d6d843e48271dd4ce0972ca0a8f07215e1eb6a36c8b66c7f07378efb092bf746b24d225645041b63a65a6977fc756cacd018d531d2001541328dde849058c80c68e764fa4a48b50333def90870779f5df3c16b6d1b4e37b0248a58b4a7988f9a599432989eb148b6f31253501ca682d342ac3d12bd4b2b1294b79a9727a521ef3048531300a62ad75237a4693720d47470bc4e2f2270c57dc0c36fd63ea46f340cc946936eb5591853c4a0d96b44a3ce8faebbd47925aa38a9c8ef85887b80793ff2c7f6bb0d1fadc4dc01792405b50caa6b7b89ccf81e459318e6685e60ffb44b8c1e6976181a6205963f895a54b93ef6b885fede2fdd8362aa347a3b44e3d2794a8a06e52caf0a642ede31e6f7e7b8cb16b4a3fa3504ac2a466d55d7492527cd3850e30694abd4e4294d0301ea21d54f063a1c811e78eba53dbc4ddeeb33b9dd33ebe5069ce4c49b4282c904dd716d5b7bbdbbc7db6207ebee22aabe3e7179fe41223f412815e6f63ce674a15a650ccd67aea1e3f07c2887b309725808417676b0d543932fab39ba9d643e2fcf5b350316a928a5e8927b37b9e5109f0011a654208bf01802e6438db69ad82ef8e1a0bf9fb4f2642e2505d675070fc261af4cf6dd6a4aad0c5e2608de4a936fd5ab61906cd8ac77d47ef7c2f0321bfda2ad8ff3b77293b5b8c49f851660dd4e256fa8aa938db8b72b3866d6edf49e05a1a6812c602b9880ddf7ae44163a807e82143a87d74ef585985fbcf5100b4d45cd41e6049219dca8f36ddff101bd177766fdf12e865557354ae56fcf03cc52ac6db3d1fe28b87b9e81e41c97bdcb08aabf4f9101b8c36e2b9f3bdacdd91fe8cd62ee58359f60402da51852af189edb9b304453655887eaf5ad971d1e8537ffa0a8911759ffbdf3a60f542272f13af5e7b4b5119f4be2a753a870ddc78921f486f7cbb42c6800e3716aebd64a20b265882e5e0577cf9d973e5fc31addd66b4270ae933b44f23843b3ace5182829c523a64534e1f923f02795d82ef2ed9375723881b4ebb9f37fe942a2abd12f7759793cc2272e4c31e6a5047b269552f4fcaf81ad597c71e126ec7e10339c2b77b75fe2b970262fe844a4be3b16a17733abb30c0efb442d4fce09f2a5462488f6892f52fad9fc41802bd6d4c738f0f8e77a1b88672b397d4cffdb7f5facfb05fe9d16b755acba9a741786ab6c0556c6dc28065d8e91b8db9bbfa89adaa99ff9ac0b06e0b51ba96efa435a75224142a90c6e7624c068119bb64b8e8f91728b466b9839d9c27de01d841c4f022eeb09603f3f09e11b7e82457b30f944387d1c104a5236c1f855172fea13d8ced372d7c47ccb60a3f9a84c5699fedecf5436b947c44b1c9cd5bb50a2e3942c342fd56cdb219c2d2be7cbab92ce7793573111e99041d1953193b6b7f2531c25c1e51dd38b1487f8795e788b5ec831feb7faceb44bfddd1b98635e191c36e38b1a93161a01328789b1820677039a32f1b11c611f8fb1c70b88a7609ba105fc35de719d0924cb1286d2007acda3b413d18f9956ce1769c4c830e81fc5dcfb05a6f6a7c673e90a9c92c85dd6d92ac61ca864a31a497cf15ca69861b919802a814540ea87aeb004e940d4329b203b78c6ec5de30242445623d5ed12b18697f11d80c96501318f02be34a79da47c08d60faac0f63b82b73b37e9c920bc703b18e95c9870034ae530332f99a0409ab6802a417de73611e0534866a0e85d0da4ee74f48c5671554e7fb3ebb52ded055060e74a3b9852485e162783e1d1096ae78575cb3bc81ee972b236589cfd47d32003469d80adbb68044d7a0016d763e04aec6f704e7b05ac8aa7304dca3bae930b447a9737ffbb4e43d6562dcee663ff9af3c1d8d9d00f4eb2f5340f8d4d932a8f20ef3ee87a42cc707e345f49092eb70f8a59285cb62eb9c3040946658a6491b6f3e773c73a33f1fb905a7f5c487406b16f6acae38b44818d18a458a593b5d6695e2483ea871f10a549244c4bae2edca0574f9bb386e40b29ce61ac4d085c2ed387dc8ce0666017301c29759a44484ef0206cab06d65d026eef3185685ae9881bfac1743742100ce6f03713d4b549bf84f9eaaf73cf29df2e5ec97d270909e8c3f06cf485fee1b7b0e6a99dbe331e0a996cbff9692691b2879d2008af50635ed6288eb9f3b8d43f33c4e90850e20477bd43ec0570f3757fd4dfbe1e09bf23ca7a49cb2ec475345d70d5b3cd13859c5186af70bec70d6c867feff382159a9206ce12871919fbc99f80849a65934405957dab46a114065dddd10876bdbdc1847d8f317911131b6a6aa7902fa1b9c39370c8aa7ef216ed444524731a1bf152bf87a0f4611bd7549ac44344143d00162f56ec5593f2f5878033dbb7c0064cb67bc290b428df350a54fb74ee8692945cde2929d93ec334a6ea4911ccbef1c3612d73050cd8c14e212fda03bb95d9f7117479a29d40026ecee0c001d0411b466fe585284be6388286016e254234a68fe88f91e9d1713669973060ba7f2b412b62bf26e0990780ffa4a958edbf76e9395bd09e67cf85173a06f3c97f66e482a8917cbaf7e78569eca71565c32d365f0656ccd8a8ff3e478545da82cd34c178fb008aecc26df9ac572955caac9763d5631ef5899c33ddc2e128d53c51b6dd2752db2725a8b438d75ecf6e521b4b189d9511b1df69feb1c78c28c7f511d7ede9dd6856aec54341b6f1c22b881b8aa0e90265525a8b72cd3afbe6934dc97743a18a9340be87cb847c6d484400b20017190f7b7d8b5cf9ec759553b427ff8e34fc2cf8ee952d014cf60d7898d5e97c4c1b3a4777ded26fd7cc5c92a2ace2b8044b6dacf7edc7c7213a898ddf8619361c8cc9753c85ec77e799cf66913b3c96fe71aedc076329b66e51acc9be608ce3e4b59573a1af474d441e575cb708382f44ef4412d3ec892933bc694a03eab9b68ab947f250f1b4d286f929067643c49c9a6d58004f80c915e3c44666fd8b6976c28fac191b2449726762c2e8dbdd67cca00335c66ddba21afdd18bc56818f14abf2e096742e46984b9a9dad44f4321c969124cb8ec2c19251d864cb07648cad5a5016f69c9dd4e360218c45e589b781f1cb683946c106d128bd726b57613c253ecd6f58028be59ce7ca872bb16151938cdc4da93e8fcccd60aff90ffce6bc82f2ffebfb069a73fac0363d351bdbd5903983d7de9cf18d3338bbf10e766f5e106f514619d03d4335bba16b209c1ab4dd94c69433537dd4a15571c9414620619b33982de7d05313c588992f88702c03d4bd5a826b2e6b6bc201e923f7726bac3ce094bf0b88c8689d92ba27b5a1a15bafac1d1292d87794d9b1b198f3a74ab85f9332a45e7a229623a4c4d6b76d7b7fa94c7fde26b3ffbbd510357077c31c99cdeb5d96f0664d59b273227d88f8ed78fe5cd67cf86224acbfeeea640f03a126068187f691981851b577ca2cc1743437d8c4ea011fa468c4b47d259321a18f532dbf48fd5892df8443ae57d000bf1d7daaf7b4fb21cb5d17292a5cb77d11d216021c652e69c6342eb7e9d972868e4e043a6090d57066f3efa815305260ee9d947f9ec9aa2c0344a8b907e8795a435206d34a87fa7a24b8bafc7c8275ef61a73bb64f25bd4b0b084c7269aec70584c51845eaf567bbd022242895e871b916cec4c79570fffae91c92683ec6b24e2240972d81976f8f896544dab03a5205ad0335bc7778b4665b363f13524da801075a132747ae1f65d4acbefc09bf90719d764abef4a6d71940a8748f16f5aa3ce7479f8e1cdf9ec42f2fe0ecee39b71ec6a488e0aaf156a1087d72d52f817acc733feaf0ac5707fb89a4aab0f1bb319b9a2acca300bfab92d1e900ea2aa95421df770c1d2ef2a464354c013421c61426814e31299dd84a705012f563c3c70afb7243efad934131bc2b88c7808f4ea479ea1bfb5e8a7786710e3bd64fc9a17538eaa51f864b0703f1ed0915d1777954d1bc807745a1badffd060955a2c704ae2751b23ac8929dcefbdbd7d5ac2263bec4eb40480b44d6f16e56441ce55ed31d8c94eb5efd4b6c4f9cec7650cb2330d429bd8151067ec7b03fcccd9a007c1b5bee2062e0c9830bac08e32fd895841c8fee2168f647bf7496f0b9e77146963947019ea04a071877120685ab6a75783aed1ca894847f22dbeb278c97cc72a616ee58c0215334febc832e199c562386c77521162c9f7e2251b5811e1fc84e74c8729e171ad41823dfe55e928dbe10209a21173d7945f77ac5e30bb18eff74569f4e0c14fa4d8dff19d0ac94fdd1e44d28d60d9c984970348ad2c9d57d3d3f4abb0f19ad21f4bf498b972bdad3ef54745dc317c73ed2dece485f95d1724dc329477913ee3a2a6ff99ddbab5a1d337fff7e82bff967b5572ec10695300a8fbf8594e94d12ef7aa89b1947576145ec3215b1340c2a296bfdc7f59952e0953057b39c8b187bc4549c8d7941d5f887ca1782f10bbd965c1830ee4057b7112fa241444c2113b43aade03c27306712dd0f072f07f25ed06267e0781871fb231714a93b2b89105d3fc10516916a748cd0717cadf91b9c5bf5decbadb222de6559afa8712ec87c7b2a53e62c42b78a2edc1cd20d0539101561d8c8bffbf92606061dd506cad7095fdc0762d61989123a917bedae0dbe14b09cdbf77e56bbd82907d20065c7f54a4d8688f6c73c855c6e7f2e2ffa7c57a9437ac5f57ef51e6915dabe19fec87ea38fd35b01d173ac94e2d2a66e8a3d6efb621f63c747430d2cbd5080f6470979f402e81448985f7e321df88b1e0d2a0ed4680d4e0520228b55933794b6d38ae91eb149afb605cae6875cf666a7d0076d4898f30af6566d7747df4d", 0x2000, &(0x7f0000001200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000980)={0x90, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="e3f81d3109f9b81ca9b444366f3d22bc6bfcd97af568957692b6046b5ecfb205004ae31361debaae7cc55928eafb73e566c0f42b919a43ed8606ee033ab080dfbc810e95c8378d484ffbdb95609e8917647e1888a590957bc7ea445e0059a2812ad32bf1a7f924744708c1d04e35cac61c37db4a345ad00ad6def29de90947271d0c2782cbc7d4134ac2dc6cb28be59a96489e9754739e93611a988366377fe1955e75ed8cf1c124b969d3d5e57ea38c7172222c3e2a6ff15d983bb9342f0a611f993de9bbce0423ccfbe0bfefb4585b0f559f4fc56c7d8fa9a31834df5aaa122c1fa3eac4cc33196deb73c053d89b4c24d8083ad790cf741d1531aa3d5bdac679895cd8b3d8ad68402dfaf48fec06df1ea15f42f41546cec3136bab2e7f28b4a3dded0a267e1b200cba99326cd2ecaa231b327adf74a0f3870fc2cfbcaeb49cb9aa1d8fdc3095e63c0c8ce0636fde80751c4de3ae946f48a31d51bb52065fc48f5559c5a9b12f482f52f30dca9f4606329082542ddb1c967bd06568270d19099441eb05fc39a964c4fd0eec8b89d06ca0636f3f8f6990a6891f7b58df5725136a5459d076d6408efb4c4696e49b159e64e843bacef2d18fcae9f13de09943d9fd49972e6534fa31dcf91645b6ecfe3f13ac65e146e9a5f1091a090445b878333ca4ee13f308aa3e43c15fd33859cfd0db6d52493eea2d65601eeadafedcd90e8c7a9f2289aa797b8236cc76d61ea5cff56522eb1dfcd85fd0a5640417e256615757c3760dcc83bcefd152022e1891bd2d9573b6277963291670072b1967f80af93500f9073d80b71d377b4516028ad3cf3e1e877f925f27bd949ec39e3813c279924d57dc66b019fce854c1f874c2cbc168cf4e2e3f28c1ff33bd51dc7ca4475116a3e333e789995bd4f94f649bf280c9896d7c9f3f262f6bb301489d0c688cedaff837771db2dfa165b4dbf7696e8a9282dcfe610b5207793fab47ef871d40728fdaeab4f36719988cba4073ab5f6010d894cc89363ed00fcf97ff4ffd131b4b3a2e31a81bfdefb4e686bb8f2b530f7cdb3b4386919b0c58db44c50ab73a652e515bde3bff0ee7ce33f4d059a2694a81aea7dd4df89bd713bdf001a5e07fc569334eddb9221fa45ab06554b8703d65b6f7a788e28a5b2c600805325dd92bbddcd07f38835a92d0158a315a04b4b31ce3026fd78ad6b29dcc4fe1b9a1f0c8045d2c17d2602dfb9f54b8882eb0a5183263d8d5416c2335742c68938340202965a8af73f5cc4a5f347b98662a24c927c86283908258d4da11a81ea4b6fe1837ac2ae71849ad3525633cf89364b77c8cdea83b92a6cbe66555fdf32006e1562dfddfeb4886af915481596c4c76e6368d4fd0f4e407c6d089e3eafef5e24d8cb4f4a1fbdd9005329b03ce1ebc22881f69b47fbb7abe9a39c1860f2f3f6612b53ebd63d5abb119c71f96599f7129611f569f4d720c2ad10d8fd9d1c071d4699c7b669418dc0d12472977d12903a6eda4209271cf1495c75f1329bf64b4ab0c31a37a09a40a9a908dc99eeebfdc3e8b2daa062b2f1abe23b0bff3ef00642f37ddc33f978225f881045134d499c6b7d747c0bd697f1735ce388ccb45b8bca01006066f8a274fe20eefdf25457f6ac29bd2dd56fb1c659a6e2f7476a583c47f911cd421fd627d97c0d88cf8482463bbb889ec07ea486e98dc0c5ce2f7dabb329dcb3e0570f6936f0d7cff623d51b4187ba421ee66ae3977c6d85253b517be29f38b7dde6573d817ee506ae5b8e34e597d400c7d7d0e787dcf2c6106b7d066592ef1ac576377f2f1db4d1963ebc30b36cf8140d04040d30dbd6bcf99d604e661b17e5fc92e275dc01d392628658b00e57fc9fc8c3f29e5654351173947682952a300c06ccd9f00bcb0c44fc710452044d66040205545e7912b2c9922793384e6f6c592d857860e56be31988e27e3d0bdd2a02844ee3e6072f11ddb65f2c49a6b97560c2af0b85dd157eddde77baa0c75104e6cbc6631b0326d691c3f2d4bb1c89bc68fba277a55e8f501008900d6dec8334439b7236d3a076e7376584829dd05ab808d4a33021bcec6d7acb09a80086bd7b5fea2dd4638ff9243f02ccad1d5f539a509ca9ddaa406c1250dceec1b41e3f21a53df62f6f630ecc86113035c994c71b5ec3764965825b2f58f9efe4a341ed6bacf5492f51ebed841a216560ccaed8cfc7f1fbc88c7839e11ed2806237acd973fcd30bd122e2391a71c11265a6e4d7233bd9d871cb9ea98de55e657038ab1710db43f27475e9bf6714b5ef64fab33fa151da4f501f601584bc3f2c1eb5de5064c64df4b64b0df634e0b694e99b83a594e06bd5dca4b72b91a94ac8ff56a880fb7e97df9054d25306b179c4c305519a7b4c9766171cb40bf36070aff0a893cf646cdbbe941397899b5f4ef8a640616a6f684d1394866bb0bc0a84af20ee1b54c6c3ef7c94b38e90753a2f16957211972de2588c92d2846ef716836ac359470c716fb04e603741236359cb252b09ad300c63b5142e08eb70878c1aa37671752d55ebcd780d32e34320fd78779ba7dd1e914c0404b25642c3bd8a4e0680b254691adebe6cef5008d5cf164a240c44c6d59141e33a4952a1c73fb8cd4f474b3eb8d7fb13bac009a8917fae50cb6be5db9a21d6418b71a3939e80fd4372201857bb43ae65ee5c90eb36d27e499f7a84d0e6366159307a824ce198a7671f44e7f370456da46e642308fc4d154db15b8470e89cf23b61df9c1fde97f3227e16c742c79e7d41fbb4902f76d5958813e83f07f02881e2542f898f7aa31431cd35a22d9b6cf3b720f9aba57d8e7269a0f8c7a780c59962faf271c90d7e43a1e9b76cc3168de9b8cb9795f96af0cb196825efe303757d1237f3ceb6a1336bf9d893179ce18397e5ebe7ce7fd2a7fd009d3156cc3d363a8f0da9ba2f50cdec0720882265587e7b79e868325f76f2b056eb23d005eeb9a7789c072fbc1b369bf51bd82a83f88adf4802a9ac516e5d50e8f318ec125a179b616d204264d7ea698e457ebdc33737272f60dd6d8127b8b252b43edee1278345aa2e7ad4dadc55a50eabc7276e44d3197d3a636ccb575359b9ccb629cf16bc2f36263a02dc96e19b8abdf9f69b91b3e0f4bfe7b95b86e35dd29768d9f6e41978cca21b24b5a42314c1a6d9b69f7cc67686a89f3d8fc46b59a91b68b957c27bd8c983d5b0d73726d94b59079158930f5d79034fd4c4dfbee80874ef19074e53255fcfd84ba1ecdb717b1a00c9bf4760512bb65b9b4851f08264901904720c59c0ab7a62437f3bdd2cac317b4cbb930115a723c1285a948afcf29c9299c9833ac7081cbafc91569d862b1a446aec775e79f5e8c358531f7501c12015855a806c3fe3660b852ce8ea77f45f649e196845e5137ea0039585c562e129ed4bdc64833b2be1c720214ea1f6b8e36683380c0631a2997e73ba99e2afd90af09e0cff96b653b68d05240b0010a90117f4e2a711dfda063fd2944c353266e693c580cd77f56c66538b57dc7436c002bfc0854a927f572943066b88227cb43c3baa9cd5ee2fa6f13aec1f186bc268fe035c299d2020373da6eead145c649a96dd8879e5954acf58af6fa36cc2d1662f3c31e0a5bba511146ff7c287725395535918c9d7c952a55b3fdb05eb66225f9a42469feef000e1a52617b10dbe36dd94f912dd712c7400a9958a25c8d83ce6ba0965a0477ce3829fa2a4579211b6fe40fa276e51e470a1f9a789f9868b6eda5437b276de18421bcb248b67c4e5fb0535b630db4f92c4e2bd28cf645371cc83694c52944aeffd13841416a7240ef8e1dcb37c71f1a38edda9c93a8ee125e7bba125748687cedec90d62ee73815be913c1fd2a5f0a42833cfa4894ba8eb5c377d5a466fcc7e4a75649c3e4a3008ed6eafed1a0f818804cadc1fe1dd2c13d21288b5399ef7fef5b5a1a5df6336272259f2f27d262e5bc6656613083758ebfd712849d792a2dc699fab711fae696baa578def93325fa1e88472c3915abe59c440a6f19e895805e5ffb4488bf9f61351f4db8439a091bc7c994b755fd4ee7e6f99fe53641b5ecdea577408e6a69e4b0e0a1c5d300a4036cdcb35aeb548123139cc10f0aa96ecea31026fd84efebea18e00ef358b9bed0aec3cc8e0ea3c734f1822c807261d3dc5549e8a3d58363ef50646925f305e5df01e809de80b57d34ba2a1326479fe3d06ba967a0f21c59f3f2e707d1368ff4f2b7b244d4928fd76e0940487860068294ef55f1dd0dde1a7fe196ed651170cb800310892d79f523550747ba518209acfe4a32d61c45a8b7b561063c1919509986364311e71f820143832b36a7241a7984b5866c8643d4cfbac116cdb65a1e36922322f05e3269d75add7aa828af8e8db87975a19a22a4adde6240703619b6be83bff5512620a7d80b33ae0d51047d27393c0ef73b95f301ab4c81906d6da0375b379dfe16a031c72cc6270fde07b3a66fb88de11352adec0386a8f01a27c4813811586b66d89adb421c688a4139f898bed18068e295cfb1757bdf2725a35fe2f04065f38e3e0b5c4c1c372e628ba35d52b29477bc72d8579eebb86b0d5da5f1d8411da31f2afb92e562cd4b4f83ad5e1d34d37d696ffa54bd690e760eb93b462569c2032aac62318c4c64f039b7b5cbab7d26a4ad441129224de9246dce040b508d27dc9f56c499ed9d1cb7519dafe868650f4074d593135d3c96ed33c17314cc07f280b51afe53757e48ec621d46e62b49896cc432e57a6621c87979c997971e0517479fb80565daff8acbd3d00926adef0a0fbf2c541a4a20c2cd35237752d3af827037bf1b81c1726f062dd687ddfde53255001196c871d23ef609112dbdc4f80fba2a390e93784781180a02cd54df881c9cf426680c10615a10ddeb430460787647bedfe4a7987f0bb45d77594cb1a5c7b671e897f00d2cbdfcf1633fa6ca2f75ef6310f40b6b2bbcc775b6bc74a4f8781b280f06d5bbd571c093f9327e0cd0f1618c1d373f564f959ef8708d17ab7f5275e8ae105181f0a59af33fad84dd8386f52562b145d34c511f6c0db1d46709e4c8deabb0c88cd4a4fdede19292901aa9d3d2f4ad011cad851f4d3a5417f41209df8e83357e450c6badfde2d8c6f94bd2a6e6b9563a71addc19fb837695e140eb338d486fbad6e13ba3e534698f6cf0f0f12f412da79d656769f14facfc186a1c08b40c8ec642d83025604c1d29f120e5809769e8e1a5fc7a5795979ee6274a9999ecded6dcf5c8c7c731b0b14104d4e942bd9bfe633fbe7eab254b028c306f7fb1edb1e18ff41a1f7911fdaeb4745f93ee56b3bfc4b6242c9c04b519af6f4810994200fd0792141bc6ef3a47f495fd63dee3c2da58e2145fb2fa8c91f15f8d49d3f75bcebcbb2566cb3258538d680172d0b3f3fa5c6db91f1826968cf047620b43680dba40318bb76e6d11ff8a2584ad03f3ca4e963b5a1fe4719b4fbfc773880343dd596a6a2b1383c888808981b625248bf0c4b1baba0c9565b3be84441fe08feaf7e278886ad249e7ff8ec713091d7a9a51d25d57f3989d31851cc1e46c4165c6c2548ad424529b2b745469040aeac123b26ff4348bb4a232a73248738a8db9b37ce44f136e65f4213d2eaceb4e823941e234b1dc7094ab973ae76f300ee4986f11a64893f28ba3de9cade63bc2dfa7710933a30253203d5fa9dbaca9a6a493fffd8c2196e52a25bd2272de976ef23ac250a4755f233c15c9bc9f278ca29a57f55bcefaba4c352dae4d90f269c5d4f8a3ec03572bb6d9b4328b9505232fb7f4c95be407792bb6108b664d472fbd517e646c19257bee532d15298694829dafd502fa9ffa6bad1ab3ddb4194c80c8d514107b0cafa9ffba1bf455902bf8d43c0dd29c4246b26044ffc503388c17db0515e29c4db5b4d97a3e4799d3f5c107d1fc264b2a6f21fce1767ed427bcdc9e30246a73c3712859439fd58f9c588b0dea79545920a500a029b2951b7e2b844621747309b765fcef88617797c31fedc6721f71b1ad1b93081479d000ca4460210013d99cb943ae0b6c8cf38b98c64047db93b3ffcf767b427880897cd3dccd8f273c0de8df221e114cbfbd5c189a1930f8ef09a93d9a4e16ea6dd68b0d93fc65e547f3f3cf0eb938f75a78a0d9c151d977c2ba956bf7714b3ffbb1e1401954b70e1ea879109a3ba5c7bad59505ac9f4056a38f5163ab4997b542676d1e1c91e66c9397ed53821ebb6015406fa568c9da9cdc7fef27b7c510bafc6457d2f83d7ba4e001dce8bfffd1886b8652038fee131e7d13acec7f417c47e7504723f98a7e1bc5b674d155b941d15311be83ff30649183f1c3de2dac4bdd0c1866091e1eb032667a191aeb6f0d359f66439fc23b64c60c6c55723fc0df396061066ee6290b410c71540ef50f2ba5560efcd2aea0a196c6d63e178d67f09697f147f4acc13b18ff4623f403f23fe4bb37bbb547575b48daa8e227e28084156dfcebf8f3e8ab7a4ac14e6b0a0ad2c281a8bdfa3da2e0fe5469aa3c530144dcc5f7168705843180e8cbee387e4a91789f959d8de9b0095b0e0c249ab77f55db84ed4863ad0b918b28f423d6c2ce75ad7efef6849acf2c4e61ef56e81dce43e90e52d1521f3eaed340b87336537eaec4fd78096d0617e5606e3be5d461ebb5f203c1d3a9334d4f9172d92cc2586d94a96d00d6eba6972a431ec0567f3d02c3f5bf172afb14b80588b1fefe63882d6657d161a88201e24abe04f2cc6fcd5ba40d0aa2aecfb79d407ab898aa0b37194b1d710a34fc3ffdfb0777479bb330f1e0a2142a26b9af3ce0c6013a99bf4fd6bb907c178da07faaabb46d4876d8f4a42be289c6a5d7498d78cfbbe4505824d208e59d05b00be6ca5abaebfc6e5a0e122f4c929262f25a5ea2f4d7e112edda5e6dc1c0518fdcd74d5fc544e88b54a3b0c321f20c696a4b68e73558e6eb46b8d8cc1598d0f5e28cddf47084c221be14e9b8e37409fc9a80f0a4743255ae659146b5ae61bf3ca2b3f8b6618dd6246aa79ebe9a86deb812c1bd260408e75c700007b360c798d770487393e310d44cd80be012d700ca1ef37d9cf3bddb0c13e88df872e9461ebc93c4ef54e1f89116b62898e852cc3934a0cf7d972acfd1db8c6faed41f936ca62ebdcabbbd9e5585295ca351226dc82e3e86ae09c0cdec28f17c72d343b3c2ae15ea13de64b7c518c75b8bb3b7b8d2209bbf2fdd122e8663523801d9bb58cd666802be53852c01568028f40b79469364a634f21b672c400b635939b7755b9f6511a2fbf579cb0608a055daf505b318462cae12665f0b78dc8f56d3957e59bdc1b0c1a6a1c1de4b1eddd73cee2a0274d9f9cb38483f41d33d3bc8e7ac4a9c31f42a3d61ff08dddc820166d6238b9578463236e579af2d6c0e92b549074e30146ca1c2cb0824003d8203ff65d3385e100c747be9febcd734bb0fa6819d91d6074eb9b2a9db65ad31f431a6c1e1813c1770dbc263b2959a6bd76a24d76dd5dac5963ac8b4de0566a5b63d681590d7d16705e96c0d6c2e96cb27dd96f14cbe3344a3d4c5a0e12881145b66044078825aeecdc2cdffac9053b62890e4b1d395196164228df9ede204fae630addc1ee46e079d1e0553291c2dd61c9d9974118c737b9f9494300982bec8033c5549dbdbaf7249145e83c206a464b54887017b711d40b8c5d759c6d3a77241d13372c61f450f850b4e4a666da63e9333afe0227b3fc280c0b425e3343ba03d3b4de8344edcff244e88e056c6f9f0ca6c6fc4a7f3dd25552d8f96bace87b8c0b243787b094aa98eb80ab9f0610afb843adcbb8b6c0944028952705a838f08e2dff95f75119bc2a1cfaa671e0dbb5b9785886c60434078ca34c488d5407bbed68ef8d361e4b492e857f7eeb8e6ecb325c6452b866860a8d75e5cffe07d02e39333cdb9c85d8852382161c95ecc34a50ce96e7729bea1177282a222d195317a6c5139dd04afce5e0223901524adc3e07755df71eba24104265ae8b100c761a30f6930fa967f54a1ba16429df0c77ed7b97fbf288d9f9e5d9833382ce889cbcd2c10d44ac924433dec77e5b46bf55a0ad489e31d3e2eecab7797b991cf926f0ccebc37bb69690ea478b5b2cf9d1f8437039665056d8fde3200c74a8e5a21cd02a1104764ca6b0c1352033fe5e5b63764482795e8e6d4c70c5a505ebc7bdeac19c95b77bae58de0e33dddb1aabfac66bc34bbc7959a01438ffcef31996ffbea4d5cfe6babe805cb86aaf12a4e37f2bc8a518bc80011a1f92134bb130002c9146ec7152c2853d4887d2d53385bbcc7a1cdf349b56b4b9e64c70beacb3d2f0bfe28d6b3bb400865d621e344f664b86c0118d48128a7a2ef655498cad86e1a8b537a2def6b7059cd0956ed925844efa7929980a66a8da8d9b3f8767fb723b671ebda4dbdc027bad87e5c106622d4cd4c3ff46e10d2a7dfe285b7606a61d3a670e0403b8265f1f19c2679c97ceae2bdfd788b9a68204947dce4ae490cf5bc524be7877368d040d11d0227566f5b1c850e86824b2811b2d5e7abc4d9296cf6c98d3889457baa5c082bd44c07989ab51a120d3f5d794b9a36255071a3f1f3a4deeb4c93f78293fbd4770077de85cf885069fca4b9ccc3039fc52b20a43a87d50ccfab8d3c94f443196c4b87d93f6503611db498a993d0b7946d288b067fd392df3bc0949dec993a7ce7610696b651e94ada5795ae6f101b9348dea056a7cdcbb5342ad797dd649a8c67724dbc90a98145074e7940630af1d8ba75e0a54a9238b1f28b25cd5e5022eb312bec19e83915effb26e8b3ac34e9e65beff0eec288f46a0eb69c5597ede7479e4087daf08f96816a5167a61af451a432a04cc4a23dfbaa1f9077f4db52c6c89c8e9eb48baae673c123910722915de07f6aaa5a8e9c439650cbb2a31f72ead72925983cceedd8fc13981d033888e87ae4d75be3c13a6a57892edbfb9534a50334c9c92766c190c46322502a5c98018bb2a9114f290419ba2d6c9db4f1219d6eabe87d33d4206d9b3423e3a4d27deb17d068a5d827fbd0e21d378df4115ec63575406658b82a933f35e805405572333bc0776de5d85fb1d52527a4841a0b08116ecf899170e5f5ce61be7c636fdd863c8588a6f8dfa0bc5a6966059e7c8b5ec651279343ed964f0063b07e7f82b9abc14ff827d6e5255811ee140d9c6eec3d5fcc7dd335d53741607b179b2d8e4f90c6bcf2d952a35eaa11d4e47f47018b5e1ead999def1cf71d933cb9212e5f690b907c95050e7bbf61686f9b615ec75a4c266edb8b007d53598fc64529d375c742cd6cd08602aea28449ec63c39f692a8a84915e90d8cea3e857c004c9341bde7c81e7e312d61d1313dcbbeaa5b8faad791e9dda0f709a35992840bfa7c5d6b407751a70c1a690dae9fad3cd796f4f2e7616fc2c704e72ed15f2ef5c84f73fbb84eb95e6f4585c6d098e8bd9df87e45156aa3c3845e3b550b01bd1c9d161571daadd4c8f73b41945f2b569eefb1167a2f6e2881d61e66dd311da0ef20f996f242fcbfeec2e131770757ac0f85e5b08bd268332469eee28ce60327973b26cbc8a8f762e6cd48b0390ec758b52af688218dc08390abf7a0c34a3a1505e24e241f35418949e4ee87155b9001e62767f7e82443ccc68aeed47919f5c8f484f0d83b14098165fba5d9971cd6846629ac1b15d1ee10df4ab76823533ee9b4409ee93badecd24ee234306ba5e07f847f99496e2a7190076a79e710396d5005cf1d84a488de88938348e0cdddbe9e3f352c738b19b20aab2bd908469d70d82e0c0a1f827a96afe48003178dd34af11bb481a2be4bec9b55f1e5b19ed316ca0dbf43c1fe5ed09434d877ef7df1add887f8ed292e48c56b5c9b357d486d136e95d93cd9f52bad75b2de599d23ec52f019ce620f82559951c5544e63daabfbb62c638b3dd3bf8f6fa903c673deaa3956a1df7dc67c4abee45a7fe4561096f4e3407b61f4618556190d0038f1ac88f0d0765ec917d90c9b54027d22c8eb0561cb08cd1f9291a438434f44f84029fb37d608ce4bdf9c1011d15e9859f84dad2487fd19019015223dbe3e7475ed52c5708c30a8b1b69e1c97c56c2cd403a145d9ab11966490d928313ae0585134de26c067061abc932867eecc40448a1e1566da23f0dd6c89e8b7ef7f130b55c3318a3b361567029dc72bc4ac98f20cee5613504b3daff63f8a866a6acc8253b7e3dc9ed574694fed999048ae352ce11b480f75b8d204555869a69a6c777604432be71a4f452bcd2fc0569a6f3cb6c5876f821a47b868425ec8d10ff8c00ad915337293b95425e1d1523d6353f4073e1c7ee06756f3b8f5eea1291e86db96c179b63cec93d2f192db23cfadd7ef2b661623c929dff16ff5bb59d6cb8917e4ae9acf43b27051ee7eab65fad85dad3d2785272d22cf122e9913879473f79ea64993071505d9b2f3a1231ed5a5cd69351539378ddb766f7fccd1ecdfa5e0a95ab4e95e3146c0d3798e4cb41df4f8c5ce2ccb4ed3efb4ecf7f3f7a732e853c8e51d223aecea404c9df8825ad6c8cfcaca7379166f74ef77b3513e4ab4fd138ecd2378933793d4cad7f86469fc1671d5466a63f1502ca4a492eef3767719db317d0caff806adb5edff78e1721bb14598517f4be09cc0495b504b50a957057fef40ce535bb97436fc3a0b00aab56c64e9a5bc78e94a3da17897e7e02f23d2982b6bf7bb0e2cb8ef4ee1e1233767947a22111409e7c9aa826c0fca8707d04460b548c9890275b943ae537f7811f22791dd66488945cbf9dfd3dc2b516af469826074b0052f6083c4af8ff5155d4678ce7783fd5929fbf8455513e803a874eeb3cea127c1c2275d51d43896a6de8733a85dcc22a0eebffd4f8ef20b20f1ed60433cbe0f56c786aaf88337d69008b80447ec21de6acf5e73e7594e2e0ea49895064440b8c63f87fca4982969ef5be17a6a4062d1c4bd6de2a56a2f67d18c9b37f6c9267b488ab1b833be6025165a64445a1fbc9b2215d32a9e925a886098619bc450ed14b0d51cd3d5b15eed127b6e039e72fc2f2467ab04b2e5f27a9586142039e73d5c9f55881fb20ac785807177d207c40d873fca84e58bf3a43a4ac9d1d30cf1275440f10118f0ae3a3e8bdea24081177bd0380c1dbd72abf1b2484920ebe79cb77b7cfcd9844e04b5ad7e8fcd475e899f912fe697b7777ca47e973e7ccd546439fcb395168fcb37e7ef0bd2564bdedf34b74a8bec074fc1c9f3ef7daa114a8d0c66f2e3a0304f3d0c9e701aca4a0e8063433783e955bd271c4b5e247bb0a2ed36b5e57fd43826dbfb724ce34a65fe3c5979ef531afe6b2365fa55cf01c223c4f44c2ff6042db61ef97c1cee8193fcc5f6f2c91c7a65a42ab258cc4943b80c403dded60e0014763c8bdce3376131658fc4672b20490c4a89029c37c77981926b9575c35cfb80cf89dd57e3919d85f57f51a04df0812cc344f8bbfbf88b530485d0bc80467839d38b6b85ac667a176c5e707235dcb24b7441f98be8e2e3222fc2e5cf2cf28153baadb6f15cfdb685d58c583065c63a7afde5ec", 0x2000, &(0x7f0000000d40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa000}}}, 0x0, 0x0, 0x0, 0x0}) 00:34:09 executing program 5: socket$alg(0x26, 0x5, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000100)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) r3 = socket$inet_sctp(0x2, 0x5, 0x84) r4 = dup2(r3, 0xffffffffffffffff) setsockopt$inet_sctp_SCTP_ASSOCINFO(r4, 0x84, 0x2, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0xff}, 0x14) ioctl$FIOCLEX(0xffffffffffffffff, 0x5451) sendto$inet6(r2, &(0x7f0000000000)="ce", 0xfef4, 0x0, &(0x7f0000000240)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r5 = dup2(r2, r2) r6 = dup(r5) recvmmsg$unix(r6, &(0x7f0000002280)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x4}}], 0x600, 0x0, 0x0) 00:34:09 executing program 0: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:09 executing program 4: sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) stat(0x0, 0x0) sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f00000014c0)=0x4, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800"/11], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) open(0x0, 0x270000, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(0xffffffffffffffff, 0x4020ae46, &(0x7f0000001b80)={0x0, 0x0, 0xd000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) bpf$PROG_LOAD(0x5, 0x0, 0x0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000001480)={0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000001c00)=[{{&(0x7f0000001a00)=@l2tp={0x2, 0x0, @initdev}, 0x80, &(0x7f0000001bc0)=[{&(0x7f0000001a80)=""/63, 0x3f}], 0x1}, 0x7}], 0x1, 0x40000080, 0x0) ioctl$sock_SIOCSIFBR(0xffffffffffffffff, 0x8941, &(0x7f0000000000)=@generic={0x0, 0x0, 0x3}) 00:34:09 executing program 3: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:10 executing program 3: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:10 executing program 0: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:10 executing program 0: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:10 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) getresgid(&(0x7f0000000040), &(0x7f0000000180)=0x0, &(0x7f0000000240)) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r1]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b899367468307dc2681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f00000001c0)={0x50, 0x0, 0x0, {0x7, 0x24, 0x0, 0x18000}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) pivot_root(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600), 0x0, 0x803e}, 0x40000}], 0x2, 0x0) syz_fuse_handle_req(r0, &(0x7f0000008880)="b5de73153fed6bec5a257b04f4ca283b8eb313ee2a8103e5a43c4f4f88f30a70c2e1f6344f9153c3fdb6a5e4974a3f4c31bec55ccaf35f9741ae5f3451cc569d0cf3db9e3ee0160fc66a8ae574404a8c559c41c0319c4e1a6d90a4dff651d72feb0fae53a9b390187dde4ffb693befca556b433f6e1d7b3b0e43de3ee7f3e4e33e3a763493ea4ce234cdfd97645bcd76bf98d1eaee0ba356e17e8db1fa36abae7defae51d99bee9222af5e1b8eb049b29c1d678b424573992b67b82ec49a6f7a8f25aca5fb663f349ca4558e06d92ba52d9efb556f1af092e4aa9b64fb92dc9c728e95883b01d146f7c063dfd5972c127462976a70450a4bb17be43e7093f657f6eba69240639cc7496617db101e888152bf7f5748422e0f6e6090ff9fb2f75200fd5a54256e2698560907ec4fcfacc218529a58b17c9489ea290b7f3e3ecd71b21d603f35287970a2f5c43480550569508071af1c863823018f1abe97db44b7cd977c458bd33505ad39b835901591eed8a2990216ca28de5b055cb4ef328d2efd4f34c75e023549024b2e2aaaac1243efddb3f00a28b0735b678effa14574cd6f8ea05d5f8dd734f8124f50a6bff2deeab4e460694a2e0de926e70f909b4c31ebd475c52bbc8fa9c90f937ce44385835af75bfdc30da1fd4a9a9e0a8bec6667d9103636abeff7abea68aa28c0ffbc926ffcb0b94238543e059736a9873a7dccfa2940c597b63355821131cd45dccbf4ca15ce93b3d64ffe95acb6e97c1fb016f0fe065734c06c79d2efb981b8d21b025e5398593d48d874b9becf57158d3d7a68b7cb8a3b049fc2d1bc93023b4ca3be7477547002a78aa6273e9ee1a72557ba48c496b09c877292497d930e88bf16d36be086a7c78fb9d941fc8841289a8654d0cfd6e8936a8e259400eaf3ff2f7ebeecc3acfebbbe9977f8627f7ff7004a1f37ca7bf2d1203876dee54c023febd1c969b04fd2f9aea745c49cf246a17eefddee99078e14f963acec3922514a8065a19c2f13e4e3a6f79eeda84d7a6fc826c3bed12ceee810f0d5ca4832036659622600aafa24414e45d82a7819a55e6bae39811e4e8a5431ca77ed63b3c45ad0ed19e961b4830a0b4f5fbd3a40f667b4565a1976bac9faf20beba3eb3abdc2a8c5ddb4ec537671245250246e54b514946e8d91f3dbd35b0e8fd0341d9da5ee41a0b1dc00223cd04650513eb6fb049532a39aa91a0a94d39e6ed40d3f1aaeff30a7aa7ac71bdef2cb96e0f3d97c33c17f1216d0c635ab16ed2810e349e9d810d55d9fa66b27886527f3794f9f7f2832cda131dc4d03e126342e3b6dbc9700d5fc6a9aa0a87998780a443906f8a4e4dd83a39f61e6f6daa52eb4557e7dd1825c336cc780879b1d583cd7beb248ee1283d8ae63f1d0f772e619f0fae91cd3f727820c15a172c2361798844b3d5947d348da26d2b4a1085ab119833deb79c8c064514a98ed657eb8d4833fb49dd5734460a601d9ee5e27e03f9ab5196e50b62439ed38b05275747ed79bef558642f6c6a9280f9fedea22ff6569d03db8ce9614b5d027dd8a41ad1e0cb04d94686ac724e06c0e9bda1dc6b9f3049cd263708340e060266daf77aebd6b239d0481c42897ceaf4798a8801f4f9e5f4468d0ac5b3505dc82706a692072f4ef61e2ceb3a0ff664d4fc65671f5638d05eac536e3a2bb74d68b15a830bd0588b1db567a0b9d3f262cb6b25e3658161fea9c8db69a072ca4f4560e80e88dbd6a5f08f55207bef91de2873c9657702f87e7626cbf9c3cee4202979b279ecfb2307f91e95d699ccbf871a143e01d6494574f0f6231895b86bf1aa4908203730208595e48daddc0693e532f3832f5f392b1382f2cedc027bdc4c6489d0901430b873738a3c2bccb26ed60b0f6827e645c8fc771ba9db8455c1f0b4e0f49e80f644dab42fab5d273f57f630aa8fbd9cc014fd6273bf81b2f21f4cd85f7fc8fa0d1c543635a0ca366ebf537bb40e46a41a8af770f40f0bb81eb3f948dfb84fcf69174f1af68d624626fca736a1463453d7b8183bf96ff6b588e4106ff2bc778aec6aadd57287b31e837ed1871352fb2c590a4f786e99594ba9c70ced7317a7a154be1b6cb8f6733cdc8acb60b27d5b593a4ab926fec3e3ce0cfce7b812da7bedfd6567b60b20c3ec46fbbe33373e82a7ff6e75fbbfea5f56a71c7620b41ec59b5dd9e9b88165bd56d390a62b9067779de1930bcafddc5ab601c9dab1bafc0ce134ccf88f6e175dcd2ab95722a3a6e00742a24773222bf96b4f2a8f976526844b57bf51313ae13e58c8e3746de03b05242c17dd1e92e737e92d847cafcf80e7a91a0848f8ac5116b5f8fc8f5a773562470df6b7b5cd2aac3c8a0d82de70db558e918449fcd9582e6822a134e337ae6a7fb5cfb442e68376d39173ff151f5561063492bcf172700c68f39fa4fa2da498d32a1ca46afba99ff72c998138520acde6f31b441fc07adbe2b884cb7667fb199c9b3aa261e9c3cc268d3a52f267590f52888930d743e9fde3b461d1d41d89f9d226cdc41419796aef9394546f9dca4a53008a7c2b535094334919e7e156a774470d4c83b283fb06202122e60713aee0436487839b202e584a57dfe24e8b20631fd9a3431f5b57db1ca15ae2d0e51d83db2a5a9b5618f8b5c61ad63493d566fcdd80cca057544386f6b4ba8dcd7600624544b1bdc19c30b34e8d12b76022eed020c43d9b4bb7885392823551093b075992ff717a41e1f8f76e9b50089246a8c19b578dfb55a6b4ec843a236625e7d63f50c49073d3ee43aab63b97b4a9a4ccf2212b320530b0f422fe8830680469e6ae95ef8e42ea0bc5effea67005453698bed861fa8c382ecc32ea96a1dd9b2eb7ca72a3da55a8ef5c19f3132460f438abbce70aa0b52a374a9f86d7d4d1c4908514d64cc4a336abcc97ee5e751b67c298f6936d4002eab4bcac3e0a55f75af8fe48c90528b93cb90727e2bafc8398846ef82a9e1dbe825f13ec55374f880529070e507541694e401f4422185f8e2a1f67c57339a0465b30784f6cd29106f8a29b024aa77a7531bd11aa5a975ad62e34ed9e43d8508cabadf6f6c50857c4625c3fd004fdccccf95305458e5be967f4a01b0eac3536f49c6deb5436891af77db8dae4195ab8bf2646e50da567be814650fcfa5b78a1bf16cb263cc83aa837742a8c660c39743ab181d7aa1bfb179aef49cc3dac9ca7341004b80269fc295e86209c27406cbbf755905d34559bdb95054999278032581d4c2c663fab7712498059a9b1e179c7a227aa33b393168cceff6939584ef2e13faed03bc3b477efad7d72807ff9beb16fc35590af64c2c5cc5f56129ae403a78aa300752db51d0deefae193b180a3cee4f27c5d07a0b70923a59f12e9352e395572c7aafee7b66ccf1bf459cac60db5cba9abd4ab9876ba725d9026d21f972b2d092cc331cb8d7d61f9cd153102db5bebbcda06315e94fa965f82bf4fa9b830ec18512e21e6d93eca4d1233f638f6d09d0d8523a16f0cbdbeccd4a5a874e60b001379cdebb25ff57c0756c3323f1d36634b477e64b9dae2086a62fabd3a49c4bfe239e56a3c514c10c5e6a36f2d2e16e92608fc169dba04bb952ee2377ece5811ae0a7ce16e88f2018cdb78f9ec20b63c0b8fc71c7b332bbbee4d4bcadd237f08532bcd323bc38e9138e617cf47cd35cb3b64b02a6a348d24e4062168e1f43ae99e9f988b46169060fb0720853ebe594079ff1a7840e98e022796ae7acc2168e92c4d0bd3ef7588ddc42aa3f925f9c160014f5f895d5cd1d481a4eafd3816009080665802b5ee6e157b5bd8ffd7384067d60054a5fcb81115f658c54fcf1099ee4ac0b65b789e2cffbf56911fc4eb218f2c27a5403a466768d9b4d7a72fd94d2bdd75d48083f003a65157e6f05fef5b4ccd251428830d3613a0e4f5170a8fa9e211324e436d01af54649a330faaf706be02f78f73b625b940c0e0f55fa46412a347116d32afb8a1727460130b82377d8e58830822492d1a486289d5d4628ddfccf721cc9f57136aafe66ab357f4515e308a2ad5e92d436e6deb0513b46bef0145dff3771a2683830345802d61c59deb9089ebd3ee1711bb95aa843ea0c796dba57cd03eb5ef53230e5bd1588ff493d390836ff0aeea6c447846fd82e2ec173970403d0314013d0a4f471214e4bbe985d3f62105bcd57bbacd6b8de6bd038eb2e3785b3e19b30aa70c078a0a45f38e059c5a97c8671271c1c28ed23fc64dfe40a446c7168d06a705735d338fadb4e5a4e6d7a2216cf74e7261468839f6878b1c64698066efa6007f2fd0c615f7f2667b56bc17739ce85797fed723e9dcb7dbe31f1f3129664cf4eff652f4d72e46750120387ac2cc4f6d677e572a0897e19d4780f8167eba823e99119f35cc04e198f12b147586766a492bc502d117fd91b911406a7f95123a796424448e6430d282d8375edc1a04d42b4f183227c7ac202daf999af6cd326719233871137e1ad18dc2d73533fca9f90b1f015ba79c25b3739c26bc50923c62690d7d5e5eccdab021e274d500677d488e51fe55787b06d8e6d314738eac4bd365ecb5c48c13257b6cdf3ce282c37ef3311cdea2a604d6775c7721d9666bb7dcab5f85fd32db65c00f6e41e3965073e9d87b97283830b7c3c586355d3fb4d75b6553fdbd2f88112ec7e2e264ce2653a7b7166578a615e5188c54b6176272ec3b055757456833aec7d95b0f36b47153aca45db9ab3aac070793a0dea61cfb46cc5313c8c63e1a68774cda04b61c4ef1c7b85249f6844cd6949b7b126d62b8e378199d906f35e0c2f498772447f9e34b37e3ca350539ee08a4f5262f48bc1ec9bd859dc388453349d3adbc081c9329165f715185c256f7e0a8b14ac9f8f1d353cd63aaf57c0eff908711a426519239cf7fd0c6e872720338b9c177b2684c1a8e00db91a78e82da4094b4775cf0477cb36d8f0b8739f33ceabc57024c1d2148b2d2263f78affb35f96a4aed0a81ca055614111396737025b77cf97fbe8ef6ba51a0f427c2a94d2ceca149a97c5652ec8a530622bf8ba3dc8b9fe1bb5b4d92e7d96e4ec32def82ec09632e18af4defd9856dfcd7e639853e71ad187d91d65d41780ab227aafd3ad860ecbc8a8880d779f2853eb45a41002491e393a143951cfbf4f236e823101c8c3f3d1fe23729d10fa14b100864b44912989ed7b796556150204027ea1d39dc68248da6256e9a1b885e2724f3e4ed80dd24e72b3ea42e9b5dab54f892f0bb8e6be989a9dc6f3f8f683d9cf938bdd6940c914998621e95e6a47448e3f51b76d6b2e5bb8208c69e8250feb94ff3c3df463f0a6e445e1253cd89e3dc80b78caab81e1e688f2e377019db31bde1378b104c20f96cf671a96b23f677bf219e71e5304ae5e95f6e54bee67402e002f28d3b1443f5c3746e1d0af2aecff03fbbe74baec957f86f2eadee0101eb1a7b2d75c3f4596355ea4fe215b997a620bd72d52904eafe811b5a613826c13b5076495fe32de2ac2662e1d7b845aed557e93c7179d9115369d6861611bb7093bc189c60c925f194cb91c609a9accd3aa6a2675ddce7e7ea71f9e6ee4ad6c50cd49dd19547e5e37fc82e84db7b856254a14aedca22f7e95461b12fe4c06d8d2553a74289850854f07504bc49c1f862d0572a8997f3b756f139c0ccaa087931ec6803290a5554ef57ead1b15182ad4c1e7447137c19029012a81a4c6ab57cd3e9653e1679d39298c6cfb3592739436d989568e6a39a1fdcb80b011cd33ba4f37648860a00f3e86904a75111d6a0d97474de71aa71001564e8ba4ac16e6477b60c4efbc6f5ea788985aefabb3bcf26b3e40149e3cd70f9edb3be42f4d1bc1b0fbbc74443f6454ecc57e800c9e967e288623f8848e29d000a93e5cfef382aa4c001db7a98b8155664b1352521c3a8f994dee27f368be3b53f64c2e44113e973222b378e98a0d30b6984f2ff9bbd4b9c5ecfcf0c38dec02046c02c42a705a2f577e79365953eda4799dcf812f4b4f1bc528f6c4bca62a601478200573be61ac199bde05f8f4dd1165fe5d8e157121b58a97204422052e6bd896d0e10404b6d1b0b7333783bf10cf627773dd6ce6b06131828e1f82ed2083f7c2260ac1298a69180fa91ce16cd3796a126506d1fb2b9e0194c6a4d9180e7a6de1496a017a05901c82dc4d24579b73f1fc32d085d252bee6b929d067861ae0886f204dd323b459a6871c538d4f41991e34aba3fec5005b292cedd65c629269024a5a7566578cfdbe5787522057406e0f5de0843ecfa3ac964c0419761d456eebe5d2053c31fd4bad4bf5a0ff4fa704d28955f12c656dd812952e8ba53b1b5be09eaa05d50c3d40cd7af46086c2bfcb2cc7d331e1a6f5b51cadfd0cfe71f07eb9af3a37e29167062500e9808ac939897a60323d650d592d7fc406057ad6c25c8f0d1dfbfdfa1e8e0658e1fe5d76848ca3d418b82ebbbc0cf6fbcbe11425ef8f65a99385dcb9ed893387bc02481a3da5d2fe1272ce5d4811971e8152b661a748e97dae71d17182bfbcc714f8347f6d5c70eb8f64801aa5da5104c74d85e5e8c5741c7ed797312920fc7c0c0a3804c0446cf56a55e046b8eb3330deabbec7f03e649fe5bd70318050928db54e766ba119fa4dbf6c92d06523440c3fa1f9315996bd9b028d9a24171f0d5a3bc088d4c5ce0646d47db9f8246989ee6093ddd65f46e00d6d843e48271dd4ce0972ca0a8f07215e1eb6a36c8b66c7f07378efb092bf746b24d225645041b63a65a6977fc756cacd018d531d2001541328dde849058c80c68e764fa4a48b50333def90870779f5df3c16b6d1b4e37b0248a58b4a7988f9a599432989eb148b6f31253501ca682d342ac3d12bd4b2b1294b79a9727a521ef3048531300a62ad75237a4693720d47470bc4e2f2270c57dc0c36fd63ea46f340cc946936eb5591853c4a0d96b44a3ce8faebbd47925aa38a9c8ef85887b80793ff2c7f6bb0d1fadc4dc01792405b50caa6b7b89ccf81e459318e6685e60ffb44b8c1e6976181a6205963f895a54b93ef6b885fede2fdd8362aa347a3b44e3d2794a8a06e52caf0a642ede31e6f7e7b8cb16b4a3fa3504ac2a466d55d7492527cd3850e30694abd4e4294d0301ea21d54f063a1c811e78eba53dbc4ddeeb33b9dd33ebe5069ce4c49b4282c904dd716d5b7bbdbbc7db6207ebee22aabe3e7179fe41223f412815e6f63ce674a15a650ccd67aea1e3f07c2887b309725808417676b0d543932fab39ba9d643e2fcf5b350316a928a5e8927b37b9e5109f0011a654208bf01802e6438db69ad82ef8e1a0bf9fb4f2642e2505d675070fc261af4cf6dd6a4aad0c5e2608de4a936fd5ab61906cd8ac77d47ef7c2f0321bfda2ad8ff3b77293b5b8c49f851660dd4e256fa8aa938db8b72b3866d6edf49e05a1a6812c602b9880ddf7ae44163a807e82143a87d74ef585985fbcf5100b4d45cd41e6049219dca8f36ddff101bd177766fdf12e865557354ae56fcf03cc52ac6db3d1fe28b87b9e81e41c97bdcb08aabf4f9101b8c36e2b9f3bdacdd91fe8cd62ee58359f60402da51852af189edb9b304453655887eaf5ad971d1e8537ffa0a8911759ffbdf3a60f542272f13af5e7b4b5119f4be2a753a870ddc78921f486f7cbb42c6800e3716aebd64a20b265882e5e0577cf9d973e5fc31addd66b4270ae933b44f23843b3ace5182829c523a64534e1f923f02795d82ef2ed9375723881b4ebb9f37fe942a2abd12f7759793cc2272e4c31e6a5047b269552f4fcaf81ad597c71e126ec7e10339c2b77b75fe2b970262fe844a4be3b16a17733abb30c0efb442d4fce09f2a5462488f6892f52fad9fc41802bd6d4c738f0f8e77a1b88672b397d4cffdb7f5facfb05fe9d16b755acba9a741786ab6c0556c6dc28065d8e91b8db9bbfa89adaa99ff9ac0b06e0b51ba96efa435a75224142a90c6e7624c068119bb64b8e8f91728b466b9839d9c27de01d841c4f022eeb09603f3f09e11b7e82457b30f944387d1c104a5236c1f855172fea13d8ced372d7c47ccb60a3f9a84c5699fedecf5436b947c44b1c9cd5bb50a2e3942c342fd56cdb219c2d2be7cbab92ce7793573111e99041d1953193b6b7f2531c25c1e51dd38b1487f8795e788b5ec831feb7faceb44bfddd1b98635e191c36e38b1a93161a01328789b1820677039a32f1b11c611f8fb1c70b88a7609ba105fc35de719d0924cb1286d2007acda3b413d18f9956ce1769c4c830e81fc5dcfb05a6f6a7c673e90a9c92c85dd6d92ac61ca864a31a497cf15ca69861b919802a814540ea87aeb004e940d4329b203b78c6ec5de30242445623d5ed12b18697f11d80c96501318f02be34a79da47c08d60faac0f63b82b73b37e9c920bc703b18e95c9870034ae530332f99a0409ab6802a417de73611e0534866a0e85d0da4ee74f48c5671554e7fb3ebb52ded055060e74a3b9852485e162783e1d1096ae78575cb3bc81ee972b236589cfd47d32003469d80adbb68044d7a0016d763e04aec6f704e7b05ac8aa7304dca3bae930b447a9737ffbb4e43d6562dcee663ff9af3c1d8d9d00f4eb2f5340f8d4d932a8f20ef3ee87a42cc707e345f49092eb70f8a59285cb62eb9c3040946658a6491b6f3e773c73a33f1fb905a7f5c487406b16f6acae38b44818d18a458a593b5d6695e2483ea871f10a549244c4bae2edca0574f9bb386e40b29ce61ac4d085c2ed387dc8ce0666017301c29759a44484ef0206cab06d65d026eef3185685ae9881bfac1743742100ce6f03713d4b549bf84f9eaaf73cf29df2e5ec97d270909e8c3f06cf485fee1b7b0e6a99dbe331e0a996cbff9692691b2879d2008af50635ed6288eb9f3b8d43f33c4e90850e20477bd43ec0570f3757fd4dfbe1e09bf23ca7a49cb2ec475345d70d5b3cd13859c5186af70bec70d6c867feff382159a9206ce12871919fbc99f80849a65934405957dab46a114065dddd10876bdbdc1847d8f317911131b6a6aa7902fa1b9c39370c8aa7ef216ed444524731a1bf152bf87a0f4611bd7549ac44344143d00162f56ec5593f2f5878033dbb7c0064cb67bc290b428df350a54fb74ee8692945cde2929d93ec334a6ea4911ccbef1c3612d73050cd8c14e212fda03bb95d9f7117479a29d40026ecee0c001d0411b466fe585284be6388286016e254234a68fe88f91e9d1713669973060ba7f2b412b62bf26e0990780ffa4a958edbf76e9395bd09e67cf85173a06f3c97f66e482a8917cbaf7e78569eca71565c32d365f0656ccd8a8ff3e478545da82cd34c178fb008aecc26df9ac572955caac9763d5631ef5899c33ddc2e128d53c51b6dd2752db2725a8b438d75ecf6e521b4b189d9511b1df69feb1c78c28c7f511d7ede9dd6856aec54341b6f1c22b881b8aa0e90265525a8b72cd3afbe6934dc97743a18a9340be87cb847c6d484400b20017190f7b7d8b5cf9ec759553b427ff8e34fc2cf8ee952d014cf60d7898d5e97c4c1b3a4777ded26fd7cc5c92a2ace2b8044b6dacf7edc7c7213a898ddf8619361c8cc9753c85ec77e799cf66913b3c96fe71aedc076329b66e51acc9be608ce3e4b59573a1af474d441e575cb708382f44ef4412d3ec892933bc694a03eab9b68ab947f250f1b4d286f929067643c49c9a6d58004f80c915e3c44666fd8b6976c28fac191b2449726762c2e8dbdd67cca00335c66ddba21afdd18bc56818f14abf2e096742e46984b9a9dad44f4321c969124cb8ec2c19251d864cb07648cad5a5016f69c9dd4e360218c45e589b781f1cb683946c106d128bd726b57613c253ecd6f58028be59ce7ca872bb16151938cdc4da93e8fcccd60aff90ffce6bc82f2ffebfb069a73fac0363d351bdbd5903983d7de9cf18d3338bbf10e766f5e106f514619d03d4335bba16b209c1ab4dd94c69433537dd4a15571c9414620619b33982de7d05313c588992f88702c03d4bd5a826b2e6b6bc201e923f7726bac3ce094bf0b88c8689d92ba27b5a1a15bafac1d1292d87794d9b1b198f3a74ab85f9332a45e7a229623a4c4d6b76d7b7fa94c7fde26b3ffbbd510357077c31c99cdeb5d96f0664d59b273227d88f8ed78fe5cd67cf86224acbfeeea640f03a126068187f691981851b577ca2cc1743437d8c4ea011fa468c4b47d259321a18f532dbf48fd5892df8443ae57d000bf1d7daaf7b4fb21cb5d17292a5cb77d11d216021c652e69c6342eb7e9d972868e4e043a6090d57066f3efa815305260ee9d947f9ec9aa2c0344a8b907e8795a435206d34a87fa7a24b8bafc7c8275ef61a73bb64f25bd4b0b084c7269aec70584c51845eaf567bbd022242895e871b916cec4c79570fffae91c92683ec6b24e2240972d81976f8f896544dab03a5205ad0335bc7778b4665b363f13524da801075a132747ae1f65d4acbefc09bf90719d764abef4a6d71940a8748f16f5aa3ce7479f8e1cdf9ec42f2fe0ecee39b71ec6a488e0aaf156a1087d72d52f817acc733feaf0ac5707fb89a4aab0f1bb319b9a2acca300bfab92d1e900ea2aa95421df770c1d2ef2a464354c013421c61426814e31299dd84a705012f563c3c70afb7243efad934131bc2b88c7808f4ea479ea1bfb5e8a7786710e3bd64fc9a17538eaa51f864b0703f1ed0915d1777954d1bc807745a1badffd060955a2c704ae2751b23ac8929dcefbdbd7d5ac2263bec4eb40480b44d6f16e56441ce55ed31d8c94eb5efd4b6c4f9cec7650cb2330d429bd8151067ec7b03fcccd9a007c1b5bee2062e0c9830bac08e32fd895841c8fee2168f647bf7496f0b9e77146963947019ea04a071877120685ab6a75783aed1ca894847f22dbeb278c97cc72a616ee58c0215334febc832e199c562386c77521162c9f7e2251b5811e1fc84e74c8729e171ad41823dfe55e928dbe10209a21173d7945f77ac5e30bb18eff74569f4e0c14fa4d8dff19d0ac94fdd1e44d28d60d9c984970348ad2c9d57d3d3f4abb0f19ad21f4bf498b972bdad3ef54745dc317c73ed2dece485f95d1724dc329477913ee3a2a6ff99ddbab5a1d337fff7e82bff967b5572ec10695300a8fbf8594e94d12ef7aa89b1947576145ec3215b1340c2a296bfdc7f59952e0953057b39c8b187bc4549c8d7941d5f887ca1782f10bbd965c1830ee4057b7112fa241444c2113b43aade03c27306712dd0f072f07f25ed06267e0781871fb231714a93b2b89105d3fc10516916a748cd0717cadf91b9c5bf5decbadb222de6559afa8712ec87c7b2a53e62c42b78a2edc1cd20d0539101561d8c8bffbf92606061dd506cad7095fdc0762d61989123a917bedae0dbe14b09cdbf77e56bbd82907d20065c7f54a4d8688f6c73c855c6e7f2e2ffa7c57a9437ac5f57ef51e6915dabe19fec87ea38fd35b01d173ac94e2d2a66e8a3d6efb621f63c747430d2cbd5080f6470979f402e81448985f7e321df88b1e0d2a0ed4680d4e0520228b55933794b6d38ae91eb149afb605cae6875cf666a7d0076d4898f30af6566d7747df4d", 0x2000, &(0x7f0000001200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000980)={0x90, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="e3f81d3109f9b81ca9b444366f3d22bc6bfcd97af568957692b6046b5ecfb205004ae31361debaae7cc55928eafb73e566c0f42b919a43ed8606ee033ab080dfbc810e95c8378d484ffbdb95609e8917647e1888a590957bc7ea445e0059a2812ad32bf1a7f924744708c1d04e35cac61c37db4a345ad00ad6def29de90947271d0c2782cbc7d4134ac2dc6cb28be59a96489e9754739e93611a988366377fe1955e75ed8cf1c124b969d3d5e57ea38c7172222c3e2a6ff15d983bb9342f0a611f993de9bbce0423ccfbe0bfefb4585b0f559f4fc56c7d8fa9a31834df5aaa122c1fa3eac4cc33196deb73c053d89b4c24d8083ad790cf741d1531aa3d5bdac679895cd8b3d8ad68402dfaf48fec06df1ea15f42f41546cec3136bab2e7f28b4a3dded0a267e1b200cba99326cd2ecaa231b327adf74a0f3870fc2cfbcaeb49cb9aa1d8fdc3095e63c0c8ce0636fde80751c4de3ae946f48a31d51bb52065fc48f5559c5a9b12f482f52f30dca9f4606329082542ddb1c967bd06568270d19099441eb05fc39a964c4fd0eec8b89d06ca0636f3f8f6990a6891f7b58df5725136a5459d076d6408efb4c4696e49b159e64e843bacef2d18fcae9f13de09943d9fd49972e6534fa31dcf91645b6ecfe3f13ac65e146e9a5f1091a090445b878333ca4ee13f308aa3e43c15fd33859cfd0db6d52493eea2d65601eeadafedcd90e8c7a9f2289aa797b8236cc76d61ea5cff56522eb1dfcd85fd0a5640417e256615757c3760dcc83bcefd152022e1891bd2d9573b6277963291670072b1967f80af93500f9073d80b71d377b4516028ad3cf3e1e877f925f27bd949ec39e3813c279924d57dc66b019fce854c1f874c2cbc168cf4e2e3f28c1ff33bd51dc7ca4475116a3e333e789995bd4f94f649bf280c9896d7c9f3f262f6bb301489d0c688cedaff837771db2dfa165b4dbf7696e8a9282dcfe610b5207793fab47ef871d40728fdaeab4f36719988cba4073ab5f6010d894cc89363ed00fcf97ff4ffd131b4b3a2e31a81bfdefb4e686bb8f2b530f7cdb3b4386919b0c58db44c50ab73a652e515bde3bff0ee7ce33f4d059a2694a81aea7dd4df89bd713bdf001a5e07fc569334eddb9221fa45ab06554b8703d65b6f7a788e28a5b2c600805325dd92bbddcd07f38835a92d0158a315a04b4b31ce3026fd78ad6b29dcc4fe1b9a1f0c8045d2c17d2602dfb9f54b8882eb0a5183263d8d5416c2335742c68938340202965a8af73f5cc4a5f347b98662a24c927c86283908258d4da11a81ea4b6fe1837ac2ae71849ad3525633cf89364b77c8cdea83b92a6cbe66555fdf32006e1562dfddfeb4886af915481596c4c76e6368d4fd0f4e407c6d089e3eafef5e24d8cb4f4a1fbdd9005329b03ce1ebc22881f69b47fbb7abe9a39c1860f2f3f6612b53ebd63d5abb119c71f96599f7129611f569f4d720c2ad10d8fd9d1c071d4699c7b669418dc0d12472977d12903a6eda4209271cf1495c75f1329bf64b4ab0c31a37a09a40a9a908dc99eeebfdc3e8b2daa062b2f1abe23b0bff3ef00642f37ddc33f978225f881045134d499c6b7d747c0bd697f1735ce388ccb45b8bca01006066f8a274fe20eefdf25457f6ac29bd2dd56fb1c659a6e2f7476a583c47f911cd421fd627d97c0d88cf8482463bbb889ec07ea486e98dc0c5ce2f7dabb329dcb3e0570f6936f0d7cff623d51b4187ba421ee66ae3977c6d85253b517be29f38b7dde6573d817ee506ae5b8e34e597d400c7d7d0e787dcf2c6106b7d066592ef1ac576377f2f1db4d1963ebc30b36cf8140d04040d30dbd6bcf99d604e661b17e5fc92e275dc01d392628658b00e57fc9fc8c3f29e5654351173947682952a300c06ccd9f00bcb0c44fc710452044d66040205545e7912b2c9922793384e6f6c592d857860e56be31988e27e3d0bdd2a02844ee3e6072f11ddb65f2c49a6b97560c2af0b85dd157eddde77baa0c75104e6cbc6631b0326d691c3f2d4bb1c89bc68fba277a55e8f501008900d6dec8334439b7236d3a076e7376584829dd05ab808d4a33021bcec6d7acb09a80086bd7b5fea2dd4638ff9243f02ccad1d5f539a509ca9ddaa406c1250dceec1b41e3f21a53df62f6f630ecc86113035c994c71b5ec3764965825b2f58f9efe4a341ed6bacf5492f51ebed841a216560ccaed8cfc7f1fbc88c7839e11ed2806237acd973fcd30bd122e2391a71c11265a6e4d7233bd9d871cb9ea98de55e657038ab1710db43f27475e9bf6714b5ef64fab33fa151da4f501f601584bc3f2c1eb5de5064c64df4b64b0df634e0b694e99b83a594e06bd5dca4b72b91a94ac8ff56a880fb7e97df9054d25306b179c4c305519a7b4c9766171cb40bf36070aff0a893cf646cdbbe941397899b5f4ef8a640616a6f684d1394866bb0bc0a84af20ee1b54c6c3ef7c94b38e90753a2f16957211972de2588c92d2846ef716836ac359470c716fb04e603741236359cb252b09ad300c63b5142e08eb70878c1aa37671752d55ebcd780d32e34320fd78779ba7dd1e914c0404b25642c3bd8a4e0680b254691adebe6cef5008d5cf164a240c44c6d59141e33a4952a1c73fb8cd4f474b3eb8d7fb13bac009a8917fae50cb6be5db9a21d6418b71a3939e80fd4372201857bb43ae65ee5c90eb36d27e499f7a84d0e6366159307a824ce198a7671f44e7f370456da46e642308fc4d154db15b8470e89cf23b61df9c1fde97f3227e16c742c79e7d41fbb4902f76d5958813e83f07f02881e2542f898f7aa31431cd35a22d9b6cf3b720f9aba57d8e7269a0f8c7a780c59962faf271c90d7e43a1e9b76cc3168de9b8cb9795f96af0cb196825efe303757d1237f3ceb6a1336bf9d893179ce18397e5ebe7ce7fd2a7fd009d3156cc3d363a8f0da9ba2f50cdec0720882265587e7b79e868325f76f2b056eb23d005eeb9a7789c072fbc1b369bf51bd82a83f88adf4802a9ac516e5d50e8f318ec125a179b616d204264d7ea698e457ebdc33737272f60dd6d8127b8b252b43edee1278345aa2e7ad4dadc55a50eabc7276e44d3197d3a636ccb575359b9ccb629cf16bc2f36263a02dc96e19b8abdf9f69b91b3e0f4bfe7b95b86e35dd29768d9f6e41978cca21b24b5a42314c1a6d9b69f7cc67686a89f3d8fc46b59a91b68b957c27bd8c983d5b0d73726d94b59079158930f5d79034fd4c4dfbee80874ef19074e53255fcfd84ba1ecdb717b1a00c9bf4760512bb65b9b4851f08264901904720c59c0ab7a62437f3bdd2cac317b4cbb930115a723c1285a948afcf29c9299c9833ac7081cbafc91569d862b1a446aec775e79f5e8c358531f7501c12015855a806c3fe3660b852ce8ea77f45f649e196845e5137ea0039585c562e129ed4bdc64833b2be1c720214ea1f6b8e36683380c0631a2997e73ba99e2afd90af09e0cff96b653b68d05240b0010a90117f4e2a711dfda063fd2944c353266e693c580cd77f56c66538b57dc7436c002bfc0854a927f572943066b88227cb43c3baa9cd5ee2fa6f13aec1f186bc268fe035c299d2020373da6eead145c649a96dd8879e5954acf58af6fa36cc2d1662f3c31e0a5bba511146ff7c287725395535918c9d7c952a55b3fdb05eb66225f9a42469feef000e1a52617b10dbe36dd94f912dd712c7400a9958a25c8d83ce6ba0965a0477ce3829fa2a4579211b6fe40fa276e51e470a1f9a789f9868b6eda5437b276de18421bcb248b67c4e5fb0535b630db4f92c4e2bd28cf645371cc83694c52944aeffd13841416a7240ef8e1dcb37c71f1a38edda9c93a8ee125e7bba125748687cedec90d62ee73815be913c1fd2a5f0a42833cfa4894ba8eb5c377d5a466fcc7e4a75649c3e4a3008ed6eafed1a0f818804cadc1fe1dd2c13d21288b5399ef7fef5b5a1a5df6336272259f2f27d262e5bc6656613083758ebfd712849d792a2dc699fab711fae696baa578def93325fa1e88472c3915abe59c440a6f19e895805e5ffb4488bf9f61351f4db8439a091bc7c994b755fd4ee7e6f99fe53641b5ecdea577408e6a69e4b0e0a1c5d300a4036cdcb35aeb548123139cc10f0aa96ecea31026fd84efebea18e00ef358b9bed0aec3cc8e0ea3c734f1822c807261d3dc5549e8a3d58363ef50646925f305e5df01e809de80b57d34ba2a1326479fe3d06ba967a0f21c59f3f2e707d1368ff4f2b7b244d4928fd76e0940487860068294ef55f1dd0dde1a7fe196ed651170cb800310892d79f523550747ba518209acfe4a32d61c45a8b7b561063c1919509986364311e71f820143832b36a7241a7984b5866c8643d4cfbac116cdb65a1e36922322f05e3269d75add7aa828af8e8db87975a19a22a4adde6240703619b6be83bff5512620a7d80b33ae0d51047d27393c0ef73b95f301ab4c81906d6da0375b379dfe16a031c72cc6270fde07b3a66fb88de11352adec0386a8f01a27c4813811586b66d89adb421c688a4139f898bed18068e295cfb1757bdf2725a35fe2f04065f38e3e0b5c4c1c372e628ba35d52b29477bc72d8579eebb86b0d5da5f1d8411da31f2afb92e562cd4b4f83ad5e1d34d37d696ffa54bd690e760eb93b462569c2032aac62318c4c64f039b7b5cbab7d26a4ad441129224de9246dce040b508d27dc9f56c499ed9d1cb7519dafe868650f4074d593135d3c96ed33c17314cc07f280b51afe53757e48ec621d46e62b49896cc432e57a6621c87979c997971e0517479fb80565daff8acbd3d00926adef0a0fbf2c541a4a20c2cd35237752d3af827037bf1b81c1726f062dd687ddfde53255001196c871d23ef609112dbdc4f80fba2a390e93784781180a02cd54df881c9cf426680c10615a10ddeb430460787647bedfe4a7987f0bb45d77594cb1a5c7b671e897f00d2cbdfcf1633fa6ca2f75ef6310f40b6b2bbcc775b6bc74a4f8781b280f06d5bbd571c093f9327e0cd0f1618c1d373f564f959ef8708d17ab7f5275e8ae105181f0a59af33fad84dd8386f52562b145d34c511f6c0db1d46709e4c8deabb0c88cd4a4fdede19292901aa9d3d2f4ad011cad851f4d3a5417f41209df8e83357e450c6badfde2d8c6f94bd2a6e6b9563a71addc19fb837695e140eb338d486fbad6e13ba3e534698f6cf0f0f12f412da79d656769f14facfc186a1c08b40c8ec642d83025604c1d29f120e5809769e8e1a5fc7a5795979ee6274a9999ecded6dcf5c8c7c731b0b14104d4e942bd9bfe633fbe7eab254b028c306f7fb1edb1e18ff41a1f7911fdaeb4745f93ee56b3bfc4b6242c9c04b519af6f4810994200fd0792141bc6ef3a47f495fd63dee3c2da58e2145fb2fa8c91f15f8d49d3f75bcebcbb2566cb3258538d680172d0b3f3fa5c6db91f1826968cf047620b43680dba40318bb76e6d11ff8a2584ad03f3ca4e963b5a1fe4719b4fbfc773880343dd596a6a2b1383c888808981b625248bf0c4b1baba0c9565b3be84441fe08feaf7e278886ad249e7ff8ec713091d7a9a51d25d57f3989d31851cc1e46c4165c6c2548ad424529b2b745469040aeac123b26ff4348bb4a232a73248738a8db9b37ce44f136e65f4213d2eaceb4e823941e234b1dc7094ab973ae76f300ee4986f11a64893f28ba3de9cade63bc2dfa7710933a30253203d5fa9dbaca9a6a493fffd8c2196e52a25bd2272de976ef23ac250a4755f233c15c9bc9f278ca29a57f55bcefaba4c352dae4d90f269c5d4f8a3ec03572bb6d9b4328b9505232fb7f4c95be407792bb6108b664d472fbd517e646c19257bee532d15298694829dafd502fa9ffa6bad1ab3ddb4194c80c8d514107b0cafa9ffba1bf455902bf8d43c0dd29c4246b26044ffc503388c17db0515e29c4db5b4d97a3e4799d3f5c107d1fc264b2a6f21fce1767ed427bcdc9e30246a73c3712859439fd58f9c588b0dea79545920a500a029b2951b7e2b844621747309b765fcef88617797c31fedc6721f71b1ad1b93081479d000ca4460210013d99cb943ae0b6c8cf38b98c64047db93b3ffcf767b427880897cd3dccd8f273c0de8df221e114cbfbd5c189a1930f8ef09a93d9a4e16ea6dd68b0d93fc65e547f3f3cf0eb938f75a78a0d9c151d977c2ba956bf7714b3ffbb1e1401954b70e1ea879109a3ba5c7bad59505ac9f4056a38f5163ab4997b542676d1e1c91e66c9397ed53821ebb6015406fa568c9da9cdc7fef27b7c510bafc6457d2f83d7ba4e001dce8bfffd1886b8652038fee131e7d13acec7f417c47e7504723f98a7e1bc5b674d155b941d15311be83ff30649183f1c3de2dac4bdd0c1866091e1eb032667a191aeb6f0d359f66439fc23b64c60c6c55723fc0df396061066ee6290b410c71540ef50f2ba5560efcd2aea0a196c6d63e178d67f09697f147f4acc13b18ff4623f403f23fe4bb37bbb547575b48daa8e227e28084156dfcebf8f3e8ab7a4ac14e6b0a0ad2c281a8bdfa3da2e0fe5469aa3c530144dcc5f7168705843180e8cbee387e4a91789f959d8de9b0095b0e0c249ab77f55db84ed4863ad0b918b28f423d6c2ce75ad7efef6849acf2c4e61ef56e81dce43e90e52d1521f3eaed340b87336537eaec4fd78096d0617e5606e3be5d461ebb5f203c1d3a9334d4f9172d92cc2586d94a96d00d6eba6972a431ec0567f3d02c3f5bf172afb14b80588b1fefe63882d6657d161a88201e24abe04f2cc6fcd5ba40d0aa2aecfb79d407ab898aa0b37194b1d710a34fc3ffdfb0777479bb330f1e0a2142a26b9af3ce0c6013a99bf4fd6bb907c178da07faaabb46d4876d8f4a42be289c6a5d7498d78cfbbe4505824d208e59d05b00be6ca5abaebfc6e5a0e122f4c929262f25a5ea2f4d7e112edda5e6dc1c0518fdcd74d5fc544e88b54a3b0c321f20c696a4b68e73558e6eb46b8d8cc1598d0f5e28cddf47084c221be14e9b8e37409fc9a80f0a4743255ae659146b5ae61bf3ca2b3f8b6618dd6246aa79ebe9a86deb812c1bd260408e75c700007b360c798d770487393e310d44cd80be012d700ca1ef37d9cf3bddb0c13e88df872e9461ebc93c4ef54e1f89116b62898e852cc3934a0cf7d972acfd1db8c6faed41f936ca62ebdcabbbd9e5585295ca351226dc82e3e86ae09c0cdec28f17c72d343b3c2ae15ea13de64b7c518c75b8bb3b7b8d2209bbf2fdd122e8663523801d9bb58cd666802be53852c01568028f40b79469364a634f21b672c400b635939b7755b9f6511a2fbf579cb0608a055daf505b318462cae12665f0b78dc8f56d3957e59bdc1b0c1a6a1c1de4b1eddd73cee2a0274d9f9cb38483f41d33d3bc8e7ac4a9c31f42a3d61ff08dddc820166d6238b9578463236e579af2d6c0e92b549074e30146ca1c2cb0824003d8203ff65d3385e100c747be9febcd734bb0fa6819d91d6074eb9b2a9db65ad31f431a6c1e1813c1770dbc263b2959a6bd76a24d76dd5dac5963ac8b4de0566a5b63d681590d7d16705e96c0d6c2e96cb27dd96f14cbe3344a3d4c5a0e12881145b66044078825aeecdc2cdffac9053b62890e4b1d395196164228df9ede204fae630addc1ee46e079d1e0553291c2dd61c9d9974118c737b9f9494300982bec8033c5549dbdbaf7249145e83c206a464b54887017b711d40b8c5d759c6d3a77241d13372c61f450f850b4e4a666da63e9333afe0227b3fc280c0b425e3343ba03d3b4de8344edcff244e88e056c6f9f0ca6c6fc4a7f3dd25552d8f96bace87b8c0b243787b094aa98eb80ab9f0610afb843adcbb8b6c0944028952705a838f08e2dff95f75119bc2a1cfaa671e0dbb5b9785886c60434078ca34c488d5407bbed68ef8d361e4b492e857f7eeb8e6ecb325c6452b866860a8d75e5cffe07d02e39333cdb9c85d8852382161c95ecc34a50ce96e7729bea1177282a222d195317a6c5139dd04afce5e0223901524adc3e07755df71eba24104265ae8b100c761a30f6930fa967f54a1ba16429df0c77ed7b97fbf288d9f9e5d9833382ce889cbcd2c10d44ac924433dec77e5b46bf55a0ad489e31d3e2eecab7797b991cf926f0ccebc37bb69690ea478b5b2cf9d1f8437039665056d8fde3200c74a8e5a21cd02a1104764ca6b0c1352033fe5e5b63764482795e8e6d4c70c5a505ebc7bdeac19c95b77bae58de0e33dddb1aabfac66bc34bbc7959a01438ffcef31996ffbea4d5cfe6babe805cb86aaf12a4e37f2bc8a518bc80011a1f92134bb130002c9146ec7152c2853d4887d2d53385bbcc7a1cdf349b56b4b9e64c70beacb3d2f0bfe28d6b3bb400865d621e344f664b86c0118d48128a7a2ef655498cad86e1a8b537a2def6b7059cd0956ed925844efa7929980a66a8da8d9b3f8767fb723b671ebda4dbdc027bad87e5c106622d4cd4c3ff46e10d2a7dfe285b7606a61d3a670e0403b8265f1f19c2679c97ceae2bdfd788b9a68204947dce4ae490cf5bc524be7877368d040d11d0227566f5b1c850e86824b2811b2d5e7abc4d9296cf6c98d3889457baa5c082bd44c07989ab51a120d3f5d794b9a36255071a3f1f3a4deeb4c93f78293fbd4770077de85cf885069fca4b9ccc3039fc52b20a43a87d50ccfab8d3c94f443196c4b87d93f6503611db498a993d0b7946d288b067fd392df3bc0949dec993a7ce7610696b651e94ada5795ae6f101b9348dea056a7cdcbb5342ad797dd649a8c67724dbc90a98145074e7940630af1d8ba75e0a54a9238b1f28b25cd5e5022eb312bec19e83915effb26e8b3ac34e9e65beff0eec288f46a0eb69c5597ede7479e4087daf08f96816a5167a61af451a432a04cc4a23dfbaa1f9077f4db52c6c89c8e9eb48baae673c123910722915de07f6aaa5a8e9c439650cbb2a31f72ead72925983cceedd8fc13981d033888e87ae4d75be3c13a6a57892edbfb9534a50334c9c92766c190c46322502a5c98018bb2a9114f290419ba2d6c9db4f1219d6eabe87d33d4206d9b3423e3a4d27deb17d068a5d827fbd0e21d378df4115ec63575406658b82a933f35e805405572333bc0776de5d85fb1d52527a4841a0b08116ecf899170e5f5ce61be7c636fdd863c8588a6f8dfa0bc5a6966059e7c8b5ec651279343ed964f0063b07e7f82b9abc14ff827d6e5255811ee140d9c6eec3d5fcc7dd335d53741607b179b2d8e4f90c6bcf2d952a35eaa11d4e47f47018b5e1ead999def1cf71d933cb9212e5f690b907c95050e7bbf61686f9b615ec75a4c266edb8b007d53598fc64529d375c742cd6cd08602aea28449ec63c39f692a8a84915e90d8cea3e857c004c9341bde7c81e7e312d61d1313dcbbeaa5b8faad791e9dda0f709a35992840bfa7c5d6b407751a70c1a690dae9fad3cd796f4f2e7616fc2c704e72ed15f2ef5c84f73fbb84eb95e6f4585c6d098e8bd9df87e45156aa3c3845e3b550b01bd1c9d161571daadd4c8f73b41945f2b569eefb1167a2f6e2881d61e66dd311da0ef20f996f242fcbfeec2e131770757ac0f85e5b08bd268332469eee28ce60327973b26cbc8a8f762e6cd48b0390ec758b52af688218dc08390abf7a0c34a3a1505e24e241f35418949e4ee87155b9001e62767f7e82443ccc68aeed47919f5c8f484f0d83b14098165fba5d9971cd6846629ac1b15d1ee10df4ab76823533ee9b4409ee93badecd24ee234306ba5e07f847f99496e2a7190076a79e710396d5005cf1d84a488de88938348e0cdddbe9e3f352c738b19b20aab2bd908469d70d82e0c0a1f827a96afe48003178dd34af11bb481a2be4bec9b55f1e5b19ed316ca0dbf43c1fe5ed09434d877ef7df1add887f8ed292e48c56b5c9b357d486d136e95d93cd9f52bad75b2de599d23ec52f019ce620f82559951c5544e63daabfbb62c638b3dd3bf8f6fa903c673deaa3956a1df7dc67c4abee45a7fe4561096f4e3407b61f4618556190d0038f1ac88f0d0765ec917d90c9b54027d22c8eb0561cb08cd1f9291a438434f44f84029fb37d608ce4bdf9c1011d15e9859f84dad2487fd19019015223dbe3e7475ed52c5708c30a8b1b69e1c97c56c2cd403a145d9ab11966490d928313ae0585134de26c067061abc932867eecc40448a1e1566da23f0dd6c89e8b7ef7f130b55c3318a3b361567029dc72bc4ac98f20cee5613504b3daff63f8a866a6acc8253b7e3dc9ed574694fed999048ae352ce11b480f75b8d204555869a69a6c777604432be71a4f452bcd2fc0569a6f3cb6c5876f821a47b868425ec8d10ff8c00ad915337293b95425e1d1523d6353f4073e1c7ee06756f3b8f5eea1291e86db96c179b63cec93d2f192db23cfadd7ef2b661623c929dff16ff5bb59d6cb8917e4ae9acf43b27051ee7eab65fad85dad3d2785272d22cf122e9913879473f79ea64993071505d9b2f3a1231ed5a5cd69351539378ddb766f7fccd1ecdfa5e0a95ab4e95e3146c0d3798e4cb41df4f8c5ce2ccb4ed3efb4ecf7f3f7a732e853c8e51d223aecea404c9df8825ad6c8cfcaca7379166f74ef77b3513e4ab4fd138ecd2378933793d4cad7f86469fc1671d5466a63f1502ca4a492eef3767719db317d0caff806adb5edff78e1721bb14598517f4be09cc0495b504b50a957057fef40ce535bb97436fc3a0b00aab56c64e9a5bc78e94a3da17897e7e02f23d2982b6bf7bb0e2cb8ef4ee1e1233767947a22111409e7c9aa826c0fca8707d04460b548c9890275b943ae537f7811f22791dd66488945cbf9dfd3dc2b516af469826074b0052f6083c4af8ff5155d4678ce7783fd5929fbf8455513e803a874eeb3cea127c1c2275d51d43896a6de8733a85dcc22a0eebffd4f8ef20b20f1ed60433cbe0f56c786aaf88337d69008b80447ec21de6acf5e73e7594e2e0ea49895064440b8c63f87fca4982969ef5be17a6a4062d1c4bd6de2a56a2f67d18c9b37f6c9267b488ab1b833be6025165a64445a1fbc9b2215d32a9e925a886098619bc450ed14b0d51cd3d5b15eed127b6e039e72fc2f2467ab04b2e5f27a9586142039e73d5c9f55881fb20ac785807177d207c40d873fca84e58bf3a43a4ac9d1d30cf1275440f10118f0ae3a3e8bdea24081177bd0380c1dbd72abf1b2484920ebe79cb77b7cfcd9844e04b5ad7e8fcd475e899f912fe697b7777ca47e973e7ccd546439fcb395168fcb37e7ef0bd2564bdedf34b74a8bec074fc1c9f3ef7daa114a8d0c66f2e3a0304f3d0c9e701aca4a0e8063433783e955bd271c4b5e247bb0a2ed36b5e57fd43826dbfb724ce34a65fe3c5979ef531afe6b2365fa55cf01c223c4f44c2ff6042db61ef97c1cee8193fcc5f6f2c91c7a65a42ab258cc4943b80c403dded60e0014763c8bdce3376131658fc4672b20490c4a89029c37c77981926b9575c35cfb80cf89dd57e3919d85f57f51a04df0812cc344f8bbfbf88b530485d0bc80467839d38b6b85ac667a176c5e707235dcb24b7441f98be8e2e3222fc2e5cf2cf28153baadb6f15cfdb685d58c583065c63a7afde5ec", 0x2000, &(0x7f0000000d40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa000}}}, 0x0, 0x0, 0x0, 0x0}) 00:34:10 executing program 3: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000002080)='/proc/sys/net/ipv4/vs/sync_threshold\x00', 0x2, 0x0) read$FUSE(r0, &(0x7f0000000000)={0x2020}, 0x2020) write$FUSE_IOCTL(r0, &(0x7f0000002040)={0x20}, 0x20) 00:34:10 executing program 4: sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) stat(0x0, 0x0) sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f00000014c0)=0x4, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800"/11], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) open(0x0, 0x270000, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(0xffffffffffffffff, 0x4020ae46, &(0x7f0000001b80)={0x0, 0x0, 0xd000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) bpf$PROG_LOAD(0x5, 0x0, 0x0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000001480)={0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000001c00)=[{{&(0x7f0000001a00)=@l2tp={0x2, 0x0, @initdev}, 0x80, &(0x7f0000001bc0)=[{&(0x7f0000001a80)=""/63, 0x3f}], 0x1}, 0x7}], 0x1, 0x40000080, 0x0) ioctl$sock_SIOCSIFBR(0xffffffffffffffff, 0x8941, &(0x7f0000000000)=@generic={0x0, 0x0, 0x3}) 00:34:10 executing program 5: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:11 executing program 1: r0 = syz_open_dev$sndctrl(&(0x7f00000003c0), 0x0, 0x0) fsetxattr$security_ima(r0, &(0x7f0000000180), &(0x7f00000001c0)=ANY=[@ANYBLOB="a0"], 0x12, 0x0) 00:34:11 executing program 0: select(0x40, &(0x7f00000000c0)={0x2}, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x1}) 00:34:11 executing program 3: r0 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) getsockopt$IP_VS_SO_GET_SERVICE(r0, 0x11, 0x483, 0x0, 0xfffffffffffffffd) 00:34:11 executing program 1: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000140)='syz_tun\x00', 0x10) syz_emit_ethernet(0x66, &(0x7f0000000040)={@broadcast, @empty, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, '\x00', 0x30, 0x3a, 0x0, @remote, @mcast2, {[], @dest_unreach={0x2, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, '$\x00@', 0x0, 0x0, 0x0, @loopback, @mcast2}}}}}}}, 0x0) 00:34:11 executing program 0: select(0x40, &(0x7f00000000c0)={0x2}, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x1}) 00:34:11 executing program 1: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000140)='syz_tun\x00', 0x10) syz_emit_ethernet(0x66, &(0x7f0000000040)={@broadcast, @empty, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, '\x00', 0x30, 0x3a, 0x0, @remote, @mcast2, {[], @dest_unreach={0x2, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, '$\x00@', 0x0, 0x0, 0x0, @loopback, @mcast2}}}}}}}, 0x0) 00:34:11 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) getresgid(&(0x7f0000000040), &(0x7f0000000180)=0x0, &(0x7f0000000240)) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r1]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b899367468307dc2681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f00000001c0)={0x50, 0x0, 0x0, {0x7, 0x24, 0x0, 0x18000}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) pivot_root(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600), 0x0, 0x803e}, 0x40000}], 0x2, 0x0) syz_fuse_handle_req(r0, &(0x7f0000008880)="b5de73153fed6bec5a257b04f4ca283b8eb313ee2a8103e5a43c4f4f88f30a70c2e1f6344f9153c3fdb6a5e4974a3f4c31bec55ccaf35f9741ae5f3451cc569d0cf3db9e3ee0160fc66a8ae574404a8c559c41c0319c4e1a6d90a4dff651d72feb0fae53a9b390187dde4ffb693befca556b433f6e1d7b3b0e43de3ee7f3e4e33e3a763493ea4ce234cdfd97645bcd76bf98d1eaee0ba356e17e8db1fa36abae7defae51d99bee9222af5e1b8eb049b29c1d678b424573992b67b82ec49a6f7a8f25aca5fb663f349ca4558e06d92ba52d9efb556f1af092e4aa9b64fb92dc9c728e95883b01d146f7c063dfd5972c127462976a70450a4bb17be43e7093f657f6eba69240639cc7496617db101e888152bf7f5748422e0f6e6090ff9fb2f75200fd5a54256e2698560907ec4fcfacc218529a58b17c9489ea290b7f3e3ecd71b21d603f35287970a2f5c43480550569508071af1c863823018f1abe97db44b7cd977c458bd33505ad39b835901591eed8a2990216ca28de5b055cb4ef328d2efd4f34c75e023549024b2e2aaaac1243efddb3f00a28b0735b678effa14574cd6f8ea05d5f8dd734f8124f50a6bff2deeab4e460694a2e0de926e70f909b4c31ebd475c52bbc8fa9c90f937ce44385835af75bfdc30da1fd4a9a9e0a8bec6667d9103636abeff7abea68aa28c0ffbc926ffcb0b94238543e059736a9873a7dccfa2940c597b63355821131cd45dccbf4ca15ce93b3d64ffe95acb6e97c1fb016f0fe065734c06c79d2efb981b8d21b025e5398593d48d874b9becf57158d3d7a68b7cb8a3b049fc2d1bc93023b4ca3be7477547002a78aa6273e9ee1a72557ba48c496b09c877292497d930e88bf16d36be086a7c78fb9d941fc8841289a8654d0cfd6e8936a8e259400eaf3ff2f7ebeecc3acfebbbe9977f8627f7ff7004a1f37ca7bf2d1203876dee54c023febd1c969b04fd2f9aea745c49cf246a17eefddee99078e14f963acec3922514a8065a19c2f13e4e3a6f79eeda84d7a6fc826c3bed12ceee810f0d5ca4832036659622600aafa24414e45d82a7819a55e6bae39811e4e8a5431ca77ed63b3c45ad0ed19e961b4830a0b4f5fbd3a40f667b4565a1976bac9faf20beba3eb3abdc2a8c5ddb4ec537671245250246e54b514946e8d91f3dbd35b0e8fd0341d9da5ee41a0b1dc00223cd04650513eb6fb049532a39aa91a0a94d39e6ed40d3f1aaeff30a7aa7ac71bdef2cb96e0f3d97c33c17f1216d0c635ab16ed2810e349e9d810d55d9fa66b27886527f3794f9f7f2832cda131dc4d03e126342e3b6dbc9700d5fc6a9aa0a87998780a443906f8a4e4dd83a39f61e6f6daa52eb4557e7dd1825c336cc780879b1d583cd7beb248ee1283d8ae63f1d0f772e619f0fae91cd3f727820c15a172c2361798844b3d5947d348da26d2b4a1085ab119833deb79c8c064514a98ed657eb8d4833fb49dd5734460a601d9ee5e27e03f9ab5196e50b62439ed38b05275747ed79bef558642f6c6a9280f9fedea22ff6569d03db8ce9614b5d027dd8a41ad1e0cb04d94686ac724e06c0e9bda1dc6b9f3049cd263708340e060266daf77aebd6b239d0481c42897ceaf4798a8801f4f9e5f4468d0ac5b3505dc82706a692072f4ef61e2ceb3a0ff664d4fc65671f5638d05eac536e3a2bb74d68b15a830bd0588b1db567a0b9d3f262cb6b25e3658161fea9c8db69a072ca4f4560e80e88dbd6a5f08f55207bef91de2873c9657702f87e7626cbf9c3cee4202979b279ecfb2307f91e95d699ccbf871a143e01d6494574f0f6231895b86bf1aa4908203730208595e48daddc0693e532f3832f5f392b1382f2cedc027bdc4c6489d0901430b873738a3c2bccb26ed60b0f6827e645c8fc771ba9db8455c1f0b4e0f49e80f644dab42fab5d273f57f630aa8fbd9cc014fd6273bf81b2f21f4cd85f7fc8fa0d1c543635a0ca366ebf537bb40e46a41a8af770f40f0bb81eb3f948dfb84fcf69174f1af68d624626fca736a1463453d7b8183bf96ff6b588e4106ff2bc778aec6aadd57287b31e837ed1871352fb2c590a4f786e99594ba9c70ced7317a7a154be1b6cb8f6733cdc8acb60b27d5b593a4ab926fec3e3ce0cfce7b812da7bedfd6567b60b20c3ec46fbbe33373e82a7ff6e75fbbfea5f56a71c7620b41ec59b5dd9e9b88165bd56d390a62b9067779de1930bcafddc5ab601c9dab1bafc0ce134ccf88f6e175dcd2ab95722a3a6e00742a24773222bf96b4f2a8f976526844b57bf51313ae13e58c8e3746de03b05242c17dd1e92e737e92d847cafcf80e7a91a0848f8ac5116b5f8fc8f5a773562470df6b7b5cd2aac3c8a0d82de70db558e918449fcd9582e6822a134e337ae6a7fb5cfb442e68376d39173ff151f5561063492bcf172700c68f39fa4fa2da498d32a1ca46afba99ff72c998138520acde6f31b441fc07adbe2b884cb7667fb199c9b3aa261e9c3cc268d3a52f267590f52888930d743e9fde3b461d1d41d89f9d226cdc41419796aef9394546f9dca4a53008a7c2b535094334919e7e156a774470d4c83b283fb06202122e60713aee0436487839b202e584a57dfe24e8b20631fd9a3431f5b57db1ca15ae2d0e51d83db2a5a9b5618f8b5c61ad63493d566fcdd80cca057544386f6b4ba8dcd7600624544b1bdc19c30b34e8d12b76022eed020c43d9b4bb7885392823551093b075992ff717a41e1f8f76e9b50089246a8c19b578dfb55a6b4ec843a236625e7d63f50c49073d3ee43aab63b97b4a9a4ccf2212b320530b0f422fe8830680469e6ae95ef8e42ea0bc5effea67005453698bed861fa8c382ecc32ea96a1dd9b2eb7ca72a3da55a8ef5c19f3132460f438abbce70aa0b52a374a9f86d7d4d1c4908514d64cc4a336abcc97ee5e751b67c298f6936d4002eab4bcac3e0a55f75af8fe48c90528b93cb90727e2bafc8398846ef82a9e1dbe825f13ec55374f880529070e507541694e401f4422185f8e2a1f67c57339a0465b30784f6cd29106f8a29b024aa77a7531bd11aa5a975ad62e34ed9e43d8508cabadf6f6c50857c4625c3fd004fdccccf95305458e5be967f4a01b0eac3536f49c6deb5436891af77db8dae4195ab8bf2646e50da567be814650fcfa5b78a1bf16cb263cc83aa837742a8c660c39743ab181d7aa1bfb179aef49cc3dac9ca7341004b80269fc295e86209c27406cbbf755905d34559bdb95054999278032581d4c2c663fab7712498059a9b1e179c7a227aa33b393168cceff6939584ef2e13faed03bc3b477efad7d72807ff9beb16fc35590af64c2c5cc5f56129ae403a78aa300752db51d0deefae193b180a3cee4f27c5d07a0b70923a59f12e9352e395572c7aafee7b66ccf1bf459cac60db5cba9abd4ab9876ba725d9026d21f972b2d092cc331cb8d7d61f9cd153102db5bebbcda06315e94fa965f82bf4fa9b830ec18512e21e6d93eca4d1233f638f6d09d0d8523a16f0cbdbeccd4a5a874e60b001379cdebb25ff57c0756c3323f1d36634b477e64b9dae2086a62fabd3a49c4bfe239e56a3c514c10c5e6a36f2d2e16e92608fc169dba04bb952ee2377ece5811ae0a7ce16e88f2018cdb78f9ec20b63c0b8fc71c7b332bbbee4d4bcadd237f08532bcd323bc38e9138e617cf47cd35cb3b64b02a6a348d24e4062168e1f43ae99e9f988b46169060fb0720853ebe594079ff1a7840e98e022796ae7acc2168e92c4d0bd3ef7588ddc42aa3f925f9c160014f5f895d5cd1d481a4eafd3816009080665802b5ee6e157b5bd8ffd7384067d60054a5fcb81115f658c54fcf1099ee4ac0b65b789e2cffbf56911fc4eb218f2c27a5403a466768d9b4d7a72fd94d2bdd75d48083f003a65157e6f05fef5b4ccd251428830d3613a0e4f5170a8fa9e211324e436d01af54649a330faaf706be02f78f73b625b940c0e0f55fa46412a347116d32afb8a1727460130b82377d8e58830822492d1a486289d5d4628ddfccf721cc9f57136aafe66ab357f4515e308a2ad5e92d436e6deb0513b46bef0145dff3771a2683830345802d61c59deb9089ebd3ee1711bb95aa843ea0c796dba57cd03eb5ef53230e5bd1588ff493d390836ff0aeea6c447846fd82e2ec173970403d0314013d0a4f471214e4bbe985d3f62105bcd57bbacd6b8de6bd038eb2e3785b3e19b30aa70c078a0a45f38e059c5a97c8671271c1c28ed23fc64dfe40a446c7168d06a705735d338fadb4e5a4e6d7a2216cf74e7261468839f6878b1c64698066efa6007f2fd0c615f7f2667b56bc17739ce85797fed723e9dcb7dbe31f1f3129664cf4eff652f4d72e46750120387ac2cc4f6d677e572a0897e19d4780f8167eba823e99119f35cc04e198f12b147586766a492bc502d117fd91b911406a7f95123a796424448e6430d282d8375edc1a04d42b4f183227c7ac202daf999af6cd326719233871137e1ad18dc2d73533fca9f90b1f015ba79c25b3739c26bc50923c62690d7d5e5eccdab021e274d500677d488e51fe55787b06d8e6d314738eac4bd365ecb5c48c13257b6cdf3ce282c37ef3311cdea2a604d6775c7721d9666bb7dcab5f85fd32db65c00f6e41e3965073e9d87b97283830b7c3c586355d3fb4d75b6553fdbd2f88112ec7e2e264ce2653a7b7166578a615e5188c54b6176272ec3b055757456833aec7d95b0f36b47153aca45db9ab3aac070793a0dea61cfb46cc5313c8c63e1a68774cda04b61c4ef1c7b85249f6844cd6949b7b126d62b8e378199d906f35e0c2f498772447f9e34b37e3ca350539ee08a4f5262f48bc1ec9bd859dc388453349d3adbc081c9329165f715185c256f7e0a8b14ac9f8f1d353cd63aaf57c0eff908711a426519239cf7fd0c6e872720338b9c177b2684c1a8e00db91a78e82da4094b4775cf0477cb36d8f0b8739f33ceabc57024c1d2148b2d2263f78affb35f96a4aed0a81ca055614111396737025b77cf97fbe8ef6ba51a0f427c2a94d2ceca149a97c5652ec8a530622bf8ba3dc8b9fe1bb5b4d92e7d96e4ec32def82ec09632e18af4defd9856dfcd7e639853e71ad187d91d65d41780ab227aafd3ad860ecbc8a8880d779f2853eb45a41002491e393a143951cfbf4f236e823101c8c3f3d1fe23729d10fa14b100864b44912989ed7b796556150204027ea1d39dc68248da6256e9a1b885e2724f3e4ed80dd24e72b3ea42e9b5dab54f892f0bb8e6be989a9dc6f3f8f683d9cf938bdd6940c914998621e95e6a47448e3f51b76d6b2e5bb8208c69e8250feb94ff3c3df463f0a6e445e1253cd89e3dc80b78caab81e1e688f2e377019db31bde1378b104c20f96cf671a96b23f677bf219e71e5304ae5e95f6e54bee67402e002f28d3b1443f5c3746e1d0af2aecff03fbbe74baec957f86f2eadee0101eb1a7b2d75c3f4596355ea4fe215b997a620bd72d52904eafe811b5a613826c13b5076495fe32de2ac2662e1d7b845aed557e93c7179d9115369d6861611bb7093bc189c60c925f194cb91c609a9accd3aa6a2675ddce7e7ea71f9e6ee4ad6c50cd49dd19547e5e37fc82e84db7b856254a14aedca22f7e95461b12fe4c06d8d2553a74289850854f07504bc49c1f862d0572a8997f3b756f139c0ccaa087931ec6803290a5554ef57ead1b15182ad4c1e7447137c19029012a81a4c6ab57cd3e9653e1679d39298c6cfb3592739436d989568e6a39a1fdcb80b011cd33ba4f37648860a00f3e86904a75111d6a0d97474de71aa71001564e8ba4ac16e6477b60c4efbc6f5ea788985aefabb3bcf26b3e40149e3cd70f9edb3be42f4d1bc1b0fbbc74443f6454ecc57e800c9e967e288623f8848e29d000a93e5cfef382aa4c001db7a98b8155664b1352521c3a8f994dee27f368be3b53f64c2e44113e973222b378e98a0d30b6984f2ff9bbd4b9c5ecfcf0c38dec02046c02c42a705a2f577e79365953eda4799dcf812f4b4f1bc528f6c4bca62a601478200573be61ac199bde05f8f4dd1165fe5d8e157121b58a97204422052e6bd896d0e10404b6d1b0b7333783bf10cf627773dd6ce6b06131828e1f82ed2083f7c2260ac1298a69180fa91ce16cd3796a126506d1fb2b9e0194c6a4d9180e7a6de1496a017a05901c82dc4d24579b73f1fc32d085d252bee6b929d067861ae0886f204dd323b459a6871c538d4f41991e34aba3fec5005b292cedd65c629269024a5a7566578cfdbe5787522057406e0f5de0843ecfa3ac964c0419761d456eebe5d2053c31fd4bad4bf5a0ff4fa704d28955f12c656dd812952e8ba53b1b5be09eaa05d50c3d40cd7af46086c2bfcb2cc7d331e1a6f5b51cadfd0cfe71f07eb9af3a37e29167062500e9808ac939897a60323d650d592d7fc406057ad6c25c8f0d1dfbfdfa1e8e0658e1fe5d76848ca3d418b82ebbbc0cf6fbcbe11425ef8f65a99385dcb9ed893387bc02481a3da5d2fe1272ce5d4811971e8152b661a748e97dae71d17182bfbcc714f8347f6d5c70eb8f64801aa5da5104c74d85e5e8c5741c7ed797312920fc7c0c0a3804c0446cf56a55e046b8eb3330deabbec7f03e649fe5bd70318050928db54e766ba119fa4dbf6c92d06523440c3fa1f9315996bd9b028d9a24171f0d5a3bc088d4c5ce0646d47db9f8246989ee6093ddd65f46e00d6d843e48271dd4ce0972ca0a8f07215e1eb6a36c8b66c7f07378efb092bf746b24d225645041b63a65a6977fc756cacd018d531d2001541328dde849058c80c68e764fa4a48b50333def90870779f5df3c16b6d1b4e37b0248a58b4a7988f9a599432989eb148b6f31253501ca682d342ac3d12bd4b2b1294b79a9727a521ef3048531300a62ad75237a4693720d47470bc4e2f2270c57dc0c36fd63ea46f340cc946936eb5591853c4a0d96b44a3ce8faebbd47925aa38a9c8ef85887b80793ff2c7f6bb0d1fadc4dc01792405b50caa6b7b89ccf81e459318e6685e60ffb44b8c1e6976181a6205963f895a54b93ef6b885fede2fdd8362aa347a3b44e3d2794a8a06e52caf0a642ede31e6f7e7b8cb16b4a3fa3504ac2a466d55d7492527cd3850e30694abd4e4294d0301ea21d54f063a1c811e78eba53dbc4ddeeb33b9dd33ebe5069ce4c49b4282c904dd716d5b7bbdbbc7db6207ebee22aabe3e7179fe41223f412815e6f63ce674a15a650ccd67aea1e3f07c2887b309725808417676b0d543932fab39ba9d643e2fcf5b350316a928a5e8927b37b9e5109f0011a654208bf01802e6438db69ad82ef8e1a0bf9fb4f2642e2505d675070fc261af4cf6dd6a4aad0c5e2608de4a936fd5ab61906cd8ac77d47ef7c2f0321bfda2ad8ff3b77293b5b8c49f851660dd4e256fa8aa938db8b72b3866d6edf49e05a1a6812c602b9880ddf7ae44163a807e82143a87d74ef585985fbcf5100b4d45cd41e6049219dca8f36ddff101bd177766fdf12e865557354ae56fcf03cc52ac6db3d1fe28b87b9e81e41c97bdcb08aabf4f9101b8c36e2b9f3bdacdd91fe8cd62ee58359f60402da51852af189edb9b304453655887eaf5ad971d1e8537ffa0a8911759ffbdf3a60f542272f13af5e7b4b5119f4be2a753a870ddc78921f486f7cbb42c6800e3716aebd64a20b265882e5e0577cf9d973e5fc31addd66b4270ae933b44f23843b3ace5182829c523a64534e1f923f02795d82ef2ed9375723881b4ebb9f37fe942a2abd12f7759793cc2272e4c31e6a5047b269552f4fcaf81ad597c71e126ec7e10339c2b77b75fe2b970262fe844a4be3b16a17733abb30c0efb442d4fce09f2a5462488f6892f52fad9fc41802bd6d4c738f0f8e77a1b88672b397d4cffdb7f5facfb05fe9d16b755acba9a741786ab6c0556c6dc28065d8e91b8db9bbfa89adaa99ff9ac0b06e0b51ba96efa435a75224142a90c6e7624c068119bb64b8e8f91728b466b9839d9c27de01d841c4f022eeb09603f3f09e11b7e82457b30f944387d1c104a5236c1f855172fea13d8ced372d7c47ccb60a3f9a84c5699fedecf5436b947c44b1c9cd5bb50a2e3942c342fd56cdb219c2d2be7cbab92ce7793573111e99041d1953193b6b7f2531c25c1e51dd38b1487f8795e788b5ec831feb7faceb44bfddd1b98635e191c36e38b1a93161a01328789b1820677039a32f1b11c611f8fb1c70b88a7609ba105fc35de719d0924cb1286d2007acda3b413d18f9956ce1769c4c830e81fc5dcfb05a6f6a7c673e90a9c92c85dd6d92ac61ca864a31a497cf15ca69861b919802a814540ea87aeb004e940d4329b203b78c6ec5de30242445623d5ed12b18697f11d80c96501318f02be34a79da47c08d60faac0f63b82b73b37e9c920bc703b18e95c9870034ae530332f99a0409ab6802a417de73611e0534866a0e85d0da4ee74f48c5671554e7fb3ebb52ded055060e74a3b9852485e162783e1d1096ae78575cb3bc81ee972b236589cfd47d32003469d80adbb68044d7a0016d763e04aec6f704e7b05ac8aa7304dca3bae930b447a9737ffbb4e43d6562dcee663ff9af3c1d8d9d00f4eb2f5340f8d4d932a8f20ef3ee87a42cc707e345f49092eb70f8a59285cb62eb9c3040946658a6491b6f3e773c73a33f1fb905a7f5c487406b16f6acae38b44818d18a458a593b5d6695e2483ea871f10a549244c4bae2edca0574f9bb386e40b29ce61ac4d085c2ed387dc8ce0666017301c29759a44484ef0206cab06d65d026eef3185685ae9881bfac1743742100ce6f03713d4b549bf84f9eaaf73cf29df2e5ec97d270909e8c3f06cf485fee1b7b0e6a99dbe331e0a996cbff9692691b2879d2008af50635ed6288eb9f3b8d43f33c4e90850e20477bd43ec0570f3757fd4dfbe1e09bf23ca7a49cb2ec475345d70d5b3cd13859c5186af70bec70d6c867feff382159a9206ce12871919fbc99f80849a65934405957dab46a114065dddd10876bdbdc1847d8f317911131b6a6aa7902fa1b9c39370c8aa7ef216ed444524731a1bf152bf87a0f4611bd7549ac44344143d00162f56ec5593f2f5878033dbb7c0064cb67bc290b428df350a54fb74ee8692945cde2929d93ec334a6ea4911ccbef1c3612d73050cd8c14e212fda03bb95d9f7117479a29d40026ecee0c001d0411b466fe585284be6388286016e254234a68fe88f91e9d1713669973060ba7f2b412b62bf26e0990780ffa4a958edbf76e9395bd09e67cf85173a06f3c97f66e482a8917cbaf7e78569eca71565c32d365f0656ccd8a8ff3e478545da82cd34c178fb008aecc26df9ac572955caac9763d5631ef5899c33ddc2e128d53c51b6dd2752db2725a8b438d75ecf6e521b4b189d9511b1df69feb1c78c28c7f511d7ede9dd6856aec54341b6f1c22b881b8aa0e90265525a8b72cd3afbe6934dc97743a18a9340be87cb847c6d484400b20017190f7b7d8b5cf9ec759553b427ff8e34fc2cf8ee952d014cf60d7898d5e97c4c1b3a4777ded26fd7cc5c92a2ace2b8044b6dacf7edc7c7213a898ddf8619361c8cc9753c85ec77e799cf66913b3c96fe71aedc076329b66e51acc9be608ce3e4b59573a1af474d441e575cb708382f44ef4412d3ec892933bc694a03eab9b68ab947f250f1b4d286f929067643c49c9a6d58004f80c915e3c44666fd8b6976c28fac191b2449726762c2e8dbdd67cca00335c66ddba21afdd18bc56818f14abf2e096742e46984b9a9dad44f4321c969124cb8ec2c19251d864cb07648cad5a5016f69c9dd4e360218c45e589b781f1cb683946c106d128bd726b57613c253ecd6f58028be59ce7ca872bb16151938cdc4da93e8fcccd60aff90ffce6bc82f2ffebfb069a73fac0363d351bdbd5903983d7de9cf18d3338bbf10e766f5e106f514619d03d4335bba16b209c1ab4dd94c69433537dd4a15571c9414620619b33982de7d05313c588992f88702c03d4bd5a826b2e6b6bc201e923f7726bac3ce094bf0b88c8689d92ba27b5a1a15bafac1d1292d87794d9b1b198f3a74ab85f9332a45e7a229623a4c4d6b76d7b7fa94c7fde26b3ffbbd510357077c31c99cdeb5d96f0664d59b273227d88f8ed78fe5cd67cf86224acbfeeea640f03a126068187f691981851b577ca2cc1743437d8c4ea011fa468c4b47d259321a18f532dbf48fd5892df8443ae57d000bf1d7daaf7b4fb21cb5d17292a5cb77d11d216021c652e69c6342eb7e9d972868e4e043a6090d57066f3efa815305260ee9d947f9ec9aa2c0344a8b907e8795a435206d34a87fa7a24b8bafc7c8275ef61a73bb64f25bd4b0b084c7269aec70584c51845eaf567bbd022242895e871b916cec4c79570fffae91c92683ec6b24e2240972d81976f8f896544dab03a5205ad0335bc7778b4665b363f13524da801075a132747ae1f65d4acbefc09bf90719d764abef4a6d71940a8748f16f5aa3ce7479f8e1cdf9ec42f2fe0ecee39b71ec6a488e0aaf156a1087d72d52f817acc733feaf0ac5707fb89a4aab0f1bb319b9a2acca300bfab92d1e900ea2aa95421df770c1d2ef2a464354c013421c61426814e31299dd84a705012f563c3c70afb7243efad934131bc2b88c7808f4ea479ea1bfb5e8a7786710e3bd64fc9a17538eaa51f864b0703f1ed0915d1777954d1bc807745a1badffd060955a2c704ae2751b23ac8929dcefbdbd7d5ac2263bec4eb40480b44d6f16e56441ce55ed31d8c94eb5efd4b6c4f9cec7650cb2330d429bd8151067ec7b03fcccd9a007c1b5bee2062e0c9830bac08e32fd895841c8fee2168f647bf7496f0b9e77146963947019ea04a071877120685ab6a75783aed1ca894847f22dbeb278c97cc72a616ee58c0215334febc832e199c562386c77521162c9f7e2251b5811e1fc84e74c8729e171ad41823dfe55e928dbe10209a21173d7945f77ac5e30bb18eff74569f4e0c14fa4d8dff19d0ac94fdd1e44d28d60d9c984970348ad2c9d57d3d3f4abb0f19ad21f4bf498b972bdad3ef54745dc317c73ed2dece485f95d1724dc329477913ee3a2a6ff99ddbab5a1d337fff7e82bff967b5572ec10695300a8fbf8594e94d12ef7aa89b1947576145ec3215b1340c2a296bfdc7f59952e0953057b39c8b187bc4549c8d7941d5f887ca1782f10bbd965c1830ee4057b7112fa241444c2113b43aade03c27306712dd0f072f07f25ed06267e0781871fb231714a93b2b89105d3fc10516916a748cd0717cadf91b9c5bf5decbadb222de6559afa8712ec87c7b2a53e62c42b78a2edc1cd20d0539101561d8c8bffbf92606061dd506cad7095fdc0762d61989123a917bedae0dbe14b09cdbf77e56bbd82907d20065c7f54a4d8688f6c73c855c6e7f2e2ffa7c57a9437ac5f57ef51e6915dabe19fec87ea38fd35b01d173ac94e2d2a66e8a3d6efb621f63c747430d2cbd5080f6470979f402e81448985f7e321df88b1e0d2a0ed4680d4e0520228b55933794b6d38ae91eb149afb605cae6875cf666a7d0076d4898f30af6566d7747df4d", 0x2000, &(0x7f0000001200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000980)={0x90, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="e3f81d3109f9b81ca9b444366f3d22bc6bfcd97af568957692b6046b5ecfb205004ae31361debaae7cc55928eafb73e566c0f42b919a43ed8606ee033ab080dfbc810e95c8378d484ffbdb95609e8917647e1888a590957bc7ea445e0059a2812ad32bf1a7f924744708c1d04e35cac61c37db4a345ad00ad6def29de90947271d0c2782cbc7d4134ac2dc6cb28be59a96489e9754739e93611a988366377fe1955e75ed8cf1c124b969d3d5e57ea38c7172222c3e2a6ff15d983bb9342f0a611f993de9bbce0423ccfbe0bfefb4585b0f559f4fc56c7d8fa9a31834df5aaa122c1fa3eac4cc33196deb73c053d89b4c24d8083ad790cf741d1531aa3d5bdac679895cd8b3d8ad68402dfaf48fec06df1ea15f42f41546cec3136bab2e7f28b4a3dded0a267e1b200cba99326cd2ecaa231b327adf74a0f3870fc2cfbcaeb49cb9aa1d8fdc3095e63c0c8ce0636fde80751c4de3ae946f48a31d51bb52065fc48f5559c5a9b12f482f52f30dca9f4606329082542ddb1c967bd06568270d19099441eb05fc39a964c4fd0eec8b89d06ca0636f3f8f6990a6891f7b58df5725136a5459d076d6408efb4c4696e49b159e64e843bacef2d18fcae9f13de09943d9fd49972e6534fa31dcf91645b6ecfe3f13ac65e146e9a5f1091a090445b878333ca4ee13f308aa3e43c15fd33859cfd0db6d52493eea2d65601eeadafedcd90e8c7a9f2289aa797b8236cc76d61ea5cff56522eb1dfcd85fd0a5640417e256615757c3760dcc83bcefd152022e1891bd2d9573b6277963291670072b1967f80af93500f9073d80b71d377b4516028ad3cf3e1e877f925f27bd949ec39e3813c279924d57dc66b019fce854c1f874c2cbc168cf4e2e3f28c1ff33bd51dc7ca4475116a3e333e789995bd4f94f649bf280c9896d7c9f3f262f6bb301489d0c688cedaff837771db2dfa165b4dbf7696e8a9282dcfe610b5207793fab47ef871d40728fdaeab4f36719988cba4073ab5f6010d894cc89363ed00fcf97ff4ffd131b4b3a2e31a81bfdefb4e686bb8f2b530f7cdb3b4386919b0c58db44c50ab73a652e515bde3bff0ee7ce33f4d059a2694a81aea7dd4df89bd713bdf001a5e07fc569334eddb9221fa45ab06554b8703d65b6f7a788e28a5b2c600805325dd92bbddcd07f38835a92d0158a315a04b4b31ce3026fd78ad6b29dcc4fe1b9a1f0c8045d2c17d2602dfb9f54b8882eb0a5183263d8d5416c2335742c68938340202965a8af73f5cc4a5f347b98662a24c927c86283908258d4da11a81ea4b6fe1837ac2ae71849ad3525633cf89364b77c8cdea83b92a6cbe66555fdf32006e1562dfddfeb4886af915481596c4c76e6368d4fd0f4e407c6d089e3eafef5e24d8cb4f4a1fbdd9005329b03ce1ebc22881f69b47fbb7abe9a39c1860f2f3f6612b53ebd63d5abb119c71f96599f7129611f569f4d720c2ad10d8fd9d1c071d4699c7b669418dc0d12472977d12903a6eda4209271cf1495c75f1329bf64b4ab0c31a37a09a40a9a908dc99eeebfdc3e8b2daa062b2f1abe23b0bff3ef00642f37ddc33f978225f881045134d499c6b7d747c0bd697f1735ce388ccb45b8bca01006066f8a274fe20eefdf25457f6ac29bd2dd56fb1c659a6e2f7476a583c47f911cd421fd627d97c0d88cf8482463bbb889ec07ea486e98dc0c5ce2f7dabb329dcb3e0570f6936f0d7cff623d51b4187ba421ee66ae3977c6d85253b517be29f38b7dde6573d817ee506ae5b8e34e597d400c7d7d0e787dcf2c6106b7d066592ef1ac576377f2f1db4d1963ebc30b36cf8140d04040d30dbd6bcf99d604e661b17e5fc92e275dc01d392628658b00e57fc9fc8c3f29e5654351173947682952a300c06ccd9f00bcb0c44fc710452044d66040205545e7912b2c9922793384e6f6c592d857860e56be31988e27e3d0bdd2a02844ee3e6072f11ddb65f2c49a6b97560c2af0b85dd157eddde77baa0c75104e6cbc6631b0326d691c3f2d4bb1c89bc68fba277a55e8f501008900d6dec8334439b7236d3a076e7376584829dd05ab808d4a33021bcec6d7acb09a80086bd7b5fea2dd4638ff9243f02ccad1d5f539a509ca9ddaa406c1250dceec1b41e3f21a53df62f6f630ecc86113035c994c71b5ec3764965825b2f58f9efe4a341ed6bacf5492f51ebed841a216560ccaed8cfc7f1fbc88c7839e11ed2806237acd973fcd30bd122e2391a71c11265a6e4d7233bd9d871cb9ea98de55e657038ab1710db43f27475e9bf6714b5ef64fab33fa151da4f501f601584bc3f2c1eb5de5064c64df4b64b0df634e0b694e99b83a594e06bd5dca4b72b91a94ac8ff56a880fb7e97df9054d25306b179c4c305519a7b4c9766171cb40bf36070aff0a893cf646cdbbe941397899b5f4ef8a640616a6f684d1394866bb0bc0a84af20ee1b54c6c3ef7c94b38e90753a2f16957211972de2588c92d2846ef716836ac359470c716fb04e603741236359cb252b09ad300c63b5142e08eb70878c1aa37671752d55ebcd780d32e34320fd78779ba7dd1e914c0404b25642c3bd8a4e0680b254691adebe6cef5008d5cf164a240c44c6d59141e33a4952a1c73fb8cd4f474b3eb8d7fb13bac009a8917fae50cb6be5db9a21d6418b71a3939e80fd4372201857bb43ae65ee5c90eb36d27e499f7a84d0e6366159307a824ce198a7671f44e7f370456da46e642308fc4d154db15b8470e89cf23b61df9c1fde97f3227e16c742c79e7d41fbb4902f76d5958813e83f07f02881e2542f898f7aa31431cd35a22d9b6cf3b720f9aba57d8e7269a0f8c7a780c59962faf271c90d7e43a1e9b76cc3168de9b8cb9795f96af0cb196825efe303757d1237f3ceb6a1336bf9d893179ce18397e5ebe7ce7fd2a7fd009d3156cc3d363a8f0da9ba2f50cdec0720882265587e7b79e868325f76f2b056eb23d005eeb9a7789c072fbc1b369bf51bd82a83f88adf4802a9ac516e5d50e8f318ec125a179b616d204264d7ea698e457ebdc33737272f60dd6d8127b8b252b43edee1278345aa2e7ad4dadc55a50eabc7276e44d3197d3a636ccb575359b9ccb629cf16bc2f36263a02dc96e19b8abdf9f69b91b3e0f4bfe7b95b86e35dd29768d9f6e41978cca21b24b5a42314c1a6d9b69f7cc67686a89f3d8fc46b59a91b68b957c27bd8c983d5b0d73726d94b59079158930f5d79034fd4c4dfbee80874ef19074e53255fcfd84ba1ecdb717b1a00c9bf4760512bb65b9b4851f08264901904720c59c0ab7a62437f3bdd2cac317b4cbb930115a723c1285a948afcf29c9299c9833ac7081cbafc91569d862b1a446aec775e79f5e8c358531f7501c12015855a806c3fe3660b852ce8ea77f45f649e196845e5137ea0039585c562e129ed4bdc64833b2be1c720214ea1f6b8e36683380c0631a2997e73ba99e2afd90af09e0cff96b653b68d05240b0010a90117f4e2a711dfda063fd2944c353266e693c580cd77f56c66538b57dc7436c002bfc0854a927f572943066b88227cb43c3baa9cd5ee2fa6f13aec1f186bc268fe035c299d2020373da6eead145c649a96dd8879e5954acf58af6fa36cc2d1662f3c31e0a5bba511146ff7c287725395535918c9d7c952a55b3fdb05eb66225f9a42469feef000e1a52617b10dbe36dd94f912dd712c7400a9958a25c8d83ce6ba0965a0477ce3829fa2a4579211b6fe40fa276e51e470a1f9a789f9868b6eda5437b276de18421bcb248b67c4e5fb0535b630db4f92c4e2bd28cf645371cc83694c52944aeffd13841416a7240ef8e1dcb37c71f1a38edda9c93a8ee125e7bba125748687cedec90d62ee73815be913c1fd2a5f0a42833cfa4894ba8eb5c377d5a466fcc7e4a75649c3e4a3008ed6eafed1a0f818804cadc1fe1dd2c13d21288b5399ef7fef5b5a1a5df6336272259f2f27d262e5bc6656613083758ebfd712849d792a2dc699fab711fae696baa578def93325fa1e88472c3915abe59c440a6f19e895805e5ffb4488bf9f61351f4db8439a091bc7c994b755fd4ee7e6f99fe53641b5ecdea577408e6a69e4b0e0a1c5d300a4036cdcb35aeb548123139cc10f0aa96ecea31026fd84efebea18e00ef358b9bed0aec3cc8e0ea3c734f1822c807261d3dc5549e8a3d58363ef50646925f305e5df01e809de80b57d34ba2a1326479fe3d06ba967a0f21c59f3f2e707d1368ff4f2b7b244d4928fd76e0940487860068294ef55f1dd0dde1a7fe196ed651170cb800310892d79f523550747ba518209acfe4a32d61c45a8b7b561063c1919509986364311e71f820143832b36a7241a7984b5866c8643d4cfbac116cdb65a1e36922322f05e3269d75add7aa828af8e8db87975a19a22a4adde6240703619b6be83bff5512620a7d80b33ae0d51047d27393c0ef73b95f301ab4c81906d6da0375b379dfe16a031c72cc6270fde07b3a66fb88de11352adec0386a8f01a27c4813811586b66d89adb421c688a4139f898bed18068e295cfb1757bdf2725a35fe2f04065f38e3e0b5c4c1c372e628ba35d52b29477bc72d8579eebb86b0d5da5f1d8411da31f2afb92e562cd4b4f83ad5e1d34d37d696ffa54bd690e760eb93b462569c2032aac62318c4c64f039b7b5cbab7d26a4ad441129224de9246dce040b508d27dc9f56c499ed9d1cb7519dafe868650f4074d593135d3c96ed33c17314cc07f280b51afe53757e48ec621d46e62b49896cc432e57a6621c87979c997971e0517479fb80565daff8acbd3d00926adef0a0fbf2c541a4a20c2cd35237752d3af827037bf1b81c1726f062dd687ddfde53255001196c871d23ef609112dbdc4f80fba2a390e93784781180a02cd54df881c9cf426680c10615a10ddeb430460787647bedfe4a7987f0bb45d77594cb1a5c7b671e897f00d2cbdfcf1633fa6ca2f75ef6310f40b6b2bbcc775b6bc74a4f8781b280f06d5bbd571c093f9327e0cd0f1618c1d373f564f959ef8708d17ab7f5275e8ae105181f0a59af33fad84dd8386f52562b145d34c511f6c0db1d46709e4c8deabb0c88cd4a4fdede19292901aa9d3d2f4ad011cad851f4d3a5417f41209df8e83357e450c6badfde2d8c6f94bd2a6e6b9563a71addc19fb837695e140eb338d486fbad6e13ba3e534698f6cf0f0f12f412da79d656769f14facfc186a1c08b40c8ec642d83025604c1d29f120e5809769e8e1a5fc7a5795979ee6274a9999ecded6dcf5c8c7c731b0b14104d4e942bd9bfe633fbe7eab254b028c306f7fb1edb1e18ff41a1f7911fdaeb4745f93ee56b3bfc4b6242c9c04b519af6f4810994200fd0792141bc6ef3a47f495fd63dee3c2da58e2145fb2fa8c91f15f8d49d3f75bcebcbb2566cb3258538d680172d0b3f3fa5c6db91f1826968cf047620b43680dba40318bb76e6d11ff8a2584ad03f3ca4e963b5a1fe4719b4fbfc773880343dd596a6a2b1383c888808981b625248bf0c4b1baba0c9565b3be84441fe08feaf7e278886ad249e7ff8ec713091d7a9a51d25d57f3989d31851cc1e46c4165c6c2548ad424529b2b745469040aeac123b26ff4348bb4a232a73248738a8db9b37ce44f136e65f4213d2eaceb4e823941e234b1dc7094ab973ae76f300ee4986f11a64893f28ba3de9cade63bc2dfa7710933a30253203d5fa9dbaca9a6a493fffd8c2196e52a25bd2272de976ef23ac250a4755f233c15c9bc9f278ca29a57f55bcefaba4c352dae4d90f269c5d4f8a3ec03572bb6d9b4328b9505232fb7f4c95be407792bb6108b664d472fbd517e646c19257bee532d15298694829dafd502fa9ffa6bad1ab3ddb4194c80c8d514107b0cafa9ffba1bf455902bf8d43c0dd29c4246b26044ffc503388c17db0515e29c4db5b4d97a3e4799d3f5c107d1fc264b2a6f21fce1767ed427bcdc9e30246a73c3712859439fd58f9c588b0dea79545920a500a029b2951b7e2b844621747309b765fcef88617797c31fedc6721f71b1ad1b93081479d000ca4460210013d99cb943ae0b6c8cf38b98c64047db93b3ffcf767b427880897cd3dccd8f273c0de8df221e114cbfbd5c189a1930f8ef09a93d9a4e16ea6dd68b0d93fc65e547f3f3cf0eb938f75a78a0d9c151d977c2ba956bf7714b3ffbb1e1401954b70e1ea879109a3ba5c7bad59505ac9f4056a38f5163ab4997b542676d1e1c91e66c9397ed53821ebb6015406fa568c9da9cdc7fef27b7c510bafc6457d2f83d7ba4e001dce8bfffd1886b8652038fee131e7d13acec7f417c47e7504723f98a7e1bc5b674d155b941d15311be83ff30649183f1c3de2dac4bdd0c1866091e1eb032667a191aeb6f0d359f66439fc23b64c60c6c55723fc0df396061066ee6290b410c71540ef50f2ba5560efcd2aea0a196c6d63e178d67f09697f147f4acc13b18ff4623f403f23fe4bb37bbb547575b48daa8e227e28084156dfcebf8f3e8ab7a4ac14e6b0a0ad2c281a8bdfa3da2e0fe5469aa3c530144dcc5f7168705843180e8cbee387e4a91789f959d8de9b0095b0e0c249ab77f55db84ed4863ad0b918b28f423d6c2ce75ad7efef6849acf2c4e61ef56e81dce43e90e52d1521f3eaed340b87336537eaec4fd78096d0617e5606e3be5d461ebb5f203c1d3a9334d4f9172d92cc2586d94a96d00d6eba6972a431ec0567f3d02c3f5bf172afb14b80588b1fefe63882d6657d161a88201e24abe04f2cc6fcd5ba40d0aa2aecfb79d407ab898aa0b37194b1d710a34fc3ffdfb0777479bb330f1e0a2142a26b9af3ce0c6013a99bf4fd6bb907c178da07faaabb46d4876d8f4a42be289c6a5d7498d78cfbbe4505824d208e59d05b00be6ca5abaebfc6e5a0e122f4c929262f25a5ea2f4d7e112edda5e6dc1c0518fdcd74d5fc544e88b54a3b0c321f20c696a4b68e73558e6eb46b8d8cc1598d0f5e28cddf47084c221be14e9b8e37409fc9a80f0a4743255ae659146b5ae61bf3ca2b3f8b6618dd6246aa79ebe9a86deb812c1bd260408e75c700007b360c798d770487393e310d44cd80be012d700ca1ef37d9cf3bddb0c13e88df872e9461ebc93c4ef54e1f89116b62898e852cc3934a0cf7d972acfd1db8c6faed41f936ca62ebdcabbbd9e5585295ca351226dc82e3e86ae09c0cdec28f17c72d343b3c2ae15ea13de64b7c518c75b8bb3b7b8d2209bbf2fdd122e8663523801d9bb58cd666802be53852c01568028f40b79469364a634f21b672c400b635939b7755b9f6511a2fbf579cb0608a055daf505b318462cae12665f0b78dc8f56d3957e59bdc1b0c1a6a1c1de4b1eddd73cee2a0274d9f9cb38483f41d33d3bc8e7ac4a9c31f42a3d61ff08dddc820166d6238b9578463236e579af2d6c0e92b549074e30146ca1c2cb0824003d8203ff65d3385e100c747be9febcd734bb0fa6819d91d6074eb9b2a9db65ad31f431a6c1e1813c1770dbc263b2959a6bd76a24d76dd5dac5963ac8b4de0566a5b63d681590d7d16705e96c0d6c2e96cb27dd96f14cbe3344a3d4c5a0e12881145b66044078825aeecdc2cdffac9053b62890e4b1d395196164228df9ede204fae630addc1ee46e079d1e0553291c2dd61c9d9974118c737b9f9494300982bec8033c5549dbdbaf7249145e83c206a464b54887017b711d40b8c5d759c6d3a77241d13372c61f450f850b4e4a666da63e9333afe0227b3fc280c0b425e3343ba03d3b4de8344edcff244e88e056c6f9f0ca6c6fc4a7f3dd25552d8f96bace87b8c0b243787b094aa98eb80ab9f0610afb843adcbb8b6c0944028952705a838f08e2dff95f75119bc2a1cfaa671e0dbb5b9785886c60434078ca34c488d5407bbed68ef8d361e4b492e857f7eeb8e6ecb325c6452b866860a8d75e5cffe07d02e39333cdb9c85d8852382161c95ecc34a50ce96e7729bea1177282a222d195317a6c5139dd04afce5e0223901524adc3e07755df71eba24104265ae8b100c761a30f6930fa967f54a1ba16429df0c77ed7b97fbf288d9f9e5d9833382ce889cbcd2c10d44ac924433dec77e5b46bf55a0ad489e31d3e2eecab7797b991cf926f0ccebc37bb69690ea478b5b2cf9d1f8437039665056d8fde3200c74a8e5a21cd02a1104764ca6b0c1352033fe5e5b63764482795e8e6d4c70c5a505ebc7bdeac19c95b77bae58de0e33dddb1aabfac66bc34bbc7959a01438ffcef31996ffbea4d5cfe6babe805cb86aaf12a4e37f2bc8a518bc80011a1f92134bb130002c9146ec7152c2853d4887d2d53385bbcc7a1cdf349b56b4b9e64c70beacb3d2f0bfe28d6b3bb400865d621e344f664b86c0118d48128a7a2ef655498cad86e1a8b537a2def6b7059cd0956ed925844efa7929980a66a8da8d9b3f8767fb723b671ebda4dbdc027bad87e5c106622d4cd4c3ff46e10d2a7dfe285b7606a61d3a670e0403b8265f1f19c2679c97ceae2bdfd788b9a68204947dce4ae490cf5bc524be7877368d040d11d0227566f5b1c850e86824b2811b2d5e7abc4d9296cf6c98d3889457baa5c082bd44c07989ab51a120d3f5d794b9a36255071a3f1f3a4deeb4c93f78293fbd4770077de85cf885069fca4b9ccc3039fc52b20a43a87d50ccfab8d3c94f443196c4b87d93f6503611db498a993d0b7946d288b067fd392df3bc0949dec993a7ce7610696b651e94ada5795ae6f101b9348dea056a7cdcbb5342ad797dd649a8c67724dbc90a98145074e7940630af1d8ba75e0a54a9238b1f28b25cd5e5022eb312bec19e83915effb26e8b3ac34e9e65beff0eec288f46a0eb69c5597ede7479e4087daf08f96816a5167a61af451a432a04cc4a23dfbaa1f9077f4db52c6c89c8e9eb48baae673c123910722915de07f6aaa5a8e9c439650cbb2a31f72ead72925983cceedd8fc13981d033888e87ae4d75be3c13a6a57892edbfb9534a50334c9c92766c190c46322502a5c98018bb2a9114f290419ba2d6c9db4f1219d6eabe87d33d4206d9b3423e3a4d27deb17d068a5d827fbd0e21d378df4115ec63575406658b82a933f35e805405572333bc0776de5d85fb1d52527a4841a0b08116ecf899170e5f5ce61be7c636fdd863c8588a6f8dfa0bc5a6966059e7c8b5ec651279343ed964f0063b07e7f82b9abc14ff827d6e5255811ee140d9c6eec3d5fcc7dd335d53741607b179b2d8e4f90c6bcf2d952a35eaa11d4e47f47018b5e1ead999def1cf71d933cb9212e5f690b907c95050e7bbf61686f9b615ec75a4c266edb8b007d53598fc64529d375c742cd6cd08602aea28449ec63c39f692a8a84915e90d8cea3e857c004c9341bde7c81e7e312d61d1313dcbbeaa5b8faad791e9dda0f709a35992840bfa7c5d6b407751a70c1a690dae9fad3cd796f4f2e7616fc2c704e72ed15f2ef5c84f73fbb84eb95e6f4585c6d098e8bd9df87e45156aa3c3845e3b550b01bd1c9d161571daadd4c8f73b41945f2b569eefb1167a2f6e2881d61e66dd311da0ef20f996f242fcbfeec2e131770757ac0f85e5b08bd268332469eee28ce60327973b26cbc8a8f762e6cd48b0390ec758b52af688218dc08390abf7a0c34a3a1505e24e241f35418949e4ee87155b9001e62767f7e82443ccc68aeed47919f5c8f484f0d83b14098165fba5d9971cd6846629ac1b15d1ee10df4ab76823533ee9b4409ee93badecd24ee234306ba5e07f847f99496e2a7190076a79e710396d5005cf1d84a488de88938348e0cdddbe9e3f352c738b19b20aab2bd908469d70d82e0c0a1f827a96afe48003178dd34af11bb481a2be4bec9b55f1e5b19ed316ca0dbf43c1fe5ed09434d877ef7df1add887f8ed292e48c56b5c9b357d486d136e95d93cd9f52bad75b2de599d23ec52f019ce620f82559951c5544e63daabfbb62c638b3dd3bf8f6fa903c673deaa3956a1df7dc67c4abee45a7fe4561096f4e3407b61f4618556190d0038f1ac88f0d0765ec917d90c9b54027d22c8eb0561cb08cd1f9291a438434f44f84029fb37d608ce4bdf9c1011d15e9859f84dad2487fd19019015223dbe3e7475ed52c5708c30a8b1b69e1c97c56c2cd403a145d9ab11966490d928313ae0585134de26c067061abc932867eecc40448a1e1566da23f0dd6c89e8b7ef7f130b55c3318a3b361567029dc72bc4ac98f20cee5613504b3daff63f8a866a6acc8253b7e3dc9ed574694fed999048ae352ce11b480f75b8d204555869a69a6c777604432be71a4f452bcd2fc0569a6f3cb6c5876f821a47b868425ec8d10ff8c00ad915337293b95425e1d1523d6353f4073e1c7ee06756f3b8f5eea1291e86db96c179b63cec93d2f192db23cfadd7ef2b661623c929dff16ff5bb59d6cb8917e4ae9acf43b27051ee7eab65fad85dad3d2785272d22cf122e9913879473f79ea64993071505d9b2f3a1231ed5a5cd69351539378ddb766f7fccd1ecdfa5e0a95ab4e95e3146c0d3798e4cb41df4f8c5ce2ccb4ed3efb4ecf7f3f7a732e853c8e51d223aecea404c9df8825ad6c8cfcaca7379166f74ef77b3513e4ab4fd138ecd2378933793d4cad7f86469fc1671d5466a63f1502ca4a492eef3767719db317d0caff806adb5edff78e1721bb14598517f4be09cc0495b504b50a957057fef40ce535bb97436fc3a0b00aab56c64e9a5bc78e94a3da17897e7e02f23d2982b6bf7bb0e2cb8ef4ee1e1233767947a22111409e7c9aa826c0fca8707d04460b548c9890275b943ae537f7811f22791dd66488945cbf9dfd3dc2b516af469826074b0052f6083c4af8ff5155d4678ce7783fd5929fbf8455513e803a874eeb3cea127c1c2275d51d43896a6de8733a85dcc22a0eebffd4f8ef20b20f1ed60433cbe0f56c786aaf88337d69008b80447ec21de6acf5e73e7594e2e0ea49895064440b8c63f87fca4982969ef5be17a6a4062d1c4bd6de2a56a2f67d18c9b37f6c9267b488ab1b833be6025165a64445a1fbc9b2215d32a9e925a886098619bc450ed14b0d51cd3d5b15eed127b6e039e72fc2f2467ab04b2e5f27a9586142039e73d5c9f55881fb20ac785807177d207c40d873fca84e58bf3a43a4ac9d1d30cf1275440f10118f0ae3a3e8bdea24081177bd0380c1dbd72abf1b2484920ebe79cb77b7cfcd9844e04b5ad7e8fcd475e899f912fe697b7777ca47e973e7ccd546439fcb395168fcb37e7ef0bd2564bdedf34b74a8bec074fc1c9f3ef7daa114a8d0c66f2e3a0304f3d0c9e701aca4a0e8063433783e955bd271c4b5e247bb0a2ed36b5e57fd43826dbfb724ce34a65fe3c5979ef531afe6b2365fa55cf01c223c4f44c2ff6042db61ef97c1cee8193fcc5f6f2c91c7a65a42ab258cc4943b80c403dded60e0014763c8bdce3376131658fc4672b20490c4a89029c37c77981926b9575c35cfb80cf89dd57e3919d85f57f51a04df0812cc344f8bbfbf88b530485d0bc80467839d38b6b85ac667a176c5e707235dcb24b7441f98be8e2e3222fc2e5cf2cf28153baadb6f15cfdb685d58c583065c63a7afde5ec", 0x2000, &(0x7f0000000d40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa000}}}, 0x0, 0x0, 0x0, 0x0}) 00:34:11 executing program 3: r0 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) getsockopt$IP_VS_SO_GET_SERVICE(r0, 0x11, 0x483, 0x0, 0xfffffffffffffffd) [ 666.003430][T15881] semctl(GETNCNT/GETZCNT) is since 3.16 Single Unix Specification compliant. [ 666.003430][T15881] The task syz-executor.5 (15881) triggered the difference, watch for misbehavior. 00:34:11 executing program 1: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000140)='syz_tun\x00', 0x10) syz_emit_ethernet(0x66, &(0x7f0000000040)={@broadcast, @empty, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, '\x00', 0x30, 0x3a, 0x0, @remote, @mcast2, {[], @dest_unreach={0x2, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, '$\x00@', 0x0, 0x0, 0x0, @loopback, @mcast2}}}}}}}, 0x0) 00:34:11 executing program 3: r0 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) getsockopt$IP_VS_SO_GET_SERVICE(r0, 0x11, 0x483, 0x0, 0xfffffffffffffffd) 00:34:11 executing program 4: sendmmsg$unix(0xffffffffffffffff, &(0x7f00000bd000), 0x318, 0x0) stat(0x0, 0x0) sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f00000014c0)=0x4, 0x0) sched_setattr(0x0, &(0x7f0000000100)={0x38, 0x5}, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800"/11], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) open(0x0, 0x270000, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000300)={0x8, 0x5, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x3000}, [@alu={0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff}, @jmp={0x5, 0x0, 0x2, 0x0, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(0xffffffffffffffff, 0x4020ae46, &(0x7f0000001b80)={0x0, 0x0, 0xd000, 0x2000, &(0x7f0000ffe000/0x2000)=nil}) bpf$PROG_LOAD(0x5, 0x0, 0x0) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000001480)={0xffffffffffffffff}) recvmmsg(r0, &(0x7f0000001c00)=[{{&(0x7f0000001a00)=@l2tp={0x2, 0x0, @initdev}, 0x80, &(0x7f0000001bc0)=[{&(0x7f0000001a80)=""/63, 0x3f}], 0x1}, 0x7}], 0x1, 0x40000080, 0x0) ioctl$sock_SIOCSIFBR(0xffffffffffffffff, 0x8941, &(0x7f0000000000)=@generic={0x0, 0x0, 0x3}) 00:34:11 executing program 1: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000140)='syz_tun\x00', 0x10) syz_emit_ethernet(0x66, &(0x7f0000000040)={@broadcast, @empty, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, '\x00', 0x30, 0x3a, 0x0, @remote, @mcast2, {[], @dest_unreach={0x2, 0x0, 0x0, 0x0, '\x00', {0x0, 0x6, '$\x00@', 0x0, 0x0, 0x0, @loopback, @mcast2}}}}}}}, 0x0) 00:34:11 executing program 3: r0 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) getsockopt$IP_VS_SO_GET_SERVICE(r0, 0x11, 0x483, 0x0, 0xfffffffffffffffd) 00:34:11 executing program 5: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:11 executing program 0: select(0x40, &(0x7f00000000c0)={0x2}, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x1}) 00:34:11 executing program 2: mkdirat(0xffffffffffffff9c, &(0x7f0000002040)='./file0\x00', 0x0) r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) getresgid(&(0x7f0000000040), &(0x7f0000000180)=0x0, &(0x7f0000000240)) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000280)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r0, @ANYBLOB=',rootmode=000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=r1]) syz_fuse_handle_req(r0, &(0x7f000000abc0)="1195ac9218230be8698e3c32212a907ef4ebdb358a3845acde78d80602e932aff327ea7fa73f792c40cebdba37cecd38ed8a684e8e7e17c283a4a8133578350204e227bc8b66e6e3e496a9058407be3b1c02fe6a537132a7dbb038450582558bc290991aa904db098add7df0dfbb1872456b02af0baa9d727d628215805b913a4a76742f8086dc1d4aeafee73a85593ad0b5894773faa16ba06cf2f5a42ff342dd413b65c59ee263d078e5224bfa88f40e834878bb4ddc596a258558f4faef188fcb81f6de204fa4c275aec29c3d198c8918c230e80cbbffb8b4847d949783042e0aa097ac44b197332210e6f983f88f077b8e9e98ab605534a19e2c7099bad58f5d45cc9e9132320a2c53696f9011a9e6410046f32556f58cacbd56b22e38206ae6f3b09eefd692c89d1434ec54964aaba6c6704863aba623d0a6f99ee44b353a29b1e0b3311509200ee9052c8a98127b2f60b73d8390a5ea306879122e314431dbebce943b924e2b02c6b7cae0ccf680fca614bd21e3d04fbda26ec22518ce189371a0757b334332f21f028571779919a1562a0c9fbcb2161060a4491761a5d1c75725665db8078cfbe681a5a486fdad7f53a300e8fe749c54be9807e2a1bea17a8b4e75f0f6e66d0b73b2db67b985c9fb0464343b4d8a4f7e3f7cf99ae2ccb5140791863f765b6334c08bb123ac632c0326db66baa39006083c9afe2573da0191b6866c089223271e3914cdf6806795e2ab2fc9f78cd6527088cce01447266c0773120b71d72a03a110d142277c4324330dee504d11fe46bf3b13ee94e8d3266dd27207ebae0da9559f7198165aa5d962272465dde32e68017341bc7a8baaa727c279db496bfa3427628aa4a2ac26300c117607d9e771c70408c9a1fc8fc01d6a7c4e53374e249f0d77d93d8f5e065981e2001e8d3eb6e7db05547abb747b7c405de291f383a048bf15e5ab07527ea8cf32aa96980494b8c540ec04fa2f498d469afda8dcf289521a459e532054e62aa42a97f912627449ef20f30e6ca203fc3d2a84eb115898744e65790253d5b2813e5c7b8b27ab17c7562964baa46589a46868eb79491d7309eb2a87958619825d4a0971d34962fc48ad762e0fbc0e0f3217d88950199c4e4c00322509f9a1d03f2f375b1ec77190df881ea468c62baa4ec4caba3302e5442157a63596e723f04fb40b6b1e6740e2af48820f0b53ebe9031f2ec6b59810ee5abb6ae2d1ce2372eba86db69e313ff7a6f17d15b8ddc2170c24bdb065dd6baf0edc38f41e37473a66e4dbc4b1ffde72f5450716bd88c5992f0a61953234965ec5d1e031df13cdefabdcf89b6521996dd1b1392813dd4c845a939dc6e629e72f967e7d0bcdd0f1af46335a581f8bad4146f48907c36cee6d7a9c449f122c56956768f2a5658506bba553683724a7c36fa9d5f3ae9064f9a67ad964c2d8442f3812aed7ce0941a11309f80c69d478beb9c8c88332693645bbfce9987e61ca2fd008bb5f5296c842d80b367c0dc49da3ebcc8b7c2cbfebc656e546c0bd9b9422d4c49f13cfc8152958ae75a03174d693eb4d5df1a45a0ac12481053b7874b08b6701e85c4f058cba81cbae4ff8bd426f625ee2884bf719f490795fba7927765c4299b6c2c03c3521e74a19130dfe76dbb26f4aef2689060a6ea83956e2af600c87c894b79f2d172d9ffb572ec7731662ff5f38129dac6bbe75176e56d3e4d01bcd94343bdecac0047d916b09a5a0cd9bae339f481e085c900f1ac282ae8f6eb04c4fbecdc697227247ee5c9d632c50e33d716cbd6d60d90182fc0235f92aa7480b2ebfba9fb6e3e2a175ad83fb5bddd8e7fd539bdcc9388a2e59a4f6b445c60210d30d66d652be1d705f26809291c43f78c028af6dbe38cb3f1635bb671e1d36183a32047f80959e489441c24ce546abea2aee04cd742e9fcec01760197b914a9cd677e5862b748c1e6f8b760fc1d6add31578176b0c149ced98a4379f115990bb629107914498e933bfb1bad94098063bcab75b2b8667df6fab15d3460fe3bbfd09157f860eacf75a23b4a4744af043bccf4aa3c3f3180130bf2a1de45f8304bdbaca1be46bcfddaa1e8524f40523c8c2bf1249f4bb8cd811a24e1b6f820c7daa8b6b9367554f97f7f3f68634ad6de0a59256d58b4e5cbba2524ff2cf97c3afa90e529e9d802ec9ad5ff49e9a1ac4151abc68e7ce7c03673c3513736925420c6f667a5e68adbbe8d062b4fc163ff20748055c152a42412b980ca3c692bfe759a6e0b2ce14f2c5f470927e6ce00ee18ddfee2de194e3793b1921f9039a90147ebe9902bd0d0e1541a9c7cc803492394a13645aa94ebd712f8908070ad8daf1a6b58e74caad344eeda72315b2fc3db4455d46dfbec77d0aeece7a7f6f566e636dcbdbdd872341b0bf8ee54b46471da2ce085afabada91cfd1785f5e2d1824d55844a42c99a94fae9acdde0e22da26cee563a0421512fd60605709d8fe4b6a6166617982d28529dc73232ab55b19e65ebeecf47a921d6e60be3f3049d93694baf5a93a4af602a37cfcb6f9801765e5fac20fe221ef4a083fa4e01bb6c7836b3691aa4ef846b18e8181f8a73fb81437c0f1400eae9866c43eca0393e5628b85f03e5706d223ac4cb58919f4a906f3e3a225cb139e1f2feef448f173c778978757edbb9fa8cc9777c51bb1c6a5f45e7769fb7c1134df864599449a4dbe80c6fa944a1e21ca31fc0cdae18eaf88999c9c196967dd3de189e6ff8d04dcdf7cd11a73cd80904b5e3f5d1c5383103ccb549d194d97b9dfabfc51e07e80a64565c1d8683ea5803f81e54e1dee4004d56eefeed1a96dbcbc98a5bdeb9b327216ae3334b78a48f5a8d45aabe7931f08c4b13fe4719d3119d4ad59ed094c1f38fefc6afca15bc8027401a0ca65bae1f3d4be2327d776c4f3dd0de91aa4acbbe1166577e9eab77ddafd055b1ae6e9c2653faacda733f850bc97ed023e66922346c3ae3b20b46a7caca216eeb65c35bef91a1910f96696d1addb5e71090757db69e7799eb6924c331db23ba05db7a1a8e51262925c9d71aa238676499bdf0150c43a0e19a184d861f66f9d8c422e6aa64f49d4c0b802dd4f7b36f4743d3872ee32761b5984f6c04a19ac52d44edb701f8349bf8bb3a753bbae71e042b899367468307dc2681bd8e79a76edba119389464c267af8fb237ca3ff2a8e3e577da6f6480ead48e0958638e28769ccf4aa93be482513ebe87a15d127b46f526599b60e9f771a1fa2513c790ea1f8ee09ac98316b7f461a0dcbaab6c3bc4f92709cde1a4021ece3f9801c1bf08d875d97b4728bc903f18b45cf4d57c0ef1003bc7a3df29a648b152f0d9571d38f1c16dfb289bcd8a1dc9499dfa15ff73ebf844f749b6508d250adcaee0fd01ba3de01ed05be515c814c5e9879a12e540dfc44df0298bc5ead95cec9ed47c0a26a3805ca1cd7a98f7d4e46da93c4e7108ed562ca0c31fd8bb1d55ab0f759e4229fe34129c65267973869fefca9c1d3e839db40c897cce4e7fbe147e2a063f3647a085807d34afc1971724ec56497e91b79fd3353562dd604cced748c45429d6e30269b19380c567fe2aa4a6149fc6476c31050cc82af709ec4f62e5fb6faa51c86f3cd6fb81dc64a6bccb739f0e9f559ba9d4acf882c3e77d1401f824c702af544a29eb05edde2f0ae10dbb4a2edd9d78933444932e7e4a278372643d01743ff954abbeb4f9946b74ca37086cd3faf4680e809202cd2c2bbd50cd936f4a8a3d4f9df8ae90a568f3ac6f6788541b202ae298df9a69ac09f68c1f8364850f67b2b5a69172ac8c4fdfc097a3d02c13e04578f6c766c5d3f1e6c3db86ffb4510718a267d8bbe00ca2b17a5c1cfc046c906c08010ed4981a1bc4e10d71f9148dcdf8524d939f86a3fb1f64a8e3de5544a8779dac4a43709240f36288b14d39ec68e59b9063f61bdfd7d20d98da5766a95bed463a564d38c263ecc9a3b2e4022941611c8975f2b3ca232ba5e4fa9d6b371a816fcc9ab66a52c9ada22c735d312d7846c4674afdd58ce7965f1c93c43feef6f558483f91c575525f09ef7f0713bdacf60415527efdcf12f09b6641fa058a13ff76fe7af55a15e39bed26c45c2c3464d503f6ff2b6b95e3d4101ef1aa4e0aa6b60248c4f26c72497b026a9f0f8a25ca38f358624ae18258aa3594d3d0596a8b66b3c5e259168bb5f61881eaa4b9733119474a64b28f61a18c049d2514f9ca508af4aaacc005965d3fe68538cbdcf17e4aa9e82fef208d2fd3d9b6f7099337631ec8268b83b90279e5f8c18572b2c15edf1b1e08fc00fb2b38c856e66a79885d61d2f1bd04c93bb892ef5343d9dd04eb75db7a4cf2a25f3be77369937d802f57c4fed0860f6f721892d9ba5324a3aa6d5231f54d07fb0a1450c4c708c996bfcf3fd6a79c8050b2fd34652655681869c5ea07c1f9c3228add4089be8593a6ea05193719221a99e4c90f400e5c3d59bfdbdc6ea3c56687267a9a48a8aa636acb99f07ed893f7ae3f7d50f82217166140ba0b003c23cae03aa1445c0025e92e67b342dc37acf5795fdc802da80900e1cd9a84cb6f749752bae73ac05f9a5778a4679927d7ec777fbb8d5edcd230846f74079018fd494d657e9a099f4e0d8cd70d1c60d37972998b3a83abf35d1b8c090afa28c56999381008d23a7dac91a196a316c7d5e284cec002d1ff145f569abb70910fd9abbd9d017bed22ef0c5f48466d70e386ea4ee50cce142cf4e562b80b4e17ba1282701ca36a917d4bbd98a8795c120b0e7c38cdaa4bfd86d9860442a60f955ac03a9db8503884fadd3f8dcc0174570c145e0f22859667a6f44ca297bce84b2192bd0bd5e4cd006ee43a9bb77474414ba8f96a3fc940d41cb6bc05eb90d3025e57c9c6697485d5dc6d9be64705684602433fcde9303289bb23db0739a6db6dc7682ea6aab49c5077f66fa21e8af5cd01833654cead3646d45184bbb68bdd897b8026f3580d538fad7dce7c7e9f163a09e8edffa5cfbee9ac743e4d97a2a1461fc945c4541be3e4b940c73d64e69471adeeb7b2bfb3c5fefacc68414b24c7cc5e124aa51430618ed69c496440651bfb95aa766bb3336eabc3a817c82c39c4b81acbb6d97f623ca1fdd3fbeef5ef7e6cefd09e16391f1d409a3ed1305b79c82b3d29077849b8d584c5edcfe08dcb0361684c7d4f56e408cb745e11196ad0fcea32866140a181c17ddb0097ba22b714bd49f228bc6b57fd6fea29475f3f61e1d68330e6015539eda198e3cf85ac9b5012e8f5f44a272c61ca3af2c3040ea0cb425dc43d02e0641d831369b96eae13bbe494d08a49409f7d9ba07642ad0bce66d22ba548acebf527c09f8d0bf8167215ce0844241e91978ab487cf84e4ddcf49213a360ca8dfd060f345ac9a177bff55e41247663b4db3f874026149c81f3281193d0d634f056aab00bf4a56bfb9ff9c50e4260ec224cfbdb06ba8ccddd3c46cbc1482e3c3d121dd783b11b5a4af3956259b943e4054b9e5d8954aef77f7f0d997324969c63631e157be36d082c6fe9090012fadd6384c8ac4a915346aac0e6c033b13fa1a50d2d13baa70ad596fd841d0711cc5465d7fa5ee72b0734fc570dececfdc62356fd5f97aaba7c1ffc89b73ecd4ff69a3aba137648b1ef8022bac30aad32393acaa5fa16c976a809f1572f7c766bbd36f9886dbc477501c412b966edd8751dc603e0dafec7fdb020a21701fa27b250f88662cc934775b82e788f9847425c21a9d93276d572213a5dbea46155b747a03e5e9126a1c2710b3d3be575d1d4c40fe10efda14606a7203585314ff929c636221fc4bb17f5243f61d4b877917e11b2956cf785f5b3e2a154b6cf9fe7694f2829983801b79ec796f4d47407f75eed168826c489e9f295c78546e8c628785e9fc2989fc30ec2416782bb78ebaeea24bc4b20699db6150e28984cfb809f1adb18fbd5dcf7ea4d3c248d99324806c9c27e644a88a1193c26eaf692f33edbe9f6de2ab448d1683b98cd82d6990b6b105ec77a36c81260d525b0f75dd3f1da8f75072fa90b31b15caa883eb60026d2a4dc80c84e169f4a6d50f1a3f083043a8cfa01e47b83b7d8a15c73a416c035692e3612664b253de522846d12f82d90c7d7a1a1c41ba04e19859f527b47ca588632fb18cf45a06a58d85e08f61f77a4bf1fdd68a4ea06d75b4d6ad2f0f26b9e72b37e5104e17240c40fc5e4c1c9f6145715c0529baee5a3cd72ab30ef31ab61b38bc91ab6279e48351268680eb3cad3481cd550cb64654bc90f073149786ef959f94f9390184250ce0268ad6221b43efaf14a11de971c45a370a2db06d592c742e84917550ef2b37b9b68966e802f95a2c00da784afe8e62a6deb1d6976a08db1008093418dd35e4d4ba8a0f9f2bfa20c7d0b3c2afffe755cf1296b5ab84393248bce17ac3cd71eec5966801e3b3b1d2de47131e59f487587767485edfbfe6ff037531e57e1db1b61921d7b702dceff03b925d14d205f9b8697110490ccbb383ef911dc6b6a16b617902da843d27747cef1ef311157b25cb1cdd9231aaf86647d343ca36c85c4059f59fe8a7508f466c6240476d867ae06883ac7f45c50613e56b337692cce24ba15efad08ef93920119fb2b0879474d3f0ba61da5a4f3299ca80d2cb65fc905ab5271303db67ac86723203071b354d45945f342c9821a9845bc0ba3df7ed61c12f88512f692d5757a30911072af8e0fa95142315c6be38726f390d696cd4938d2d9bf357064513cc90510a0422be150e1218fb22a5b71de6e8c313a565c939cb48a6b1ac1b75638e3ae00a4caec8834c16c297df319508441e7f063d67c6e4062b1ad606b18e039da59e7167dd3a0b34356f95f9f52093939106180a0071533bf71ab47086263bd96c7b4004085779bc813c2186b5f44f84aecab71b78027f7fcca02be7d149db4c0f17835201ef03c9ca6fbcca3a1353d5d94fc366bc2fda593280ca7daec8ae12815f854fc84cc1c3e40b4412850baec19331413fb4d19b2a51769af14c51b98e9bb8575d0a066a060f9bc44202f22183a1ba2713453259599690bd70392782fef5b7c5e3f8e6379ea84a3b602273e372805f9acc7994dd745bbb9ab401035b6d042c9e0a1fa329502e2e0f17ee9d34b96c255a3305b6e311fe4893d144c10afd860d74218ee78d83f252d4620964a1d7bccf718fad9df3baf5dd5bfec7448e52601f598e78665546ad09ccbc9e1b96debdada7a570ba6ff018fff9a589111ab45b71b9daa9f068a8fb09a16a1c1a6f6e22296ccad7d5d968821794236a79a62262e5edc5756c99c7e733e88ab78120da5f844968d02fa0b9e2fc3763dd16f354117b9ce848c21992b2b391137a7a8c31f2226d4c0669a8334ce6d5d85fac701bb0b23452453ff766373f18dc9c44b80151ef728e256656b40baf747b9292489de5e20184a9c022c1ed330003454f4b686a393e68b0db21e8fd931aca596ba3f51243101250fe78de2ebd95f4f333ad25edd6f80406a00dee774121da8f8b23b6eb7f2c657852fc777122753bf2fe4566ce403b6c0ef0b8bd0c53823d9f60bc44d0ddd6ac788e8888df28f322ad0fb6fd9b6d88b6530be372d29050d2f1b1e8273fb7a1ca6395c882090422af5ca6f803877f172fa3e3bba15facb5bcef8fa89a5e3c661b835b11e02b19f6d5c872bdc4917913458c5972b4e2cd3aaa08cb2ec668c0ec2692eb53d61988f63c8460aa945a2975ad59abfe00ad67242739b653e8ad422675a37026396f6e7d9bdc9f311ee667ddbc64c4afb4166316ea167780c718d541846d29202113b869ae8ef66811edb958cda474195542b7a0becbe351ccc7ef78f6b572af15e431b59fc5f82d47265372c4f3fc18da44c9aee246bcc248de3533f20a60b61d8a4b8324dca11ec571028271a7d1bc83183e92be5385ed4b2e94343452468f50f747c3a4b172e34c947b9a40415602d44469dcf426087ccb2a3977a8698c5c1190e1a84f70366b544c89fab78146b7b6daace5676067a48e00fb90a6073167be04341ebf2181575559cfbc03a9871617cd7718ce1a46c52dd3faf79babd1a01fbeaf89d8b59fa9dc6400766cd102db6cd6132e8f5daf25061614042f9dc254f91a4ed14031992476021a0cfe5b7cd8a8410391d80572c19404c43d5328fe9c96e7feedde6b3741d04b524e11a41dd3131d5b2c36b5824a899d7aa1918fce06dc08d3cb2b29581553ff352b8f606db5fbfcca1a154c4613de096ab5c7f4eb6250096d964b270ebe242850c359686114b1bcfeb715c7154f04a772973c41ca9399b61841d7fdaeee47745cfce51f842f7cf412022d006567f58fb49dfb3eba342191ea6ed037d32e6a92123d7e58777ad352c2bc27da93ed46c378ff631a7dce38d94fd8d865b5ce62de4c67af96bfee74018671be2fedd63823306c3492320fe530b099b5cdd144608b6cb14aa79f5482b01f828b8aadb6e98415daea029984e470f8b28b2655b2ac753d33b8035963b4a5c00bb0cfda3372b2782590596d6d03c237e95a4ab347531d2819c9ac9ba37f642298f6a999fdaaa13778e10d07e3fc9c1387a0a76016a4b30317fb3d8ddeb4433d0b04d17d30c29615aacf0f8697255a6a55e6b47d64fa45d7171a8ca4af78b32047acb2b7c5c70969e530828882287a16ad460c3f372cce00404ba06b2fe64166d70dcb4f6bb636fd53a267be9a13beb9a1d8253dbc9e49028981f7479488eb40ccb58cfa1c0c9fd61437ef0e84f51ed5f788d8e9595e5955faa744c700d6677bfe3c5e52f0ecf70270b9e62610d5cbd53b2321033a7aa3bd70ad8a9506545f0da4cfce3aac6e9a03051ad703a0f564685ef2b1e5f203637edd5c30ba505f81666012e2cae3b3a815d33ae97b0767e8b48f3d42272f9d326e8bcf176f852a8aeb0603a11fe12b5e04c3c5ab4cab621eedfb5e86436661bb279459e3d874ba0fba92e55fcc763cb8b732b5cd9286e8f3147d3cadf5f342dc9313f64bd83ed828fc426b69761179ce732a3009194b8777a10eb2d3f4881129478b994e55abaf73965d62d846b8c4976f91d009b73738ca1c81f055e0936aeb527cb4002daa96ddd8cefe2e390bb5f90eca8e6d6997ade6819be3b44b2e346d533f7ca8f3c031f3c5ebbe9e17ee00d0e0823c61d850c6fea943fbdb4caa6539e3f7903e05a304e7cdf24b989908ba2f41b8bf67cec6a83ebdddeca2ec954e70c7816d8241d703b8109029869f3cb58c62e1e7c9fee329af5a3ec5d8a12db1f00fb579fad7ff18fe5a72bf1b185f52cdae932df12744b5eb24a0c3e4e5706c880f5f6b64ffdf6b71a17985fc4d2cea77860196f378ccf5b2b235b93b0278fb69fc7f460f21472cb90ec54d16d168a5caf2337d63b8ebf11012568d2ea0d92e91e83cd6cbbc88afba1097a84cd1af3948a2388891225237b30b4704d2fefb6bc7bf6adf6dd86b7a65c511637d96a3397096217c3a9743050133bf836b8333519d001947230cd25ade2e2e4e9b8a1227ae4283b2052b2c3a58a11bf7edc534bc11113c329791cea22dc5b71f3b4702d1529d965f4ed81951ce99a61779452751bca8d3a0070c47b1f8fb636ae6bef93514950f607c1746f5d9afa96902effd960b770a26aedad55aa5ad869d18c98e24b470c99b901badbaee298d93c2458303104e5c2dc3077b93c39ff46f0e81440a6f9d2a267f05f533c3c0943b6bfe50906944d2325143d84e5c12d528841ec611014d2768b116992fe1483c1764467eab1446b14adce8e366ec1615f7ad0fcc272355ade823771ea79db57f2dfba3335a50dd0c1c6105ec51f245e096c1492ba4230a752871e4c16e8ee301bf5960e97fdc948c7d54697f7c01439f18f97cfd01c4b74022607e9459fbdcd10243239b4b7f29dbc217a0caafc0b613e43e9689dc1bb2e135e9deca88bebfc61cffdea1ee33df41967cf96ef72a9d87c45084fb105077273109aeba2e3384ef27b604f356984401a8643c493acbc56e3780f0f0ce868db37c0f0f91d403e99951e9c33ec808ac1107a133109588e065162ccb0fa254c8fdc3fc89bfba51a17c975ba3cfc4d1f0faac685619bd5453ea2acaa8a3dcf34b2cac31447d77a89ad8adc9b1c0c620b6b72230a02f978a5407572fc3994c59b764b27221aece8b8ce9faed1d6c442672c102d7f2d28059173b6b6b188dbad05273ff852e0b9f14380f2ba94a34859092407449b9118a7d54201890c216a4720001f026306a9f8e57d0bdb9c29b9eea019e0bdef92e5e6a93852dd3e26cd3eda7a27cf479e88dab17bae6d339f2519b76824f1e5549304dd01333b393082274655b8c3dc00e602aea10f35793d6882069ce5a4debf9884c51d38aa1d83c91a92c0606d38076a1dbd7bd4c0cc5ad01dfb2b04b0dcdb1cfa9cb08c498ec9481559f0b5fdfca94ef3f2f07de6b541ccc5b287904d0344ba8b5b51c535644e8d459d15166c3af4bf36cfdccfd1ac83ebf540d61db77069f13152f27f17757d68536fa52473dee6b1db107f7c9aca2d6a98ab5e537b9fdc5625e7febe87c2127dbe140a94018dd26a640fd42a769bba8e6ffa284d5435d6c57a1f950933a6f6b45d2c7faf19ae2e8f2d2a96b946f1f6d2aeb335aeee909a746a5944f7dcd85f9cef487e9b182ed90cc03d9b170c1173cbdb0e9c40382e0cbdac38bbe8c3ffeee255c009f0423efc3d8135f9f7c949d12d4b700d2aff5bd3c0fa3c9f30a6054959b4f609c2ec8e235f5652d6416be3d13abcb84fe2db79e304757ffcbfbe286a1c8b4c0f8aa19d846608f6fd7f8a34acad860a73588593eb1cf7cc6f3586356747d43726982a38a527f3d94dcc25849ab71286b89c5a30cea07b8cb255dfe1b86b54d077960db18eaa30cae8101b4a61fef2147f1f38a5e83e40e262e2484bc552b728879d1c169a81713db17379c4bf5f9dcdbfd0196228a7afa3b181d401d98ac322c5ec619b0d504e28aa71a450b259c0c89fa2ba1ba7a7356da009b58085bb6e25fe5cd0097d822d39f9f3c9b39da1041c58ac1a4556de9d34f452c995ec21d1034e959218e8fe002d2b757c674848eb7ac84e8bd457a312c4378303ebb3184d4c90108e0604cca678487bcdd0be37facdd7c6b17e740a098fa4b38091b10f1536df1f297902bdb5f02d69f25e4e84d3f4700070f63189440a2a39b9bab6d4f3dbc23634867aeeca99dba4aec39ee94e701ccb77ead02aed1012f7eaa84eb44ad3e625d5619aec5ef76172213ab1d66680d42872e8ce8846e057329fe5937757e3ca7c1be1f3db31305f48978a178a043eb8d4a060d125dcc202e6d8c75205fdb2e42b0b0d215e768c73832d58ecceca993f7d5cca8c3ea340a8c1e722b806c865ed1380a1cd83b8b5e93ad4e2ea1d66cc7979fbac5fa26a2bf881b6db305bb60eb05a39edafbbed715e6aee84245b1cf950a2cb69dd631d95365e1c731ba5756b2ae1fdba6384cea97d7d74f9be62cb83fa7ea1287b6f26eb6f24532c6dad7f7869eff58b8a3448a5a6b0c4f45d8c1eb277174e3636aff670d8f169e040a445dce4b33f6c33b3be3e01", 0x2000, &(0x7f0000001480)={&(0x7f00000001c0)={0x50, 0x0, 0x0, {0x7, 0x24, 0x0, 0x18000}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) pivot_root(&(0x7f0000000000)='./file0/../file0/file0\x00', 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000000c0)={0x0, 0x0}) sendmmsg(r2, &(0x7f0000008600)=[{{0x0, 0x7f}}, {{&(0x7f00000072c0)=@un=@file={0x1, './file0/../file0/file0\x00'}, 0x32, &(0x7f0000007380), 0x0, &(0x7f0000000600), 0x0, 0x803e}, 0x40000}], 0x2, 0x0) syz_fuse_handle_req(r0, &(0x7f0000008880)="b5de73153fed6bec5a257b04f4ca283b8eb313ee2a8103e5a43c4f4f88f30a70c2e1f6344f9153c3fdb6a5e4974a3f4c31bec55ccaf35f9741ae5f3451cc569d0cf3db9e3ee0160fc66a8ae574404a8c559c41c0319c4e1a6d90a4dff651d72feb0fae53a9b390187dde4ffb693befca556b433f6e1d7b3b0e43de3ee7f3e4e33e3a763493ea4ce234cdfd97645bcd76bf98d1eaee0ba356e17e8db1fa36abae7defae51d99bee9222af5e1b8eb049b29c1d678b424573992b67b82ec49a6f7a8f25aca5fb663f349ca4558e06d92ba52d9efb556f1af092e4aa9b64fb92dc9c728e95883b01d146f7c063dfd5972c127462976a70450a4bb17be43e7093f657f6eba69240639cc7496617db101e888152bf7f5748422e0f6e6090ff9fb2f75200fd5a54256e2698560907ec4fcfacc218529a58b17c9489ea290b7f3e3ecd71b21d603f35287970a2f5c43480550569508071af1c863823018f1abe97db44b7cd977c458bd33505ad39b835901591eed8a2990216ca28de5b055cb4ef328d2efd4f34c75e023549024b2e2aaaac1243efddb3f00a28b0735b678effa14574cd6f8ea05d5f8dd734f8124f50a6bff2deeab4e460694a2e0de926e70f909b4c31ebd475c52bbc8fa9c90f937ce44385835af75bfdc30da1fd4a9a9e0a8bec6667d9103636abeff7abea68aa28c0ffbc926ffcb0b94238543e059736a9873a7dccfa2940c597b63355821131cd45dccbf4ca15ce93b3d64ffe95acb6e97c1fb016f0fe065734c06c79d2efb981b8d21b025e5398593d48d874b9becf57158d3d7a68b7cb8a3b049fc2d1bc93023b4ca3be7477547002a78aa6273e9ee1a72557ba48c496b09c877292497d930e88bf16d36be086a7c78fb9d941fc8841289a8654d0cfd6e8936a8e259400eaf3ff2f7ebeecc3acfebbbe9977f8627f7ff7004a1f37ca7bf2d1203876dee54c023febd1c969b04fd2f9aea745c49cf246a17eefddee99078e14f963acec3922514a8065a19c2f13e4e3a6f79eeda84d7a6fc826c3bed12ceee810f0d5ca4832036659622600aafa24414e45d82a7819a55e6bae39811e4e8a5431ca77ed63b3c45ad0ed19e961b4830a0b4f5fbd3a40f667b4565a1976bac9faf20beba3eb3abdc2a8c5ddb4ec537671245250246e54b514946e8d91f3dbd35b0e8fd0341d9da5ee41a0b1dc00223cd04650513eb6fb049532a39aa91a0a94d39e6ed40d3f1aaeff30a7aa7ac71bdef2cb96e0f3d97c33c17f1216d0c635ab16ed2810e349e9d810d55d9fa66b27886527f3794f9f7f2832cda131dc4d03e126342e3b6dbc9700d5fc6a9aa0a87998780a443906f8a4e4dd83a39f61e6f6daa52eb4557e7dd1825c336cc780879b1d583cd7beb248ee1283d8ae63f1d0f772e619f0fae91cd3f727820c15a172c2361798844b3d5947d348da26d2b4a1085ab119833deb79c8c064514a98ed657eb8d4833fb49dd5734460a601d9ee5e27e03f9ab5196e50b62439ed38b05275747ed79bef558642f6c6a9280f9fedea22ff6569d03db8ce9614b5d027dd8a41ad1e0cb04d94686ac724e06c0e9bda1dc6b9f3049cd263708340e060266daf77aebd6b239d0481c42897ceaf4798a8801f4f9e5f4468d0ac5b3505dc82706a692072f4ef61e2ceb3a0ff664d4fc65671f5638d05eac536e3a2bb74d68b15a830bd0588b1db567a0b9d3f262cb6b25e3658161fea9c8db69a072ca4f4560e80e88dbd6a5f08f55207bef91de2873c9657702f87e7626cbf9c3cee4202979b279ecfb2307f91e95d699ccbf871a143e01d6494574f0f6231895b86bf1aa4908203730208595e48daddc0693e532f3832f5f392b1382f2cedc027bdc4c6489d0901430b873738a3c2bccb26ed60b0f6827e645c8fc771ba9db8455c1f0b4e0f49e80f644dab42fab5d273f57f630aa8fbd9cc014fd6273bf81b2f21f4cd85f7fc8fa0d1c543635a0ca366ebf537bb40e46a41a8af770f40f0bb81eb3f948dfb84fcf69174f1af68d624626fca736a1463453d7b8183bf96ff6b588e4106ff2bc778aec6aadd57287b31e837ed1871352fb2c590a4f786e99594ba9c70ced7317a7a154be1b6cb8f6733cdc8acb60b27d5b593a4ab926fec3e3ce0cfce7b812da7bedfd6567b60b20c3ec46fbbe33373e82a7ff6e75fbbfea5f56a71c7620b41ec59b5dd9e9b88165bd56d390a62b9067779de1930bcafddc5ab601c9dab1bafc0ce134ccf88f6e175dcd2ab95722a3a6e00742a24773222bf96b4f2a8f976526844b57bf51313ae13e58c8e3746de03b05242c17dd1e92e737e92d847cafcf80e7a91a0848f8ac5116b5f8fc8f5a773562470df6b7b5cd2aac3c8a0d82de70db558e918449fcd9582e6822a134e337ae6a7fb5cfb442e68376d39173ff151f5561063492bcf172700c68f39fa4fa2da498d32a1ca46afba99ff72c998138520acde6f31b441fc07adbe2b884cb7667fb199c9b3aa261e9c3cc268d3a52f267590f52888930d743e9fde3b461d1d41d89f9d226cdc41419796aef9394546f9dca4a53008a7c2b535094334919e7e156a774470d4c83b283fb06202122e60713aee0436487839b202e584a57dfe24e8b20631fd9a3431f5b57db1ca15ae2d0e51d83db2a5a9b5618f8b5c61ad63493d566fcdd80cca057544386f6b4ba8dcd7600624544b1bdc19c30b34e8d12b76022eed020c43d9b4bb7885392823551093b075992ff717a41e1f8f76e9b50089246a8c19b578dfb55a6b4ec843a236625e7d63f50c49073d3ee43aab63b97b4a9a4ccf2212b320530b0f422fe8830680469e6ae95ef8e42ea0bc5effea67005453698bed861fa8c382ecc32ea96a1dd9b2eb7ca72a3da55a8ef5c19f3132460f438abbce70aa0b52a374a9f86d7d4d1c4908514d64cc4a336abcc97ee5e751b67c298f6936d4002eab4bcac3e0a55f75af8fe48c90528b93cb90727e2bafc8398846ef82a9e1dbe825f13ec55374f880529070e507541694e401f4422185f8e2a1f67c57339a0465b30784f6cd29106f8a29b024aa77a7531bd11aa5a975ad62e34ed9e43d8508cabadf6f6c50857c4625c3fd004fdccccf95305458e5be967f4a01b0eac3536f49c6deb5436891af77db8dae4195ab8bf2646e50da567be814650fcfa5b78a1bf16cb263cc83aa837742a8c660c39743ab181d7aa1bfb179aef49cc3dac9ca7341004b80269fc295e86209c27406cbbf755905d34559bdb95054999278032581d4c2c663fab7712498059a9b1e179c7a227aa33b393168cceff6939584ef2e13faed03bc3b477efad7d72807ff9beb16fc35590af64c2c5cc5f56129ae403a78aa300752db51d0deefae193b180a3cee4f27c5d07a0b70923a59f12e9352e395572c7aafee7b66ccf1bf459cac60db5cba9abd4ab9876ba725d9026d21f972b2d092cc331cb8d7d61f9cd153102db5bebbcda06315e94fa965f82bf4fa9b830ec18512e21e6d93eca4d1233f638f6d09d0d8523a16f0cbdbeccd4a5a874e60b001379cdebb25ff57c0756c3323f1d36634b477e64b9dae2086a62fabd3a49c4bfe239e56a3c514c10c5e6a36f2d2e16e92608fc169dba04bb952ee2377ece5811ae0a7ce16e88f2018cdb78f9ec20b63c0b8fc71c7b332bbbee4d4bcadd237f08532bcd323bc38e9138e617cf47cd35cb3b64b02a6a348d24e4062168e1f43ae99e9f988b46169060fb0720853ebe594079ff1a7840e98e022796ae7acc2168e92c4d0bd3ef7588ddc42aa3f925f9c160014f5f895d5cd1d481a4eafd3816009080665802b5ee6e157b5bd8ffd7384067d60054a5fcb81115f658c54fcf1099ee4ac0b65b789e2cffbf56911fc4eb218f2c27a5403a466768d9b4d7a72fd94d2bdd75d48083f003a65157e6f05fef5b4ccd251428830d3613a0e4f5170a8fa9e211324e436d01af54649a330faaf706be02f78f73b625b940c0e0f55fa46412a347116d32afb8a1727460130b82377d8e58830822492d1a486289d5d4628ddfccf721cc9f57136aafe66ab357f4515e308a2ad5e92d436e6deb0513b46bef0145dff3771a2683830345802d61c59deb9089ebd3ee1711bb95aa843ea0c796dba57cd03eb5ef53230e5bd1588ff493d390836ff0aeea6c447846fd82e2ec173970403d0314013d0a4f471214e4bbe985d3f62105bcd57bbacd6b8de6bd038eb2e3785b3e19b30aa70c078a0a45f38e059c5a97c8671271c1c28ed23fc64dfe40a446c7168d06a705735d338fadb4e5a4e6d7a2216cf74e7261468839f6878b1c64698066efa6007f2fd0c615f7f2667b56bc17739ce85797fed723e9dcb7dbe31f1f3129664cf4eff652f4d72e46750120387ac2cc4f6d677e572a0897e19d4780f8167eba823e99119f35cc04e198f12b147586766a492bc502d117fd91b911406a7f95123a796424448e6430d282d8375edc1a04d42b4f183227c7ac202daf999af6cd326719233871137e1ad18dc2d73533fca9f90b1f015ba79c25b3739c26bc50923c62690d7d5e5eccdab021e274d500677d488e51fe55787b06d8e6d314738eac4bd365ecb5c48c13257b6cdf3ce282c37ef3311cdea2a604d6775c7721d9666bb7dcab5f85fd32db65c00f6e41e3965073e9d87b97283830b7c3c586355d3fb4d75b6553fdbd2f88112ec7e2e264ce2653a7b7166578a615e5188c54b6176272ec3b055757456833aec7d95b0f36b47153aca45db9ab3aac070793a0dea61cfb46cc5313c8c63e1a68774cda04b61c4ef1c7b85249f6844cd6949b7b126d62b8e378199d906f35e0c2f498772447f9e34b37e3ca350539ee08a4f5262f48bc1ec9bd859dc388453349d3adbc081c9329165f715185c256f7e0a8b14ac9f8f1d353cd63aaf57c0eff908711a426519239cf7fd0c6e872720338b9c177b2684c1a8e00db91a78e82da4094b4775cf0477cb36d8f0b8739f33ceabc57024c1d2148b2d2263f78affb35f96a4aed0a81ca055614111396737025b77cf97fbe8ef6ba51a0f427c2a94d2ceca149a97c5652ec8a530622bf8ba3dc8b9fe1bb5b4d92e7d96e4ec32def82ec09632e18af4defd9856dfcd7e639853e71ad187d91d65d41780ab227aafd3ad860ecbc8a8880d779f2853eb45a41002491e393a143951cfbf4f236e823101c8c3f3d1fe23729d10fa14b100864b44912989ed7b796556150204027ea1d39dc68248da6256e9a1b885e2724f3e4ed80dd24e72b3ea42e9b5dab54f892f0bb8e6be989a9dc6f3f8f683d9cf938bdd6940c914998621e95e6a47448e3f51b76d6b2e5bb8208c69e8250feb94ff3c3df463f0a6e445e1253cd89e3dc80b78caab81e1e688f2e377019db31bde1378b104c20f96cf671a96b23f677bf219e71e5304ae5e95f6e54bee67402e002f28d3b1443f5c3746e1d0af2aecff03fbbe74baec957f86f2eadee0101eb1a7b2d75c3f4596355ea4fe215b997a620bd72d52904eafe811b5a613826c13b5076495fe32de2ac2662e1d7b845aed557e93c7179d9115369d6861611bb7093bc189c60c925f194cb91c609a9accd3aa6a2675ddce7e7ea71f9e6ee4ad6c50cd49dd19547e5e37fc82e84db7b856254a14aedca22f7e95461b12fe4c06d8d2553a74289850854f07504bc49c1f862d0572a8997f3b756f139c0ccaa087931ec6803290a5554ef57ead1b15182ad4c1e7447137c19029012a81a4c6ab57cd3e9653e1679d39298c6cfb3592739436d989568e6a39a1fdcb80b011cd33ba4f37648860a00f3e86904a75111d6a0d97474de71aa71001564e8ba4ac16e6477b60c4efbc6f5ea788985aefabb3bcf26b3e40149e3cd70f9edb3be42f4d1bc1b0fbbc74443f6454ecc57e800c9e967e288623f8848e29d000a93e5cfef382aa4c001db7a98b8155664b1352521c3a8f994dee27f368be3b53f64c2e44113e973222b378e98a0d30b6984f2ff9bbd4b9c5ecfcf0c38dec02046c02c42a705a2f577e79365953eda4799dcf812f4b4f1bc528f6c4bca62a601478200573be61ac199bde05f8f4dd1165fe5d8e157121b58a97204422052e6bd896d0e10404b6d1b0b7333783bf10cf627773dd6ce6b06131828e1f82ed2083f7c2260ac1298a69180fa91ce16cd3796a126506d1fb2b9e0194c6a4d9180e7a6de1496a017a05901c82dc4d24579b73f1fc32d085d252bee6b929d067861ae0886f204dd323b459a6871c538d4f41991e34aba3fec5005b292cedd65c629269024a5a7566578cfdbe5787522057406e0f5de0843ecfa3ac964c0419761d456eebe5d2053c31fd4bad4bf5a0ff4fa704d28955f12c656dd812952e8ba53b1b5be09eaa05d50c3d40cd7af46086c2bfcb2cc7d331e1a6f5b51cadfd0cfe71f07eb9af3a37e29167062500e9808ac939897a60323d650d592d7fc406057ad6c25c8f0d1dfbfdfa1e8e0658e1fe5d76848ca3d418b82ebbbc0cf6fbcbe11425ef8f65a99385dcb9ed893387bc02481a3da5d2fe1272ce5d4811971e8152b661a748e97dae71d17182bfbcc714f8347f6d5c70eb8f64801aa5da5104c74d85e5e8c5741c7ed797312920fc7c0c0a3804c0446cf56a55e046b8eb3330deabbec7f03e649fe5bd70318050928db54e766ba119fa4dbf6c92d06523440c3fa1f9315996bd9b028d9a24171f0d5a3bc088d4c5ce0646d47db9f8246989ee6093ddd65f46e00d6d843e48271dd4ce0972ca0a8f07215e1eb6a36c8b66c7f07378efb092bf746b24d225645041b63a65a6977fc756cacd018d531d2001541328dde849058c80c68e764fa4a48b50333def90870779f5df3c16b6d1b4e37b0248a58b4a7988f9a599432989eb148b6f31253501ca682d342ac3d12bd4b2b1294b79a9727a521ef3048531300a62ad75237a4693720d47470bc4e2f2270c57dc0c36fd63ea46f340cc946936eb5591853c4a0d96b44a3ce8faebbd47925aa38a9c8ef85887b80793ff2c7f6bb0d1fadc4dc01792405b50caa6b7b89ccf81e459318e6685e60ffb44b8c1e6976181a6205963f895a54b93ef6b885fede2fdd8362aa347a3b44e3d2794a8a06e52caf0a642ede31e6f7e7b8cb16b4a3fa3504ac2a466d55d7492527cd3850e30694abd4e4294d0301ea21d54f063a1c811e78eba53dbc4ddeeb33b9dd33ebe5069ce4c49b4282c904dd716d5b7bbdbbc7db6207ebee22aabe3e7179fe41223f412815e6f63ce674a15a650ccd67aea1e3f07c2887b309725808417676b0d543932fab39ba9d643e2fcf5b350316a928a5e8927b37b9e5109f0011a654208bf01802e6438db69ad82ef8e1a0bf9fb4f2642e2505d675070fc261af4cf6dd6a4aad0c5e2608de4a936fd5ab61906cd8ac77d47ef7c2f0321bfda2ad8ff3b77293b5b8c49f851660dd4e256fa8aa938db8b72b3866d6edf49e05a1a6812c602b9880ddf7ae44163a807e82143a87d74ef585985fbcf5100b4d45cd41e6049219dca8f36ddff101bd177766fdf12e865557354ae56fcf03cc52ac6db3d1fe28b87b9e81e41c97bdcb08aabf4f9101b8c36e2b9f3bdacdd91fe8cd62ee58359f60402da51852af189edb9b304453655887eaf5ad971d1e8537ffa0a8911759ffbdf3a60f542272f13af5e7b4b5119f4be2a753a870ddc78921f486f7cbb42c6800e3716aebd64a20b265882e5e0577cf9d973e5fc31addd66b4270ae933b44f23843b3ace5182829c523a64534e1f923f02795d82ef2ed9375723881b4ebb9f37fe942a2abd12f7759793cc2272e4c31e6a5047b269552f4fcaf81ad597c71e126ec7e10339c2b77b75fe2b970262fe844a4be3b16a17733abb30c0efb442d4fce09f2a5462488f6892f52fad9fc41802bd6d4c738f0f8e77a1b88672b397d4cffdb7f5facfb05fe9d16b755acba9a741786ab6c0556c6dc28065d8e91b8db9bbfa89adaa99ff9ac0b06e0b51ba96efa435a75224142a90c6e7624c068119bb64b8e8f91728b466b9839d9c27de01d841c4f022eeb09603f3f09e11b7e82457b30f944387d1c104a5236c1f855172fea13d8ced372d7c47ccb60a3f9a84c5699fedecf5436b947c44b1c9cd5bb50a2e3942c342fd56cdb219c2d2be7cbab92ce7793573111e99041d1953193b6b7f2531c25c1e51dd38b1487f8795e788b5ec831feb7faceb44bfddd1b98635e191c36e38b1a93161a01328789b1820677039a32f1b11c611f8fb1c70b88a7609ba105fc35de719d0924cb1286d2007acda3b413d18f9956ce1769c4c830e81fc5dcfb05a6f6a7c673e90a9c92c85dd6d92ac61ca864a31a497cf15ca69861b919802a814540ea87aeb004e940d4329b203b78c6ec5de30242445623d5ed12b18697f11d80c96501318f02be34a79da47c08d60faac0f63b82b73b37e9c920bc703b18e95c9870034ae530332f99a0409ab6802a417de73611e0534866a0e85d0da4ee74f48c5671554e7fb3ebb52ded055060e74a3b9852485e162783e1d1096ae78575cb3bc81ee972b236589cfd47d32003469d80adbb68044d7a0016d763e04aec6f704e7b05ac8aa7304dca3bae930b447a9737ffbb4e43d6562dcee663ff9af3c1d8d9d00f4eb2f5340f8d4d932a8f20ef3ee87a42cc707e345f49092eb70f8a59285cb62eb9c3040946658a6491b6f3e773c73a33f1fb905a7f5c487406b16f6acae38b44818d18a458a593b5d6695e2483ea871f10a549244c4bae2edca0574f9bb386e40b29ce61ac4d085c2ed387dc8ce0666017301c29759a44484ef0206cab06d65d026eef3185685ae9881bfac1743742100ce6f03713d4b549bf84f9eaaf73cf29df2e5ec97d270909e8c3f06cf485fee1b7b0e6a99dbe331e0a996cbff9692691b2879d2008af50635ed6288eb9f3b8d43f33c4e90850e20477bd43ec0570f3757fd4dfbe1e09bf23ca7a49cb2ec475345d70d5b3cd13859c5186af70bec70d6c867feff382159a9206ce12871919fbc99f80849a65934405957dab46a114065dddd10876bdbdc1847d8f317911131b6a6aa7902fa1b9c39370c8aa7ef216ed444524731a1bf152bf87a0f4611bd7549ac44344143d00162f56ec5593f2f5878033dbb7c0064cb67bc290b428df350a54fb74ee8692945cde2929d93ec334a6ea4911ccbef1c3612d73050cd8c14e212fda03bb95d9f7117479a29d40026ecee0c001d0411b466fe585284be6388286016e254234a68fe88f91e9d1713669973060ba7f2b412b62bf26e0990780ffa4a958edbf76e9395bd09e67cf85173a06f3c97f66e482a8917cbaf7e78569eca71565c32d365f0656ccd8a8ff3e478545da82cd34c178fb008aecc26df9ac572955caac9763d5631ef5899c33ddc2e128d53c51b6dd2752db2725a8b438d75ecf6e521b4b189d9511b1df69feb1c78c28c7f511d7ede9dd6856aec54341b6f1c22b881b8aa0e90265525a8b72cd3afbe6934dc97743a18a9340be87cb847c6d484400b20017190f7b7d8b5cf9ec759553b427ff8e34fc2cf8ee952d014cf60d7898d5e97c4c1b3a4777ded26fd7cc5c92a2ace2b8044b6dacf7edc7c7213a898ddf8619361c8cc9753c85ec77e799cf66913b3c96fe71aedc076329b66e51acc9be608ce3e4b59573a1af474d441e575cb708382f44ef4412d3ec892933bc694a03eab9b68ab947f250f1b4d286f929067643c49c9a6d58004f80c915e3c44666fd8b6976c28fac191b2449726762c2e8dbdd67cca00335c66ddba21afdd18bc56818f14abf2e096742e46984b9a9dad44f4321c969124cb8ec2c19251d864cb07648cad5a5016f69c9dd4e360218c45e589b781f1cb683946c106d128bd726b57613c253ecd6f58028be59ce7ca872bb16151938cdc4da93e8fcccd60aff90ffce6bc82f2ffebfb069a73fac0363d351bdbd5903983d7de9cf18d3338bbf10e766f5e106f514619d03d4335bba16b209c1ab4dd94c69433537dd4a15571c9414620619b33982de7d05313c588992f88702c03d4bd5a826b2e6b6bc201e923f7726bac3ce094bf0b88c8689d92ba27b5a1a15bafac1d1292d87794d9b1b198f3a74ab85f9332a45e7a229623a4c4d6b76d7b7fa94c7fde26b3ffbbd510357077c31c99cdeb5d96f0664d59b273227d88f8ed78fe5cd67cf86224acbfeeea640f03a126068187f691981851b577ca2cc1743437d8c4ea011fa468c4b47d259321a18f532dbf48fd5892df8443ae57d000bf1d7daaf7b4fb21cb5d17292a5cb77d11d216021c652e69c6342eb7e9d972868e4e043a6090d57066f3efa815305260ee9d947f9ec9aa2c0344a8b907e8795a435206d34a87fa7a24b8bafc7c8275ef61a73bb64f25bd4b0b084c7269aec70584c51845eaf567bbd022242895e871b916cec4c79570fffae91c92683ec6b24e2240972d81976f8f896544dab03a5205ad0335bc7778b4665b363f13524da801075a132747ae1f65d4acbefc09bf90719d764abef4a6d71940a8748f16f5aa3ce7479f8e1cdf9ec42f2fe0ecee39b71ec6a488e0aaf156a1087d72d52f817acc733feaf0ac5707fb89a4aab0f1bb319b9a2acca300bfab92d1e900ea2aa95421df770c1d2ef2a464354c013421c61426814e31299dd84a705012f563c3c70afb7243efad934131bc2b88c7808f4ea479ea1bfb5e8a7786710e3bd64fc9a17538eaa51f864b0703f1ed0915d1777954d1bc807745a1badffd060955a2c704ae2751b23ac8929dcefbdbd7d5ac2263bec4eb40480b44d6f16e56441ce55ed31d8c94eb5efd4b6c4f9cec7650cb2330d429bd8151067ec7b03fcccd9a007c1b5bee2062e0c9830bac08e32fd895841c8fee2168f647bf7496f0b9e77146963947019ea04a071877120685ab6a75783aed1ca894847f22dbeb278c97cc72a616ee58c0215334febc832e199c562386c77521162c9f7e2251b5811e1fc84e74c8729e171ad41823dfe55e928dbe10209a21173d7945f77ac5e30bb18eff74569f4e0c14fa4d8dff19d0ac94fdd1e44d28d60d9c984970348ad2c9d57d3d3f4abb0f19ad21f4bf498b972bdad3ef54745dc317c73ed2dece485f95d1724dc329477913ee3a2a6ff99ddbab5a1d337fff7e82bff967b5572ec10695300a8fbf8594e94d12ef7aa89b1947576145ec3215b1340c2a296bfdc7f59952e0953057b39c8b187bc4549c8d7941d5f887ca1782f10bbd965c1830ee4057b7112fa241444c2113b43aade03c27306712dd0f072f07f25ed06267e0781871fb231714a93b2b89105d3fc10516916a748cd0717cadf91b9c5bf5decbadb222de6559afa8712ec87c7b2a53e62c42b78a2edc1cd20d0539101561d8c8bffbf92606061dd506cad7095fdc0762d61989123a917bedae0dbe14b09cdbf77e56bbd82907d20065c7f54a4d8688f6c73c855c6e7f2e2ffa7c57a9437ac5f57ef51e6915dabe19fec87ea38fd35b01d173ac94e2d2a66e8a3d6efb621f63c747430d2cbd5080f6470979f402e81448985f7e321df88b1e0d2a0ed4680d4e0520228b55933794b6d38ae91eb149afb605cae6875cf666a7d0076d4898f30af6566d7747df4d", 0x2000, &(0x7f0000001200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000980)={0x90, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xee00}}}, 0x0, 0x0, 0x0, 0x0}) syz_fuse_handle_req(r0, &(0x7f000000cbc0)="e3f81d3109f9b81ca9b444366f3d22bc6bfcd97af568957692b6046b5ecfb205004ae31361debaae7cc55928eafb73e566c0f42b919a43ed8606ee033ab080dfbc810e95c8378d484ffbdb95609e8917647e1888a590957bc7ea445e0059a2812ad32bf1a7f924744708c1d04e35cac61c37db4a345ad00ad6def29de90947271d0c2782cbc7d4134ac2dc6cb28be59a96489e9754739e93611a988366377fe1955e75ed8cf1c124b969d3d5e57ea38c7172222c3e2a6ff15d983bb9342f0a611f993de9bbce0423ccfbe0bfefb4585b0f559f4fc56c7d8fa9a31834df5aaa122c1fa3eac4cc33196deb73c053d89b4c24d8083ad790cf741d1531aa3d5bdac679895cd8b3d8ad68402dfaf48fec06df1ea15f42f41546cec3136bab2e7f28b4a3dded0a267e1b200cba99326cd2ecaa231b327adf74a0f3870fc2cfbcaeb49cb9aa1d8fdc3095e63c0c8ce0636fde80751c4de3ae946f48a31d51bb52065fc48f5559c5a9b12f482f52f30dca9f4606329082542ddb1c967bd06568270d19099441eb05fc39a964c4fd0eec8b89d06ca0636f3f8f6990a6891f7b58df5725136a5459d076d6408efb4c4696e49b159e64e843bacef2d18fcae9f13de09943d9fd49972e6534fa31dcf91645b6ecfe3f13ac65e146e9a5f1091a090445b878333ca4ee13f308aa3e43c15fd33859cfd0db6d52493eea2d65601eeadafedcd90e8c7a9f2289aa797b8236cc76d61ea5cff56522eb1dfcd85fd0a5640417e256615757c3760dcc83bcefd152022e1891bd2d9573b6277963291670072b1967f80af93500f9073d80b71d377b4516028ad3cf3e1e877f925f27bd949ec39e3813c279924d57dc66b019fce854c1f874c2cbc168cf4e2e3f28c1ff33bd51dc7ca4475116a3e333e789995bd4f94f649bf280c9896d7c9f3f262f6bb301489d0c688cedaff837771db2dfa165b4dbf7696e8a9282dcfe610b5207793fab47ef871d40728fdaeab4f36719988cba4073ab5f6010d894cc89363ed00fcf97ff4ffd131b4b3a2e31a81bfdefb4e686bb8f2b530f7cdb3b4386919b0c58db44c50ab73a652e515bde3bff0ee7ce33f4d059a2694a81aea7dd4df89bd713bdf001a5e07fc569334eddb9221fa45ab06554b8703d65b6f7a788e28a5b2c600805325dd92bbddcd07f38835a92d0158a315a04b4b31ce3026fd78ad6b29dcc4fe1b9a1f0c8045d2c17d2602dfb9f54b8882eb0a5183263d8d5416c2335742c68938340202965a8af73f5cc4a5f347b98662a24c927c86283908258d4da11a81ea4b6fe1837ac2ae71849ad3525633cf89364b77c8cdea83b92a6cbe66555fdf32006e1562dfddfeb4886af915481596c4c76e6368d4fd0f4e407c6d089e3eafef5e24d8cb4f4a1fbdd9005329b03ce1ebc22881f69b47fbb7abe9a39c1860f2f3f6612b53ebd63d5abb119c71f96599f7129611f569f4d720c2ad10d8fd9d1c071d4699c7b669418dc0d12472977d12903a6eda4209271cf1495c75f1329bf64b4ab0c31a37a09a40a9a908dc99eeebfdc3e8b2daa062b2f1abe23b0bff3ef00642f37ddc33f978225f881045134d499c6b7d747c0bd697f1735ce388ccb45b8bca01006066f8a274fe20eefdf25457f6ac29bd2dd56fb1c659a6e2f7476a583c47f911cd421fd627d97c0d88cf8482463bbb889ec07ea486e98dc0c5ce2f7dabb329dcb3e0570f6936f0d7cff623d51b4187ba421ee66ae3977c6d85253b517be29f38b7dde6573d817ee506ae5b8e34e597d400c7d7d0e787dcf2c6106b7d066592ef1ac576377f2f1db4d1963ebc30b36cf8140d04040d30dbd6bcf99d604e661b17e5fc92e275dc01d392628658b00e57fc9fc8c3f29e5654351173947682952a300c06ccd9f00bcb0c44fc710452044d66040205545e7912b2c9922793384e6f6c592d857860e56be31988e27e3d0bdd2a02844ee3e6072f11ddb65f2c49a6b97560c2af0b85dd157eddde77baa0c75104e6cbc6631b0326d691c3f2d4bb1c89bc68fba277a55e8f501008900d6dec8334439b7236d3a076e7376584829dd05ab808d4a33021bcec6d7acb09a80086bd7b5fea2dd4638ff9243f02ccad1d5f539a509ca9ddaa406c1250dceec1b41e3f21a53df62f6f630ecc86113035c994c71b5ec3764965825b2f58f9efe4a341ed6bacf5492f51ebed841a216560ccaed8cfc7f1fbc88c7839e11ed2806237acd973fcd30bd122e2391a71c11265a6e4d7233bd9d871cb9ea98de55e657038ab1710db43f27475e9bf6714b5ef64fab33fa151da4f501f601584bc3f2c1eb5de5064c64df4b64b0df634e0b694e99b83a594e06bd5dca4b72b91a94ac8ff56a880fb7e97df9054d25306b179c4c305519a7b4c9766171cb40bf36070aff0a893cf646cdbbe941397899b5f4ef8a640616a6f684d1394866bb0bc0a84af20ee1b54c6c3ef7c94b38e90753a2f16957211972de2588c92d2846ef716836ac359470c716fb04e603741236359cb252b09ad300c63b5142e08eb70878c1aa37671752d55ebcd780d32e34320fd78779ba7dd1e914c0404b25642c3bd8a4e0680b254691adebe6cef5008d5cf164a240c44c6d59141e33a4952a1c73fb8cd4f474b3eb8d7fb13bac009a8917fae50cb6be5db9a21d6418b71a3939e80fd4372201857bb43ae65ee5c90eb36d27e499f7a84d0e6366159307a824ce198a7671f44e7f370456da46e642308fc4d154db15b8470e89cf23b61df9c1fde97f3227e16c742c79e7d41fbb4902f76d5958813e83f07f02881e2542f898f7aa31431cd35a22d9b6cf3b720f9aba57d8e7269a0f8c7a780c59962faf271c90d7e43a1e9b76cc3168de9b8cb9795f96af0cb196825efe303757d1237f3ceb6a1336bf9d893179ce18397e5ebe7ce7fd2a7fd009d3156cc3d363a8f0da9ba2f50cdec0720882265587e7b79e868325f76f2b056eb23d005eeb9a7789c072fbc1b369bf51bd82a83f88adf4802a9ac516e5d50e8f318ec125a179b616d204264d7ea698e457ebdc33737272f60dd6d8127b8b252b43edee1278345aa2e7ad4dadc55a50eabc7276e44d3197d3a636ccb575359b9ccb629cf16bc2f36263a02dc96e19b8abdf9f69b91b3e0f4bfe7b95b86e35dd29768d9f6e41978cca21b24b5a42314c1a6d9b69f7cc67686a89f3d8fc46b59a91b68b957c27bd8c983d5b0d73726d94b59079158930f5d79034fd4c4dfbee80874ef19074e53255fcfd84ba1ecdb717b1a00c9bf4760512bb65b9b4851f08264901904720c59c0ab7a62437f3bdd2cac317b4cbb930115a723c1285a948afcf29c9299c9833ac7081cbafc91569d862b1a446aec775e79f5e8c358531f7501c12015855a806c3fe3660b852ce8ea77f45f649e196845e5137ea0039585c562e129ed4bdc64833b2be1c720214ea1f6b8e36683380c0631a2997e73ba99e2afd90af09e0cff96b653b68d05240b0010a90117f4e2a711dfda063fd2944c353266e693c580cd77f56c66538b57dc7436c002bfc0854a927f572943066b88227cb43c3baa9cd5ee2fa6f13aec1f186bc268fe035c299d2020373da6eead145c649a96dd8879e5954acf58af6fa36cc2d1662f3c31e0a5bba511146ff7c287725395535918c9d7c952a55b3fdb05eb66225f9a42469feef000e1a52617b10dbe36dd94f912dd712c7400a9958a25c8d83ce6ba0965a0477ce3829fa2a4579211b6fe40fa276e51e470a1f9a789f9868b6eda5437b276de18421bcb248b67c4e5fb0535b630db4f92c4e2bd28cf645371cc83694c52944aeffd13841416a7240ef8e1dcb37c71f1a38edda9c93a8ee125e7bba125748687cedec90d62ee73815be913c1fd2a5f0a42833cfa4894ba8eb5c377d5a466fcc7e4a75649c3e4a3008ed6eafed1a0f818804cadc1fe1dd2c13d21288b5399ef7fef5b5a1a5df6336272259f2f27d262e5bc6656613083758ebfd712849d792a2dc699fab711fae696baa578def93325fa1e88472c3915abe59c440a6f19e895805e5ffb4488bf9f61351f4db8439a091bc7c994b755fd4ee7e6f99fe53641b5ecdea577408e6a69e4b0e0a1c5d300a4036cdcb35aeb548123139cc10f0aa96ecea31026fd84efebea18e00ef358b9bed0aec3cc8e0ea3c734f1822c807261d3dc5549e8a3d58363ef50646925f305e5df01e809de80b57d34ba2a1326479fe3d06ba967a0f21c59f3f2e707d1368ff4f2b7b244d4928fd76e0940487860068294ef55f1dd0dde1a7fe196ed651170cb800310892d79f523550747ba518209acfe4a32d61c45a8b7b561063c1919509986364311e71f820143832b36a7241a7984b5866c8643d4cfbac116cdb65a1e36922322f05e3269d75add7aa828af8e8db87975a19a22a4adde6240703619b6be83bff5512620a7d80b33ae0d51047d27393c0ef73b95f301ab4c81906d6da0375b379dfe16a031c72cc6270fde07b3a66fb88de11352adec0386a8f01a27c4813811586b66d89adb421c688a4139f898bed18068e295cfb1757bdf2725a35fe2f04065f38e3e0b5c4c1c372e628ba35d52b29477bc72d8579eebb86b0d5da5f1d8411da31f2afb92e562cd4b4f83ad5e1d34d37d696ffa54bd690e760eb93b462569c2032aac62318c4c64f039b7b5cbab7d26a4ad441129224de9246dce040b508d27dc9f56c499ed9d1cb7519dafe868650f4074d593135d3c96ed33c17314cc07f280b51afe53757e48ec621d46e62b49896cc432e57a6621c87979c997971e0517479fb80565daff8acbd3d00926adef0a0fbf2c541a4a20c2cd35237752d3af827037bf1b81c1726f062dd687ddfde53255001196c871d23ef609112dbdc4f80fba2a390e93784781180a02cd54df881c9cf426680c10615a10ddeb430460787647bedfe4a7987f0bb45d77594cb1a5c7b671e897f00d2cbdfcf1633fa6ca2f75ef6310f40b6b2bbcc775b6bc74a4f8781b280f06d5bbd571c093f9327e0cd0f1618c1d373f564f959ef8708d17ab7f5275e8ae105181f0a59af33fad84dd8386f52562b145d34c511f6c0db1d46709e4c8deabb0c88cd4a4fdede19292901aa9d3d2f4ad011cad851f4d3a5417f41209df8e83357e450c6badfde2d8c6f94bd2a6e6b9563a71addc19fb837695e140eb338d486fbad6e13ba3e534698f6cf0f0f12f412da79d656769f14facfc186a1c08b40c8ec642d83025604c1d29f120e5809769e8e1a5fc7a5795979ee6274a9999ecded6dcf5c8c7c731b0b14104d4e942bd9bfe633fbe7eab254b028c306f7fb1edb1e18ff41a1f7911fdaeb4745f93ee56b3bfc4b6242c9c04b519af6f4810994200fd0792141bc6ef3a47f495fd63dee3c2da58e2145fb2fa8c91f15f8d49d3f75bcebcbb2566cb3258538d680172d0b3f3fa5c6db91f1826968cf047620b43680dba40318bb76e6d11ff8a2584ad03f3ca4e963b5a1fe4719b4fbfc773880343dd596a6a2b1383c888808981b625248bf0c4b1baba0c9565b3be84441fe08feaf7e278886ad249e7ff8ec713091d7a9a51d25d57f3989d31851cc1e46c4165c6c2548ad424529b2b745469040aeac123b26ff4348bb4a232a73248738a8db9b37ce44f136e65f4213d2eaceb4e823941e234b1dc7094ab973ae76f300ee4986f11a64893f28ba3de9cade63bc2dfa7710933a30253203d5fa9dbaca9a6a493fffd8c2196e52a25bd2272de976ef23ac250a4755f233c15c9bc9f278ca29a57f55bcefaba4c352dae4d90f269c5d4f8a3ec03572bb6d9b4328b9505232fb7f4c95be407792bb6108b664d472fbd517e646c19257bee532d15298694829dafd502fa9ffa6bad1ab3ddb4194c80c8d514107b0cafa9ffba1bf455902bf8d43c0dd29c4246b26044ffc503388c17db0515e29c4db5b4d97a3e4799d3f5c107d1fc264b2a6f21fce1767ed427bcdc9e30246a73c3712859439fd58f9c588b0dea79545920a500a029b2951b7e2b844621747309b765fcef88617797c31fedc6721f71b1ad1b93081479d000ca4460210013d99cb943ae0b6c8cf38b98c64047db93b3ffcf767b427880897cd3dccd8f273c0de8df221e114cbfbd5c189a1930f8ef09a93d9a4e16ea6dd68b0d93fc65e547f3f3cf0eb938f75a78a0d9c151d977c2ba956bf7714b3ffbb1e1401954b70e1ea879109a3ba5c7bad59505ac9f4056a38f5163ab4997b542676d1e1c91e66c9397ed53821ebb6015406fa568c9da9cdc7fef27b7c510bafc6457d2f83d7ba4e001dce8bfffd1886b8652038fee131e7d13acec7f417c47e7504723f98a7e1bc5b674d155b941d15311be83ff30649183f1c3de2dac4bdd0c1866091e1eb032667a191aeb6f0d359f66439fc23b64c60c6c55723fc0df396061066ee6290b410c71540ef50f2ba5560efcd2aea0a196c6d63e178d67f09697f147f4acc13b18ff4623f403f23fe4bb37bbb547575b48daa8e227e28084156dfcebf8f3e8ab7a4ac14e6b0a0ad2c281a8bdfa3da2e0fe5469aa3c530144dcc5f7168705843180e8cbee387e4a91789f959d8de9b0095b0e0c249ab77f55db84ed4863ad0b918b28f423d6c2ce75ad7efef6849acf2c4e61ef56e81dce43e90e52d1521f3eaed340b87336537eaec4fd78096d0617e5606e3be5d461ebb5f203c1d3a9334d4f9172d92cc2586d94a96d00d6eba6972a431ec0567f3d02c3f5bf172afb14b80588b1fefe63882d6657d161a88201e24abe04f2cc6fcd5ba40d0aa2aecfb79d407ab898aa0b37194b1d710a34fc3ffdfb0777479bb330f1e0a2142a26b9af3ce0c6013a99bf4fd6bb907c178da07faaabb46d4876d8f4a42be289c6a5d7498d78cfbbe4505824d208e59d05b00be6ca5abaebfc6e5a0e122f4c929262f25a5ea2f4d7e112edda5e6dc1c0518fdcd74d5fc544e88b54a3b0c321f20c696a4b68e73558e6eb46b8d8cc1598d0f5e28cddf47084c221be14e9b8e37409fc9a80f0a4743255ae659146b5ae61bf3ca2b3f8b6618dd6246aa79ebe9a86deb812c1bd260408e75c700007b360c798d770487393e310d44cd80be012d700ca1ef37d9cf3bddb0c13e88df872e9461ebc93c4ef54e1f89116b62898e852cc3934a0cf7d972acfd1db8c6faed41f936ca62ebdcabbbd9e5585295ca351226dc82e3e86ae09c0cdec28f17c72d343b3c2ae15ea13de64b7c518c75b8bb3b7b8d2209bbf2fdd122e8663523801d9bb58cd666802be53852c01568028f40b79469364a634f21b672c400b635939b7755b9f6511a2fbf579cb0608a055daf505b318462cae12665f0b78dc8f56d3957e59bdc1b0c1a6a1c1de4b1eddd73cee2a0274d9f9cb38483f41d33d3bc8e7ac4a9c31f42a3d61ff08dddc820166d6238b9578463236e579af2d6c0e92b549074e30146ca1c2cb0824003d8203ff65d3385e100c747be9febcd734bb0fa6819d91d6074eb9b2a9db65ad31f431a6c1e1813c1770dbc263b2959a6bd76a24d76dd5dac5963ac8b4de0566a5b63d681590d7d16705e96c0d6c2e96cb27dd96f14cbe3344a3d4c5a0e12881145b66044078825aeecdc2cdffac9053b62890e4b1d395196164228df9ede204fae630addc1ee46e079d1e0553291c2dd61c9d9974118c737b9f9494300982bec8033c5549dbdbaf7249145e83c206a464b54887017b711d40b8c5d759c6d3a77241d13372c61f450f850b4e4a666da63e9333afe0227b3fc280c0b425e3343ba03d3b4de8344edcff244e88e056c6f9f0ca6c6fc4a7f3dd25552d8f96bace87b8c0b243787b094aa98eb80ab9f0610afb843adcbb8b6c0944028952705a838f08e2dff95f75119bc2a1cfaa671e0dbb5b9785886c60434078ca34c488d5407bbed68ef8d361e4b492e857f7eeb8e6ecb325c6452b866860a8d75e5cffe07d02e39333cdb9c85d8852382161c95ecc34a50ce96e7729bea1177282a222d195317a6c5139dd04afce5e0223901524adc3e07755df71eba24104265ae8b100c761a30f6930fa967f54a1ba16429df0c77ed7b97fbf288d9f9e5d9833382ce889cbcd2c10d44ac924433dec77e5b46bf55a0ad489e31d3e2eecab7797b991cf926f0ccebc37bb69690ea478b5b2cf9d1f8437039665056d8fde3200c74a8e5a21cd02a1104764ca6b0c1352033fe5e5b63764482795e8e6d4c70c5a505ebc7bdeac19c95b77bae58de0e33dddb1aabfac66bc34bbc7959a01438ffcef31996ffbea4d5cfe6babe805cb86aaf12a4e37f2bc8a518bc80011a1f92134bb130002c9146ec7152c2853d4887d2d53385bbcc7a1cdf349b56b4b9e64c70beacb3d2f0bfe28d6b3bb400865d621e344f664b86c0118d48128a7a2ef655498cad86e1a8b537a2def6b7059cd0956ed925844efa7929980a66a8da8d9b3f8767fb723b671ebda4dbdc027bad87e5c106622d4cd4c3ff46e10d2a7dfe285b7606a61d3a670e0403b8265f1f19c2679c97ceae2bdfd788b9a68204947dce4ae490cf5bc524be7877368d040d11d0227566f5b1c850e86824b2811b2d5e7abc4d9296cf6c98d3889457baa5c082bd44c07989ab51a120d3f5d794b9a36255071a3f1f3a4deeb4c93f78293fbd4770077de85cf885069fca4b9ccc3039fc52b20a43a87d50ccfab8d3c94f443196c4b87d93f6503611db498a993d0b7946d288b067fd392df3bc0949dec993a7ce7610696b651e94ada5795ae6f101b9348dea056a7cdcbb5342ad797dd649a8c67724dbc90a98145074e7940630af1d8ba75e0a54a9238b1f28b25cd5e5022eb312bec19e83915effb26e8b3ac34e9e65beff0eec288f46a0eb69c5597ede7479e4087daf08f96816a5167a61af451a432a04cc4a23dfbaa1f9077f4db52c6c89c8e9eb48baae673c123910722915de07f6aaa5a8e9c439650cbb2a31f72ead72925983cceedd8fc13981d033888e87ae4d75be3c13a6a57892edbfb9534a50334c9c92766c190c46322502a5c98018bb2a9114f290419ba2d6c9db4f1219d6eabe87d33d4206d9b3423e3a4d27deb17d068a5d827fbd0e21d378df4115ec63575406658b82a933f35e805405572333bc0776de5d85fb1d52527a4841a0b08116ecf899170e5f5ce61be7c636fdd863c8588a6f8dfa0bc5a6966059e7c8b5ec651279343ed964f0063b07e7f82b9abc14ff827d6e5255811ee140d9c6eec3d5fcc7dd335d53741607b179b2d8e4f90c6bcf2d952a35eaa11d4e47f47018b5e1ead999def1cf71d933cb9212e5f690b907c95050e7bbf61686f9b615ec75a4c266edb8b007d53598fc64529d375c742cd6cd08602aea28449ec63c39f692a8a84915e90d8cea3e857c004c9341bde7c81e7e312d61d1313dcbbeaa5b8faad791e9dda0f709a35992840bfa7c5d6b407751a70c1a690dae9fad3cd796f4f2e7616fc2c704e72ed15f2ef5c84f73fbb84eb95e6f4585c6d098e8bd9df87e45156aa3c3845e3b550b01bd1c9d161571daadd4c8f73b41945f2b569eefb1167a2f6e2881d61e66dd311da0ef20f996f242fcbfeec2e131770757ac0f85e5b08bd268332469eee28ce60327973b26cbc8a8f762e6cd48b0390ec758b52af688218dc08390abf7a0c34a3a1505e24e241f35418949e4ee87155b9001e62767f7e82443ccc68aeed47919f5c8f484f0d83b14098165fba5d9971cd6846629ac1b15d1ee10df4ab76823533ee9b4409ee93badecd24ee234306ba5e07f847f99496e2a7190076a79e710396d5005cf1d84a488de88938348e0cdddbe9e3f352c738b19b20aab2bd908469d70d82e0c0a1f827a96afe48003178dd34af11bb481a2be4bec9b55f1e5b19ed316ca0dbf43c1fe5ed09434d877ef7df1add887f8ed292e48c56b5c9b357d486d136e95d93cd9f52bad75b2de599d23ec52f019ce620f82559951c5544e63daabfbb62c638b3dd3bf8f6fa903c673deaa3956a1df7dc67c4abee45a7fe4561096f4e3407b61f4618556190d0038f1ac88f0d0765ec917d90c9b54027d22c8eb0561cb08cd1f9291a438434f44f84029fb37d608ce4bdf9c1011d15e9859f84dad2487fd19019015223dbe3e7475ed52c5708c30a8b1b69e1c97c56c2cd403a145d9ab11966490d928313ae0585134de26c067061abc932867eecc40448a1e1566da23f0dd6c89e8b7ef7f130b55c3318a3b361567029dc72bc4ac98f20cee5613504b3daff63f8a866a6acc8253b7e3dc9ed574694fed999048ae352ce11b480f75b8d204555869a69a6c777604432be71a4f452bcd2fc0569a6f3cb6c5876f821a47b868425ec8d10ff8c00ad915337293b95425e1d1523d6353f4073e1c7ee06756f3b8f5eea1291e86db96c179b63cec93d2f192db23cfadd7ef2b661623c929dff16ff5bb59d6cb8917e4ae9acf43b27051ee7eab65fad85dad3d2785272d22cf122e9913879473f79ea64993071505d9b2f3a1231ed5a5cd69351539378ddb766f7fccd1ecdfa5e0a95ab4e95e3146c0d3798e4cb41df4f8c5ce2ccb4ed3efb4ecf7f3f7a732e853c8e51d223aecea404c9df8825ad6c8cfcaca7379166f74ef77b3513e4ab4fd138ecd2378933793d4cad7f86469fc1671d5466a63f1502ca4a492eef3767719db317d0caff806adb5edff78e1721bb14598517f4be09cc0495b504b50a957057fef40ce535bb97436fc3a0b00aab56c64e9a5bc78e94a3da17897e7e02f23d2982b6bf7bb0e2cb8ef4ee1e1233767947a22111409e7c9aa826c0fca8707d04460b548c9890275b943ae537f7811f22791dd66488945cbf9dfd3dc2b516af469826074b0052f6083c4af8ff5155d4678ce7783fd5929fbf8455513e803a874eeb3cea127c1c2275d51d43896a6de8733a85dcc22a0eebffd4f8ef20b20f1ed60433cbe0f56c786aaf88337d69008b80447ec21de6acf5e73e7594e2e0ea49895064440b8c63f87fca4982969ef5be17a6a4062d1c4bd6de2a56a2f67d18c9b37f6c9267b488ab1b833be6025165a64445a1fbc9b2215d32a9e925a886098619bc450ed14b0d51cd3d5b15eed127b6e039e72fc2f2467ab04b2e5f27a9586142039e73d5c9f55881fb20ac785807177d207c40d873fca84e58bf3a43a4ac9d1d30cf1275440f10118f0ae3a3e8bdea24081177bd0380c1dbd72abf1b2484920ebe79cb77b7cfcd9844e04b5ad7e8fcd475e899f912fe697b7777ca47e973e7ccd546439fcb395168fcb37e7ef0bd2564bdedf34b74a8bec074fc1c9f3ef7daa114a8d0c66f2e3a0304f3d0c9e701aca4a0e8063433783e955bd271c4b5e247bb0a2ed36b5e57fd43826dbfb724ce34a65fe3c5979ef531afe6b2365fa55cf01c223c4f44c2ff6042db61ef97c1cee8193fcc5f6f2c91c7a65a42ab258cc4943b80c403dded60e0014763c8bdce3376131658fc4672b20490c4a89029c37c77981926b9575c35cfb80cf89dd57e3919d85f57f51a04df0812cc344f8bbfbf88b530485d0bc80467839d38b6b85ac667a176c5e707235dcb24b7441f98be8e2e3222fc2e5cf2cf28153baadb6f15cfdb685d58c583065c63a7afde5ec", 0x2000, &(0x7f0000000d40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f00000005c0)={0x90, 0x0, 0x0, {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa000}}}, 0x0, 0x0, 0x0, 0x0}) 00:34:11 executing program 0: select(0x40, &(0x7f00000000c0)={0x2}, 0x0, 0x0, &(0x7f0000000180)={0x0, 0x1}) 00:34:11 executing program 1: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:11 executing program 3: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:11 executing program 5: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 0: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 5: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 3: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x201, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x64, 0x9, 0xa, 0x401, 0x0, 0x0, {0x1}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x21}, @NFTA_SET_EXPR={0x28, 0x11, 0x0, 0x1, @ct={{0x7}, @val={0x1c, 0x2, 0x0, 0x1, [@NFTA_CT_DREG={0x8}, @NFTA_CT_DIRECTION={0x5}, @NFTA_CT_KEY={0x8, 0x2, 0x1, 0x0, 0x6}]}}}]}], {0x14, 0x10}}, 0xac}}, 0x0) 00:34:12 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@bridge_delvlan={0x24, 0x71, 0x1, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x1, 0x3}}}]}, 0x24}}, 0x0) 00:34:12 executing program 1: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 2: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 0: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 3: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 1: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000000800)={0x30, 0x76, 0x31f, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @ipv4=@broadcast}, @nested={0x18, 0xd, 0x0, 0x1, [@typed={0x3, 0x0, 0x0, 0x0, @ipv6=@private2}]}]}, 0x30}], 0x1}, 0x0) 00:34:12 executing program 0: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x201, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x64, 0x9, 0xa, 0x401, 0x0, 0x0, {0x1}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x21}, @NFTA_SET_EXPR={0x28, 0x11, 0x0, 0x1, @ct={{0x7}, @val={0x1c, 0x2, 0x0, 0x1, [@NFTA_CT_DREG={0x8}, @NFTA_CT_DIRECTION={0x5}, @NFTA_CT_KEY={0x8, 0x2, 0x1, 0x0, 0x6}]}}}]}], {0x14, 0x10}}, 0xac}}, 0x0) 00:34:12 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_timeval(r0, 0x1, 0x49, &(0x7f0000000040)={0x77359400}, 0x10) setsockopt$inet6_int(r0, 0x29, 0x49, &(0x7f0000000100), 0x4) 00:34:12 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@bridge_delvlan={0x24, 0x71, 0x1, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x1, 0x3}}}]}, 0x24}}, 0x0) 00:34:12 executing program 2: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:12 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000000800)={0x30, 0x76, 0x31f, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @ipv4=@broadcast}, @nested={0x18, 0xd, 0x0, 0x1, [@typed={0x3, 0x0, 0x0, 0x0, @ipv6=@private2}]}]}, 0x30}], 0x1}, 0x0) [ 667.764203][T15950] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. 00:34:12 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@bridge_delvlan={0x24, 0x71, 0x1, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x1, 0x3}}}]}, 0x24}}, 0x0) 00:34:13 executing program 0: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VHOST_NET_SET_BACKEND(r0, 0x4008af30, 0x0) 00:34:13 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x201, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x64, 0x9, 0xa, 0x401, 0x0, 0x0, {0x1}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x21}, @NFTA_SET_EXPR={0x28, 0x11, 0x0, 0x1, @ct={{0x7}, @val={0x1c, 0x2, 0x0, 0x1, [@NFTA_CT_DREG={0x8}, @NFTA_CT_DIRECTION={0x5}, @NFTA_CT_KEY={0x8, 0x2, 0x1, 0x0, 0x6}]}}}]}], {0x14, 0x10}}, 0xac}}, 0x0) [ 667.888150][T15961] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. 00:34:13 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000000800)={0x30, 0x76, 0x31f, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @ipv4=@broadcast}, @nested={0x18, 0xd, 0x0, 0x1, [@typed={0x3, 0x0, 0x0, 0x0, @ipv6=@private2}]}]}, 0x30}], 0x1}, 0x0) 00:34:13 executing program 2: write$binfmt_script(0xffffffffffffffff, &(0x7f0000001580)=ANY=[], 0x32) r0 = pidfd_getfd(0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_io_uring_setup(0x3ee2, &(0x7f0000001280)={0x0, 0x6, 0x1, 0x4, 0x0, 0x0, r0}, &(0x7f0000002000/0x2000)=nil, &(0x7f0000003000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) socket$alg(0x26, 0x5, 0x0) r4 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r4, 0x107, 0x12, &(0x7f0000000000)={0xffff, 0xa000}, 0x4) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) semget$private(0x0, 0x5, 0x0) semop(0x0, &(0x7f0000000080)=[{0x0, 0xffff}], 0x1) semop(0x0, &(0x7f0000000040)=[{}, {0x0, 0x8ce1}], 0x2) semctl$GETZCNT(0x0, 0x4, 0xf, &(0x7f0000001300)=""/74) semctl$IPC_RMID(0x0, 0x0, 0xe) r6 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sysvipc/sem\x00', 0x0, 0x0) readv(r6, &(0x7f0000000040)=[{&(0x7f0000000200)=""/4081, 0xff1}], 0x1) syz_io_uring_submit(r2, r3, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) semop(0x0, &(0x7f0000000180)=[{0x0, 0x1000}, {0x2, 0x5, 0x1800}, {0x0, 0x7, 0x1000}, {0x4, 0xfffc, 0x800}, {0x4, 0x4040, 0x800}, {0x2, 0xfffa}, {0x4, 0x200, 0x1000}], 0x7) semctl$IPC_RMID(0x0, 0x0, 0x0) io_uring_enter(r1, 0x2c, 0x7, 0x1, 0x0, 0x700) syz_io_uring_submit(r2, 0x0, &(0x7f0000001240)=@IORING_OP_FILES_UPDATE={0x14, 0x1, 0x0, 0x0, 0x60f1, &(0x7f0000001200)=[0xffffffffffffffff, 0xffffffffffffffff, r5, r5, r6], 0x5, 0x0, 0x1}, 0x1) 00:34:13 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000000)=@bridge_delvlan={0x24, 0x71, 0x1, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@BRIDGE_VLANDB_ENTRY={0xc, 0x1, 0x0, 0x1, @BRIDGE_VLANDB_ENTRY_INFO={0x8, 0x1, {0x1, 0x3}}}]}, 0x24}}, 0x0) 00:34:13 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x201, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x64, 0x9, 0xa, 0x401, 0x0, 0x0, {0x1}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x21}, @NFTA_SET_EXPR={0x28, 0x11, 0x0, 0x1, @ct={{0x7}, @val={0x1c, 0x2, 0x0, 0x1, [@NFTA_CT_DREG={0x8}, @NFTA_CT_DIRECTION={0x5}, @NFTA_CT_KEY={0x8, 0x2, 0x1, 0x0, 0x6}]}}}]}], {0x14, 0x10}}, 0xac}}, 0x0) 00:34:13 executing program 0: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VHOST_NET_SET_BACKEND(r0, 0x4008af30, 0x0) [ 668.026322][T15971] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. 00:34:13 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_timeval(r0, 0x1, 0x49, &(0x7f0000000040)={0x77359400}, 0x10) setsockopt$inet6_int(r0, 0x29, 0x49, &(0x7f0000000100), 0x4) 00:34:13 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000000)="11", 0x1) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x33, 0x0, 0x0) 00:34:13 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000000800)={0x30, 0x76, 0x31f, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @ipv4=@broadcast}, @nested={0x18, 0xd, 0x0, 0x1, [@typed={0x3, 0x0, 0x0, 0x0, @ipv6=@private2}]}]}, 0x30}], 0x1}, 0x0) 00:34:13 executing program 2: r0 = epoll_create(0xfb) epoll_pwait(r0, &(0x7f0000000900)=[{}], 0x1, 0x40, 0x0, 0x0) r1 = memfd_create(&(0x7f0000000200)='G\x84\xe7R\xb5\xbc\xeal\x01\x86\x01\xff\xff\xff\xff\x00\x00\x00\x00\x1bX\x93\xbbqz\x01o\x81\xa6\x02Wq\x8c\xbfx\xdd\xd4\xf1\aQu8\x99:\x06\xb9\xbe\f&Ws\x83\xd6&s3\v7n0Oj\xff0\xea(\xeb\x986\x14\a\x95:\xeb\xf9A\xfb\x13k\xed{\xed*\xa5p37m\xa8\xa7\x95&\xb0\x93p\xa3\xa7\xda\xf2H\x9f\xf5D\xae\b\x81=\xdb]\xcb\x10\xb7\x89\x8e\x8a\x9a\x80^k\xc9t\x1c\x00\x1a\x1d.\xe5\x18I\aRW\x99\x1f\xb1#\x1efv\xb7\xe8\x01\x03\t\b\x95\xa9Q\x8a\xe2\xbeq\x1e=\xebh\xd1S\x18\xff\xb7\xae\x9c\x9d#\xf7o\xcf\xf3\xeb@\x97\xdc\x9c\r0\xe4^f\xf59g\xa0\xe5\xe4\x1bN\xc6\xff7\xb3\x10\'\xc0\x04\xd5\xef\a70\x8e\xfb\x1e\x15\v\x12Ms7\x03\xa4\xbfv\xaf\xf8\x13F!\x17c\xde$\x1de(\xfb)\xc9\xaam\xad\xda\x03\x16.\xdb,\x86E~gO {J\x17*\x8bX%/\xf9\xa6\xea\x9c\x12\x01\x91\x16\xff}\xa4\x95s\x87vH\xd8f\x01\x1f\xde\x8d0\"\xa3jM\xbb\xd65\xc2\n\x90\xdbP\xe8\xb1\xec\xd4\b\xba\x83\xd1)\x95\x06\xb9\xc1\xd3', 0x2) write$binfmt_elf32(r1, &(0x7f0000000000)=ANY=[], 0xfffffe47) fcntl$addseals(r1, 0x409, 0x0) 00:34:13 executing program 0: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VHOST_NET_SET_BACKEND(r0, 0x4008af30, 0x0) 00:34:13 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=@bridge_dellink={0x34, 0x11, 0x5, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x4, 0x0, 0x1, {0xc, 0x5, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 00:34:13 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=@bridge_dellink={0x34, 0x11, 0x5, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x4, 0x0, 0x1, {0xc, 0x5, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 00:34:13 executing program 0: r0 = openat$vnet(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) ioctl$VHOST_NET_SET_BACKEND(r0, 0x4008af30, 0x0) [ 668.263564][T15986] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. 00:34:13 executing program 3: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="1201000059965340450c3061887c000000010902120001000000000904"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f00000005c0)={0x2c, &(0x7f00000009c0)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000640)={0x2c, &(0x7f0000000080)=ANY=[@ANYBLOB="00090100000012"], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$uac1(r0, 0x0, 0x0) 00:34:13 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000000)="11", 0x1) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x33, 0x0, 0x0) 00:34:13 executing program 0: prctl$PR_SET_MM(0x23, 0x8, &(0x7f0000001000/0x4000)=nil) prctl$PR_SET_MM(0x23, 0x9, &(0x7f00004df000/0x3000)=nil) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='cmdline\x00') r1 = open(&(0x7f0000000040)='./bus\x00', 0x14117e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x0, 0x4002011, r1, 0x0) read$FUSE(r0, &(0x7f000000ae00)={0x2020}, 0x2020) 00:34:13 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=@bridge_dellink={0x34, 0x11, 0x5, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x4, 0x0, 0x1, {0xc, 0x5, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 00:34:13 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_timeval(r0, 0x1, 0x49, &(0x7f0000000040)={0x77359400}, 0x10) setsockopt$inet6_int(r0, 0x29, 0x49, &(0x7f0000000100), 0x4) 00:34:13 executing program 0: prctl$PR_SET_MM(0x23, 0x8, &(0x7f0000001000/0x4000)=nil) prctl$PR_SET_MM(0x23, 0x9, &(0x7f00004df000/0x3000)=nil) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='cmdline\x00') r1 = open(&(0x7f0000000040)='./bus\x00', 0x14117e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x0, 0x4002011, r1, 0x0) read$FUSE(r0, &(0x7f000000ae00)={0x2020}, 0x2020) 00:34:13 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000000)=@bridge_dellink={0x34, 0x11, 0x5, 0x0, 0x0, {0x7, 0x0, 0x0, r2}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x4, 0x0, 0x1, {0xc, 0x5, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) [ 668.687634][ T3693] usb 4-1: new high-speed USB device number 11 using dummy_hcd 00:34:14 executing program 2: r0 = epoll_create(0xfb) epoll_pwait(r0, &(0x7f0000000900)=[{}], 0x1, 0x40, 0x0, 0x0) r1 = memfd_create(&(0x7f0000000200)='G\x84\xe7R\xb5\xbc\xeal\x01\x86\x01\xff\xff\xff\xff\x00\x00\x00\x00\x1bX\x93\xbbqz\x01o\x81\xa6\x02Wq\x8c\xbfx\xdd\xd4\xf1\aQu8\x99:\x06\xb9\xbe\f&Ws\x83\xd6&s3\v7n0Oj\xff0\xea(\xeb\x986\x14\a\x95:\xeb\xf9A\xfb\x13k\xed{\xed*\xa5p37m\xa8\xa7\x95&\xb0\x93p\xa3\xa7\xda\xf2H\x9f\xf5D\xae\b\x81=\xdb]\xcb\x10\xb7\x89\x8e\x8a\x9a\x80^k\xc9t\x1c\x00\x1a\x1d.\xe5\x18I\aRW\x99\x1f\xb1#\x1efv\xb7\xe8\x01\x03\t\b\x95\xa9Q\x8a\xe2\xbeq\x1e=\xebh\xd1S\x18\xff\xb7\xae\x9c\x9d#\xf7o\xcf\xf3\xeb@\x97\xdc\x9c\r0\xe4^f\xf59g\xa0\xe5\xe4\x1bN\xc6\xff7\xb3\x10\'\xc0\x04\xd5\xef\a70\x8e\xfb\x1e\x15\v\x12Ms7\x03\xa4\xbfv\xaf\xf8\x13F!\x17c\xde$\x1de(\xfb)\xc9\xaam\xad\xda\x03\x16.\xdb,\x86E~gO {J\x17*\x8bX%/\xf9\xa6\xea\x9c\x12\x01\x91\x16\xff}\xa4\x95s\x87vH\xd8f\x01\x1f\xde\x8d0\"\xa3jM\xbb\xd65\xc2\n\x90\xdbP\xe8\xb1\xec\xd4\b\xba\x83\xd1)\x95\x06\xb9\xc1\xd3', 0x2) write$binfmt_elf32(r1, &(0x7f0000000000)=ANY=[], 0xfffffe47) fcntl$addseals(r1, 0x409, 0x0) 00:34:14 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000000)="11", 0x1) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x33, 0x0, 0x0) 00:34:14 executing program 0: prctl$PR_SET_MM(0x23, 0x8, &(0x7f0000001000/0x4000)=nil) prctl$PR_SET_MM(0x23, 0x9, &(0x7f00004df000/0x3000)=nil) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='cmdline\x00') r1 = open(&(0x7f0000000040)='./bus\x00', 0x14117e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x0, 0x4002011, r1, 0x0) read$FUSE(r0, &(0x7f000000ae00)={0x2020}, 0x2020) 00:34:14 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) 00:34:14 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_timeval(r0, 0x1, 0x49, &(0x7f0000000040)={0x77359400}, 0x10) setsockopt$inet6_int(r0, 0x29, 0x49, &(0x7f0000000100), 0x4) [ 668.919513][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 668.927316][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.003251][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.021707][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.032191][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.046629][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.057389][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.072967][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.088194][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.095772][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.107767][ T3693] usb 4-1: New USB device found, idVendor=0c45, idProduct=6130, bcdDevice=7c.88 [ 669.116832][ T3693] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 669.128635][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.142853][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.163052][ T3693] usb 4-1: config 0 descriptor?? [ 669.175724][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.183769][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.198768][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.206774][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.219970][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.235142][ T3693] gspca_main: sonixj-2.14.0 probing 0c45:6130 [ 669.247747][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.255922][ T3759] hid-generic 0000:0000:0000.0002: unknown main item tag 0x0 [ 669.287505][ T3759] hid-generic 0000:0000:0000.0002: hidraw0: HID v0.00 Device [syz1] on syz0 [ 669.577699][ T3759] usb 6-1: new high-speed USB device number 13 using dummy_hcd [ 669.837732][ T3759] usb 6-1: Using ep0 maxpacket: 8 [ 670.189621][ T3759] usb 6-1: New USB device found, idVendor=046d, idProduct=0960, bcdDevice=4c.93 [ 670.203668][ T3759] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 670.212314][ T3759] usb 6-1: Product: syz [ 670.216478][ T3759] usb 6-1: Manufacturer: syz [ 670.225591][ T3759] usb 6-1: SerialNumber: syz [ 670.237938][ T3759] usb 6-1: config 0 descriptor?? [ 670.301458][ T3759] gspca_main: sunplus-2.14.0 probing 046d:0960 [ 670.527768][ T3759] gspca_sunplus: reg_w_riv err -71 [ 670.533952][ T3759] sunplus: probe of 6-1:0.0 failed with error -71 [ 670.547980][ T3693] gspca_sonixj: reg_w1 err -71 [ 670.555580][ T3759] usb 6-1: USB disconnect, device number 13 [ 670.577896][ T3693] sonixj: probe of 4-1:0.0 failed with error -71 [ 670.590031][ T3693] usb 4-1: USB disconnect, device number 11 00:34:16 executing program 3: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="1201000059965340450c3061887c000000010902120001000000000904"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f00000005c0)={0x2c, &(0x7f00000009c0)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000640)={0x2c, &(0x7f0000000080)=ANY=[@ANYBLOB="00090100000012"], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$uac1(r0, 0x0, 0x0) 00:34:16 executing program 0: prctl$PR_SET_MM(0x23, 0x8, &(0x7f0000001000/0x4000)=nil) prctl$PR_SET_MM(0x23, 0x9, &(0x7f00004df000/0x3000)=nil) r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='cmdline\x00') r1 = open(&(0x7f0000000040)='./bus\x00', 0x14117e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x0, 0x4002011, r1, 0x0) read$FUSE(r0, &(0x7f000000ae00)={0x2020}, 0x2020) 00:34:16 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_buf(r0, 0x6, 0x1f, &(0x7f0000000000)="11", 0x1) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x33, 0x0, 0x0) 00:34:16 executing program 1: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) ioctl$FIONREAD(r0, 0x5410, &(0x7f0000000000)) 00:34:16 executing program 2: r0 = epoll_create(0xfb) epoll_pwait(r0, &(0x7f0000000900)=[{}], 0x1, 0x40, 0x0, 0x0) r1 = memfd_create(&(0x7f0000000200)='G\x84\xe7R\xb5\xbc\xeal\x01\x86\x01\xff\xff\xff\xff\x00\x00\x00\x00\x1bX\x93\xbbqz\x01o\x81\xa6\x02Wq\x8c\xbfx\xdd\xd4\xf1\aQu8\x99:\x06\xb9\xbe\f&Ws\x83\xd6&s3\v7n0Oj\xff0\xea(\xeb\x986\x14\a\x95:\xeb\xf9A\xfb\x13k\xed{\xed*\xa5p37m\xa8\xa7\x95&\xb0\x93p\xa3\xa7\xda\xf2H\x9f\xf5D\xae\b\x81=\xdb]\xcb\x10\xb7\x89\x8e\x8a\x9a\x80^k\xc9t\x1c\x00\x1a\x1d.\xe5\x18I\aRW\x99\x1f\xb1#\x1efv\xb7\xe8\x01\x03\t\b\x95\xa9Q\x8a\xe2\xbeq\x1e=\xebh\xd1S\x18\xff\xb7\xae\x9c\x9d#\xf7o\xcf\xf3\xeb@\x97\xdc\x9c\r0\xe4^f\xf59g\xa0\xe5\xe4\x1bN\xc6\xff7\xb3\x10\'\xc0\x04\xd5\xef\a70\x8e\xfb\x1e\x15\v\x12Ms7\x03\xa4\xbfv\xaf\xf8\x13F!\x17c\xde$\x1de(\xfb)\xc9\xaam\xad\xda\x03\x16.\xdb,\x86E~gO {J\x17*\x8bX%/\xf9\xa6\xea\x9c\x12\x01\x91\x16\xff}\xa4\x95s\x87vH\xd8f\x01\x1f\xde\x8d0\"\xa3jM\xbb\xd65\xc2\n\x90\xdbP\xe8\xb1\xec\xd4\b\xba\x83\xd1)\x95\x06\xb9\xc1\xd3', 0x2) write$binfmt_elf32(r1, &(0x7f0000000000)=ANY=[], 0xfffffe47) fcntl$addseals(r1, 0x409, 0x0) 00:34:16 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) 00:34:16 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) [ 671.098596][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.106125][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 00:34:16 executing program 0: syz_mount_image$ocfs2(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x2f, &(0x7f0000000200)=[{&(0x7f0000010000)="02020202020202027468697320697320616e206f6366733220766f6c756d650002020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202027468697320697320616e206f6366733220766f6c756d6500020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202027468697320697320616e206f6366733220766f6c756d65000202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202027468697320697320616e206f6366733220766f6c756d65000202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202024f4346535632000035aa611affffffff00000000800000000000000000000000000000000000000000000000310000000000000000000000761f1f6300000000761f1f630000000000000000000000000200000000000000000000000000000035aa611a00"/8320, 0x2080}, {&(0x7f0000012080)="00005a00000014000000000000000000761f1f6300000000000000000300000058b7000001000000010200000000000002020000000000000c00000014000000020000005bfdb861000100"/96, 0x60, 0x20c0}, {&(0x7f00000120e0)="00000000000000000000000000000000d12de2c02a344b49835af9656e10945c000000000000000000000000000000000000000000000000000100001acc07abe716386383665f5a00"/96, 0x60, 0x2140}, {&(0x7f0000012140)="47524f5550303100c00f80003600000035aa611a0000000000000000000000000702000000000000000100000000000000000000000000000000000000000000ffffffffffffffffff0300"/96, 0x60, 0x100000}, {&(0x7f00000121a0)="47524f5550303100c00f0002ec01000035aa611a0000000000000000000000000402000000000000000200000000000000000000000000000000000000000000ffff0f00"/96, 0x60, 0x200000}, {&(0x7f0000012200)="494e4f444530310035aa611affff010000000000000000000000000000000000380f000000000000ed41030011000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000102000000000000000000000000000035aa611a00000000000000000000000000000000000001000000000000000000", 0x80, 0x201000}, {&(0x7f0000012280)="380f0000000000000102000000000000100001022e0000000102000000000000100002022e2e00000146000000000000180f0a026c6f73742b666f756e640000", 0x40, 0x2010c0}, {&(0x7f00000122c0)="494e4f444530310035aa611affff020000000000000000000000000000000000380f000000000000ed41040011000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000202000000000000000000000000000035aa611a00000000000000000000000000000000000001000000000000000000", 0x80, 0x202000}, {&(0x7f0000012340)="380f0000000000000202000000000000100001022e0000000202000000000000100002022e2e0000030200000000000018000a016261645f626c6f636b730000040200000000000020001201676c6f62616c5f696e6f64655f616c6c6f630000050200000000000014000801736c6f745f6d617006020000000000001800090168656172746265617400000007020000000000001c000d01676c6f62616c5f6269746d617000000008020000000000001c000f026f727068616e5f6469723a303030300009020000000000001c000f026f727068616e5f6469723a30303031000a0200000000000020001101657874656e745f616c6c6f633a303030300000000b0200000000000020001101657874656e745f616c6c6f633a303030310000000c020000000000001c001001696e6f64655f616c6c6f633a303030300d020000000000001c001001696e6f64655f616c6c6f633a303030310e0200000000000018000c016a6f75726e616c3a303030300f0200000000000018000c016a6f75726e616c3a3030303110020000000000001c0010016c6f63616c5f616c6c6f633a3030303011020000000000001c0010016c6f63616c5f616c6c6f633a303030311202000000000000200011017472756e636174655f6c6f673a303030300000001302000000000000600d11017472756e636174655f6c6f673a30303031000000", 0x200, 0x2020c0}, {&(0x7f0000012540)="494e4f444530310035aa611affff0300000000000000000000000000000000000000000000000000a481010011000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000302000000000000000000000000000035aa611a00"/128, 0x80, 0x203000}, {&(0x7f00000125c0)="0000f300"/32, 0x20, 0x2030c0}, {&(0x7f00000125e0)="494e4f444530310035aa611affff0400000000000200000000000000000000000000200000000000a481010091040000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000402000000000000000000000000000035aa611a00"/128, 0x80, 0x204000}, {&(0x7f0000012660)="000000000000000000000000000000000000000000000000140000000002000002000001f30001000000000000000000ec010000000200000002000000000000", 0x40, 0x2040a0}, {&(0x7f00000126a0)="494e4f444530310035aa611affff0500000000000100000000000000000000000000100000000000a481010011000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000502000000000000000000000000000035aa611a00"/128, 0x80, 0x205000}, {&(0x7f0000012720)="0000f30001000000000000000000000000000000010000000045000000000000", 0x20, 0x2050c0}, {&(0x7f0000012740)="494e4f444530310035aa611affff0600000000000100000000000000000000000000100000000000a481010011020000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000602000000000000000000000000000035aa611a00"/128, 0x80, 0x206000}, {&(0x7f00000127c0)="0000f30001000000000000000000000000000000010000000004000000000000", 0x20, 0x2060c0}, {&(0x7f00000127e0)="494e4f444530310035aa611affff0700000000008000000000000000000000000000000800000000a481010091040000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000702000000000000000000000000000035aa611a00"/128, 0x80, 0x207000}, {&(0x7f0000012860)="0000000000000000000000000000000000000000000000004a00000080000000007e0100f3000100000000000000000036000000800000000001000000000000", 0x40, 0x2070a0}, {&(0x7f00000128a0)="494e4f444530310035aa611affff080000000000000000000000000000000000380f000000000000ed41020011000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000802000000000000000000000000000035aa611a00000000000000000000000000000000000001000000000000000000", 0x80, 0x208000}, {&(0x7f0000012920)="380f0000000000000802000000000000100001022e0000000202000000000000280f02022e2e00"/64, 0x40, 0x2080c0}, {&(0x7f0000012960)="494e4f444530310035aa611affff090000000000000000000000000000000000380f000000000000ed41020011000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000902000000000000000000000000000035aa611a00000000000000000000000000000000000001000000000000000000", 0x80, 0x209000}, {&(0x7f00000129e0)="380f0000000000000902000000000000100001022e0000000202000000000000280f02022e2e00"/64, 0x40, 0x2090c0}, {&(0x7f0000012a20)="494e4f444530310035aa611affff0a00000000000000000000000000000000000000000000000000a481010091040000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000a02000000000000000000000000000035aa611a00"/128, 0x80, 0x20a000}, {&(0x7f0000012aa0)="04000001f300"/32, 0x20, 0x20a0c0}, {&(0x7f0000012ac0)="494e4f444530310035aa611affff0b00000000000000000000000000000000000000000000000000a481010091040000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000b02000000000000000000000000000035aa611a00"/128, 0x80, 0x20b000}, {&(0x7f0000012b40)="04000001f300"/32, 0x20, 0x20b0c0}, {&(0x7f0000012b60)="494e4f444530310035aa611affff0c00000000000400000000000000000000000000400000000000a481010091040000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000c02000000000000000000000000000035aa611a00"/128, 0x80, 0x20c000}, {&(0x7f0000012be0)="000000000000000000000000000000000000000000000000020000000004000004000001f30001000000000000000000fe030000000400000046000000000000", 0x40, 0x20c0a0}, {&(0x7f0000012c20)="494e4f444530310035aa611affff0d00000000000000000000000000000000000000000000000000a481010091040000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000d02000000000000000000000000000035aa611a00"/128, 0x80, 0x20d000}, {&(0x7f0000012ca0)="04000001f300"/32, 0x20, 0x20d0c0}, {&(0x7f0000012cc0)="494e4f444530310035aa611affff0e00000000002000000000000000000000000000000200000000a481010011010000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000e02000000000000000000000000000035aa611a00"/128, 0x80, 0x20e000}, {&(0x7f0000012d40)="0000f30001000000000000000000000000000000200000000005000000000000", 0x20, 0x20e0c0}, {&(0x7f0000012d60)="494e4f444530310035aa611affff0f00000000002000000000000000000000000000000200000000a481010011010000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000f02000000000000000000000000000035aa611a00"/128, 0x80, 0x20f000}, {&(0x7f0000012de0)="0000f30001000000000000000000000000000000200000000025000000000000", 0x20, 0x20f0c0}, {&(0x7f0000012e00)="494e4f444530310035aa611affff1000000000000000000000000000000000000000000000000000a4810100d1000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000001002000000000000000000000000000035aa611a00"/128, 0x80, 0x210000}, {&(0x7f0000012e80)="00000000300f00"/32, 0x20, 0x2100c0}, {&(0x7f0000012ea0)="494e4f444530310035aa611affff1100000000000000000000000000000000000000000000000000a4810100d1000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000001102000000000000000000000000000035aa611a00"/128, 0x80, 0x211000}, {&(0x7f0000012f20)="00000000300f00"/32, 0x20, 0x2110c0}, {&(0x7f0000012f40)="494e4f444530310035aa611affff1200000000000000000000000000000000000000000000000000a481010011080000761f1f6300000000761f1f6300000000761f1f630000000000000000000000001202000000000000000000000000000035aa611a00"/128, 0x80, 0x212000}, {&(0x7f0000012fc0)="e70100"/32, 0x20, 0x2120c0}, {&(0x7f0000012fe0)="494e4f444530310035aa611affff1300000000000000000000000000000000000000000000000000a481010011080000761f1f6300000000761f1f6300000000761f1f630000000000000000000000001302000000000000000000000000000035aa611a00"/128, 0x80, 0x213000}, {&(0x7f0000013060)="e70100"/32, 0x20, 0x2130c0}, {&(0x7f0000013080)="c03b39980000000400000000000010000000200000000001000000010000000100000000000000000000000200000000d12de2c02a344b49835af9656e10945c0000000100"/96, 0x60, 0x500000}, {&(0x7f00000130e0)="c03b39980000000400000000000010000000200000000001000000010000000100000000000000000000000200000000d12de2c02a344b49835af9656e10945c0000000100"/96, 0x60, 0x2500000}, {&(0x7f0000013140)="47524f555030310000010004fe03000035aa611a0000000000000000000000000c020000000000000046000000000000000000000000000000000000000000000300"/96, 0x60, 0x4600000}, {&(0x7f00000131a0)="494e4f444530310035aa611a0000010000000000000000000000000000000000380f000000000000ed41020001000000761f1f6300000000761f1f6300000000761f1f630000000000000000000000000146000000000000000000000000000035aa611a0000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000000000000000000380f0000000000000146000000000000100001022e0000000102000000000000280f02022e2e00"/256, 0x100, 0x4601000}], 0x0, &(0x7f00000132a0), 0x1) [ 671.148536][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.174536][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 00:34:16 executing program 4: r0 = syz_open_dev$dri(&(0x7f0000000040), 0x0, 0x0) ioctl$DRM_IOCTL_GET_UNIQUE(r0, 0xc0106401, &(0x7f00000001c0)={0x0, 0x0}) [ 671.227809][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.243564][T16050] loop0: detected capacity change from 0 to 262144 [ 671.254739][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.258158][T16050] (syz-executor.0,16050,0):ocfs2_parse_options:1455 ERROR: Invalid heartbeat mount options 00:34:16 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) [ 671.272033][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.284776][T16050] (syz-executor.0,16050,0):ocfs2_fill_super:1173 ERROR: status = -22 [ 671.296886][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.320507][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 00:34:16 executing program 0: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) getsockopt$bt_BT_CHANNEL_POLICY(r0, 0x112, 0x4, 0x0, &(0x7f0000000180)) [ 671.341800][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.364858][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 00:34:16 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) [ 671.388830][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.396545][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.421328][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.437878][ T3696] usb 4-1: new high-speed USB device number 12 using dummy_hcd [ 671.443915][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.470638][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.492504][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.512809][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.524621][ T3693] hid-generic 0000:0000:0000.0003: unknown main item tag 0x0 [ 671.543313][ T3693] hid-generic 0000:0000:0000.0003: hidraw0: HID v0.00 Device [syz1] on syz0 [ 671.827705][ T3693] usb 6-1: new high-speed USB device number 14 using dummy_hcd [ 671.837838][ T3696] usb 4-1: New USB device found, idVendor=0c45, idProduct=6130, bcdDevice=7c.88 [ 671.846899][ T3696] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 671.864402][ T3696] usb 4-1: config 0 descriptor?? [ 671.909056][ T3696] gspca_main: sonixj-2.14.0 probing 0c45:6130 [ 672.097669][ T3693] usb 6-1: Using ep0 maxpacket: 8 [ 672.447839][ T3693] usb 6-1: New USB device found, idVendor=046d, idProduct=0960, bcdDevice=4c.93 [ 672.456913][ T3693] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 672.469559][ T3693] usb 6-1: Product: syz [ 672.473740][ T3693] usb 6-1: Manufacturer: syz [ 672.480880][ T3693] usb 6-1: SerialNumber: syz [ 672.493127][ T3693] usb 6-1: config 0 descriptor?? [ 672.551534][ T3693] gspca_main: sunplus-2.14.0 probing 046d:0960 [ 672.767703][ T3693] gspca_sunplus: reg_w_riv err -71 [ 672.772974][ T3693] sunplus: probe of 6-1:0.0 failed with error -71 [ 672.791065][ T3693] usb 6-1: USB disconnect, device number 14 [ 673.227865][ T3696] gspca_sonixj: reg_w1 err -71 [ 673.257753][ T3696] sonixj: probe of 4-1:0.0 failed with error -71 [ 673.272388][ T3696] usb 4-1: USB disconnect, device number 12 00:34:18 executing program 3: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="1201000059965340450c3061887c000000010902120001000000000904"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f00000005c0)={0x2c, &(0x7f00000009c0)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000640)={0x2c, &(0x7f0000000080)=ANY=[@ANYBLOB="00090100000012"], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$uac1(r0, 0x0, 0x0) 00:34:18 executing program 0: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) getsockopt$bt_BT_CHANNEL_POLICY(r0, 0x112, 0x4, 0x0, &(0x7f0000000180)) 00:34:18 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) 00:34:18 executing program 2: r0 = epoll_create(0xfb) epoll_pwait(r0, &(0x7f0000000900)=[{}], 0x1, 0x40, 0x0, 0x0) r1 = memfd_create(&(0x7f0000000200)='G\x84\xe7R\xb5\xbc\xeal\x01\x86\x01\xff\xff\xff\xff\x00\x00\x00\x00\x1bX\x93\xbbqz\x01o\x81\xa6\x02Wq\x8c\xbfx\xdd\xd4\xf1\aQu8\x99:\x06\xb9\xbe\f&Ws\x83\xd6&s3\v7n0Oj\xff0\xea(\xeb\x986\x14\a\x95:\xeb\xf9A\xfb\x13k\xed{\xed*\xa5p37m\xa8\xa7\x95&\xb0\x93p\xa3\xa7\xda\xf2H\x9f\xf5D\xae\b\x81=\xdb]\xcb\x10\xb7\x89\x8e\x8a\x9a\x80^k\xc9t\x1c\x00\x1a\x1d.\xe5\x18I\aRW\x99\x1f\xb1#\x1efv\xb7\xe8\x01\x03\t\b\x95\xa9Q\x8a\xe2\xbeq\x1e=\xebh\xd1S\x18\xff\xb7\xae\x9c\x9d#\xf7o\xcf\xf3\xeb@\x97\xdc\x9c\r0\xe4^f\xf59g\xa0\xe5\xe4\x1bN\xc6\xff7\xb3\x10\'\xc0\x04\xd5\xef\a70\x8e\xfb\x1e\x15\v\x12Ms7\x03\xa4\xbfv\xaf\xf8\x13F!\x17c\xde$\x1de(\xfb)\xc9\xaam\xad\xda\x03\x16.\xdb,\x86E~gO {J\x17*\x8bX%/\xf9\xa6\xea\x9c\x12\x01\x91\x16\xff}\xa4\x95s\x87vH\xd8f\x01\x1f\xde\x8d0\"\xa3jM\xbb\xd65\xc2\n\x90\xdbP\xe8\xb1\xec\xd4\b\xba\x83\xd1)\x95\x06\xb9\xc1\xd3', 0x2) write$binfmt_elf32(r1, &(0x7f0000000000)=ANY=[], 0xfffffe47) fcntl$addseals(r1, 0x409, 0x0) 00:34:18 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) 00:34:18 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) 00:34:18 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) [ 673.763277][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.789117][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.802453][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 00:34:18 executing program 0: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) getsockopt$bt_BT_CHANNEL_POLICY(r0, 0x112, 0x4, 0x0, &(0x7f0000000180)) 00:34:18 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) [ 673.814984][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.832013][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.846164][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 00:34:19 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) 00:34:19 executing program 0: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x3, 0x3) getsockopt$bt_BT_CHANNEL_POLICY(r0, 0x112, 0x4, 0x0, &(0x7f0000000180)) [ 673.871668][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.889053][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.903351][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.934353][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.946123][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.954166][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.962909][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 00:34:19 executing program 4: r0 = epoll_create1(0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) epoll_ctl$EPOLL_CTL_ADD(r0, 0x1, r1, &(0x7f0000000040)) epoll_ctl$EPOLL_CTL_MOD(r0, 0x3, r1, &(0x7f0000000240)={0x4}) epoll_ctl$EPOLL_CTL_ADD(r0, 0x3, r1, &(0x7f0000000000)={0x300}) [ 673.981313][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 673.999609][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 674.011541][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 674.020872][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 674.029199][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 674.036872][ T3759] hid-generic 0000:0000:0000.0004: unknown main item tag 0x0 [ 674.055333][ T3759] hid-generic 0000:0000:0000.0004: hidraw0: HID v0.00 Device [syz1] on syz0 [ 674.367802][ T3759] usb 6-1: new high-speed USB device number 15 using dummy_hcd [ 674.375844][ T3693] usb 4-1: new high-speed USB device number 13 using dummy_hcd [ 674.617813][ T3759] usb 6-1: Using ep0 maxpacket: 8 [ 674.758005][ T3693] usb 4-1: New USB device found, idVendor=0c45, idProduct=6130, bcdDevice=7c.88 [ 674.767339][ T3693] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 674.777359][ T3693] usb 4-1: config 0 descriptor?? [ 674.840394][ T3693] gspca_main: sonixj-2.14.0 probing 0c45:6130 [ 674.947866][ T3759] usb 6-1: New USB device found, idVendor=046d, idProduct=0960, bcdDevice=4c.93 [ 674.957190][ T3759] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 674.966129][ T3759] usb 6-1: Product: syz [ 674.970574][ T3759] usb 6-1: Manufacturer: syz [ 674.975163][ T3759] usb 6-1: SerialNumber: syz [ 674.982668][ T3759] usb 6-1: config 0 descriptor?? [ 675.029691][ T3759] gspca_main: sunplus-2.14.0 probing 046d:0960 [ 675.247748][ T3759] gspca_sunplus: reg_w_riv err -71 [ 675.253459][ T3759] sunplus: probe of 6-1:0.0 failed with error -71 [ 675.262207][ T3759] usb 6-1: USB disconnect, device number 15 [ 676.137754][ T3693] gspca_sonixj: reg_w1 err -71 [ 676.167727][ T3693] sonixj: probe of 4-1:0.0 failed with error -71 [ 676.177154][ T3693] usb 4-1: USB disconnect, device number 13 00:34:21 executing program 3: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000040)=ANY=[@ANYBLOB="1201000059965340450c3061887c000000010902120001000000000904"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f00000005c0)={0x2c, &(0x7f00000009c0)=ANY=[], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000640)={0x2c, &(0x7f0000000080)=ANY=[@ANYBLOB="00090100000012"], 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$uac1(r0, 0x0, 0x0) 00:34:21 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @private0}}, {{0xa, 0x0, 0x0, @local}}}, 0x108) getsockopt$inet6_buf(r0, 0x29, 0x30, &(0x7f0000000000)=""/40, &(0x7f0000001000)=0xf9) 00:34:21 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="180000000500d50000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) getpeername$packet(0xffffffffffffffff, 0x0, 0x0) bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) r0 = syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x17, 0x1, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}], 0x0, &(0x7f0000000100)=ANY=[], 0x0) chdir(&(0x7f0000000040)='./file0\x00') r1 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) mount$9p_fd(0x0, 0x0, &(0x7f0000000180), 0x1020000, &(0x7f0000000700)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r0}, 0x2c, {[{@version_L}, {@dfltuid={'dfltuid', 0x3d, 0xffffffffffffffff}}, {@cache_fscache}, {@access_client}], [{@obj_type={'obj_type', 0x3d, 'vfat\x00'}}, {@smackfsdef={'smackfsdef', 0x3d, '{'}}]}}) r3 = socket$inet6(0xa, 0x1, 0x0) setsockopt$inet6_int(r3, 0x29, 0x33, &(0x7f00000000c0)=0x1, 0x4) setsockopt$inet6_int(r3, 0x29, 0x42, &(0x7f0000000200)=0x8, 0x4) getsockopt$inet6_buf(r3, 0x29, 0x6, 0x0, &(0x7f0000000080)) open(&(0x7f0000000100)='./file0\x00', 0x20000, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000340)=ANY=[@ANYRESOCT=r0, @ANYRES16, @ANYBLOB="40bd27ea7688b96c5bb3047909e6ad56847fa4ca7f027666a840f7747e714491e34d44af94882104ae2ecfe437051b800d02ae83315cc8c5712aaf66462ce11a47a9eeb13f66", @ANYRES16=r1], 0x44) sendmsg$DCCPDIAG_GETSOCK(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000003c0)={&(0x7f00000004c0)={0x60, 0x13, 0x421, 0x70bd2a, 0x25dfdbfb, {0x29, 0x0, 0x2, 0x0, {0x4e21, 0x4e20, [0x40, 0x3, 0xb80], [0x7, 0x80000001, 0x7, 0x3], 0x0, [0xa, 0x6]}, 0x4, 0x6}, [@INET_DIAG_REQ_BYTECODE={0xa, 0x1, "9538c14655ae"}, @INET_DIAG_REQ_BYTECODE={0x8, 0x1, "b0314a19"}]}, 0x60}, 0x1, 0x0, 0x0, 0x1}, 0x20000040) open(&(0x7f00000006c0)='./file0\x00', 0x305400, 0x20) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) 00:34:21 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:21 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) 00:34:21 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000073c0), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f00000000c0)={0x0, {'syz1\x00', 'syz0\x00', 'syz0\x00', &(0x7f0000000080)=""/19, 0x13}}, 0x120) syz_usb_connect(0x0, 0x24, &(0x7f0000000c40)={{0x12, 0x1, 0x0, 0xf, 0x7f, 0xf3, 0x8, 0x46d, 0x960, 0x4c93, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x9c, 0x83, 0x78}}]}}]}}, 0x0) writev(r0, &(0x7f00000077c0)=[{&(0x7f0000000000)='\b\x00\x00\x00', 0x4}], 0x1) [ 676.675172][ T27] audit: type=1804 audit(1665102861.799:449): pid=16088 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir3568873223/syzkaller.NqVcKY/722/file0" dev="sda1" ino=1181 res=1 errno=0 [ 676.716840][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 676.764050][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 00:34:22 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @private0}}, {{0xa, 0x0, 0x0, @local}}}, 0x108) getsockopt$inet6_buf(r0, 0x29, 0x30, &(0x7f0000000000)=""/40, &(0x7f0000001000)=0xf9) [ 677.355845][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 00:34:22 executing program 1: r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=@newlink={0x48, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @macsec={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_MACSEC_CIPHER_SUITE={0xc, 0x4, 0x80c20001000003}, @IFLA_MACSEC_ENCODING_SA={0x5, 0x6, 0x4}]}}}]}, 0x48}}, 0x0) 00:34:22 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:22 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="180000000500d50000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) getpeername$packet(0xffffffffffffffff, 0x0, 0x0) bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) r0 = syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x17, 0x1, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}], 0x0, &(0x7f0000000100)=ANY=[], 0x0) chdir(&(0x7f0000000040)='./file0\x00') r1 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) mount$9p_fd(0x0, 0x0, &(0x7f0000000180), 0x1020000, &(0x7f0000000700)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r0}, 0x2c, {[{@version_L}, {@dfltuid={'dfltuid', 0x3d, 0xffffffffffffffff}}, {@cache_fscache}, {@access_client}], [{@obj_type={'obj_type', 0x3d, 'vfat\x00'}}, {@smackfsdef={'smackfsdef', 0x3d, '{'}}]}}) r3 = socket$inet6(0xa, 0x1, 0x0) setsockopt$inet6_int(r3, 0x29, 0x33, &(0x7f00000000c0)=0x1, 0x4) setsockopt$inet6_int(r3, 0x29, 0x42, &(0x7f0000000200)=0x8, 0x4) getsockopt$inet6_buf(r3, 0x29, 0x6, 0x0, &(0x7f0000000080)) open(&(0x7f0000000100)='./file0\x00', 0x20000, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000340)=ANY=[@ANYRESOCT=r0, @ANYRES16, @ANYBLOB="40bd27ea7688b96c5bb3047909e6ad56847fa4ca7f027666a840f7747e714491e34d44af94882104ae2ecfe437051b800d02ae83315cc8c5712aaf66462ce11a47a9eeb13f66", @ANYRES16=r1], 0x44) sendmsg$DCCPDIAG_GETSOCK(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000003c0)={&(0x7f00000004c0)={0x60, 0x13, 0x421, 0x70bd2a, 0x25dfdbfb, {0x29, 0x0, 0x2, 0x0, {0x4e21, 0x4e20, [0x40, 0x3, 0xb80], [0x7, 0x80000001, 0x7, 0x3], 0x0, [0xa, 0x6]}, 0x4, 0x6}, [@INET_DIAG_REQ_BYTECODE={0xa, 0x1, "9538c14655ae"}, @INET_DIAG_REQ_BYTECODE={0x8, 0x1, "b0314a19"}]}, 0x60}, 0x1, 0x0, 0x0, 0x1}, 0x20000040) open(&(0x7f00000006c0)='./file0\x00', 0x305400, 0x20) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) 00:34:22 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @private0}}, {{0xa, 0x0, 0x0, @local}}}, 0x108) getsockopt$inet6_buf(r0, 0x29, 0x30, &(0x7f0000000000)=""/40, &(0x7f0000001000)=0xf9) [ 677.541921][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 677.586507][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 677.597780][T13472] usb 6-1: new high-speed USB device number 16 using dummy_hcd [ 677.616662][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 677.637910][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 00:34:23 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_group_source_req(0xffffffffffffffff, 0x29, 0x0, &(0x7f0000000000)={0x0, {{0xa, 0x0, 0x0, @private0}}, {{0xa, 0x0, 0x0, @local}}}, 0x108) getsockopt$inet6_buf(r0, 0x29, 0x30, &(0x7f0000000000)=""/40, &(0x7f0000001000)=0xf9) [ 678.080937][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.157892][ T27] audit: type=1804 audit(1665102863.239:450): pid=16109 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir3568873223/syzkaller.NqVcKY/723/file0" dev="sda1" ino=1181 res=1 errno=0 [ 678.303982][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.435762][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.464818][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.472616][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.486914][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.494507][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.516920][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.524519][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.532042][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.539658][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.547138][ T3693] hid-generic 0000:0000:0000.0005: unknown main item tag 0x0 [ 678.561558][ T3693] hid-generic 0000:0000:0000.0005: hidraw0: HID v0.00 Device [syz1] on syz0 [ 678.607692][T13472] usb 6-1: Using ep0 maxpacket: 8 [ 678.847759][ T7463] usb 4-1: new high-speed USB device number 14 using dummy_hcd [ 678.887782][T13472] usb 6-1: New USB device found, idVendor=046d, idProduct=0960, bcdDevice=4c.93 [ 678.897009][T13472] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 678.905200][T13472] usb 6-1: Product: syz [ 678.910129][T13472] usb 6-1: Manufacturer: syz [ 678.914881][T13472] usb 6-1: SerialNumber: syz [ 678.921577][T13472] usb 6-1: config 0 descriptor?? [ 678.962195][T13472] gspca_main: sunplus-2.14.0 probing 046d:0960 [ 679.167883][T13472] gspca_sunplus: reg_w_riv err -71 [ 679.173080][T13472] sunplus: probe of 6-1:0.0 failed with error -71 [ 679.182298][T13472] usb 6-1: USB disconnect, device number 16 [ 679.247830][ T7463] usb 4-1: New USB device found, idVendor=0c45, idProduct=6130, bcdDevice=7c.88 [ 679.257039][ T7463] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 679.274809][ T7463] usb 4-1: config 0 descriptor?? [ 679.319454][ T7463] gspca_main: sonixj-2.14.0 probing 0c45:6130 [ 680.597836][ T7463] gspca_sonixj: reg_w1 err -71 [ 680.627716][ T7463] sonixj: probe of 4-1:0.0 failed with error -71 [ 680.643789][ T7463] usb 4-1: USB disconnect, device number 14 00:34:26 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:26 executing program 1: r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=@newlink={0x48, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @macsec={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_MACSEC_CIPHER_SUITE={0xc, 0x4, 0x80c20001000003}, @IFLA_MACSEC_ENCODING_SA={0x5, 0x6, 0x4}]}}}]}, 0x48}}, 0x0) 00:34:26 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:26 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="180000000500d50000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) getpeername$packet(0xffffffffffffffff, 0x0, 0x0) bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) r0 = syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x17, 0x1, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}], 0x0, &(0x7f0000000100)=ANY=[], 0x0) chdir(&(0x7f0000000040)='./file0\x00') r1 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) mount$9p_fd(0x0, 0x0, &(0x7f0000000180), 0x1020000, &(0x7f0000000700)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r0}, 0x2c, {[{@version_L}, {@dfltuid={'dfltuid', 0x3d, 0xffffffffffffffff}}, {@cache_fscache}, {@access_client}], [{@obj_type={'obj_type', 0x3d, 'vfat\x00'}}, {@smackfsdef={'smackfsdef', 0x3d, '{'}}]}}) r3 = socket$inet6(0xa, 0x1, 0x0) setsockopt$inet6_int(r3, 0x29, 0x33, &(0x7f00000000c0)=0x1, 0x4) setsockopt$inet6_int(r3, 0x29, 0x42, &(0x7f0000000200)=0x8, 0x4) getsockopt$inet6_buf(r3, 0x29, 0x6, 0x0, &(0x7f0000000080)) open(&(0x7f0000000100)='./file0\x00', 0x20000, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000340)=ANY=[@ANYRESOCT=r0, @ANYRES16, @ANYBLOB="40bd27ea7688b96c5bb3047909e6ad56847fa4ca7f027666a840f7747e714491e34d44af94882104ae2ecfe437051b800d02ae83315cc8c5712aaf66462ce11a47a9eeb13f66", @ANYRES16=r1], 0x44) sendmsg$DCCPDIAG_GETSOCK(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000003c0)={&(0x7f00000004c0)={0x60, 0x13, 0x421, 0x70bd2a, 0x25dfdbfb, {0x29, 0x0, 0x2, 0x0, {0x4e21, 0x4e20, [0x40, 0x3, 0xb80], [0x7, 0x80000001, 0x7, 0x3], 0x0, [0xa, 0x6]}, 0x4, 0x6}, [@INET_DIAG_REQ_BYTECODE={0xa, 0x1, "9538c14655ae"}, @INET_DIAG_REQ_BYTECODE={0x8, 0x1, "b0314a19"}]}, 0x60}, 0x1, 0x0, 0x0, 0x1}, 0x20000040) open(&(0x7f00000006c0)='./file0\x00', 0x305400, 0x20) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) 00:34:26 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:26 executing program 1: r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=@newlink={0x48, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @macsec={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_MACSEC_CIPHER_SUITE={0xc, 0x4, 0x80c20001000003}, @IFLA_MACSEC_ENCODING_SA={0x5, 0x6, 0x4}]}}}]}, 0x48}}, 0x0) 00:34:26 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) [ 681.128884][ T27] audit: type=1804 audit(1665102866.259:451): pid=16121 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir3568873223/syzkaller.NqVcKY/724/file0" dev="sda1" ino=1179 res=1 errno=0 00:34:30 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:30 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:30 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:30 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:30 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="180000000500d50000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) getpeername$packet(0xffffffffffffffff, 0x0, 0x0) bpf$MAP_CREATE(0x100000000000000, 0x0, 0x0) r0 = syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x17, 0x1, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}], 0x0, &(0x7f0000000100)=ANY=[], 0x0) chdir(&(0x7f0000000040)='./file0\x00') r1 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) bpf$BPF_BTF_GET_FD_BY_ID(0x13, 0x0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, 0x0, 0x26e1, 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) mount$9p_fd(0x0, 0x0, &(0x7f0000000180), 0x1020000, &(0x7f0000000700)={'trans=fd,', {'rfdno', 0x3d, r2}, 0x2c, {'wfdno', 0x3d, r0}, 0x2c, {[{@version_L}, {@dfltuid={'dfltuid', 0x3d, 0xffffffffffffffff}}, {@cache_fscache}, {@access_client}], [{@obj_type={'obj_type', 0x3d, 'vfat\x00'}}, {@smackfsdef={'smackfsdef', 0x3d, '{'}}]}}) r3 = socket$inet6(0xa, 0x1, 0x0) setsockopt$inet6_int(r3, 0x29, 0x33, &(0x7f00000000c0)=0x1, 0x4) setsockopt$inet6_int(r3, 0x29, 0x42, &(0x7f0000000200)=0x8, 0x4) getsockopt$inet6_buf(r3, 0x29, 0x6, 0x0, &(0x7f0000000080)) open(&(0x7f0000000100)='./file0\x00', 0x20000, 0x0) write$P9_RREADLINK(r1, &(0x7f0000000340)=ANY=[@ANYRESOCT=r0, @ANYRES16, @ANYBLOB="40bd27ea7688b96c5bb3047909e6ad56847fa4ca7f027666a840f7747e714491e34d44af94882104ae2ecfe437051b800d02ae83315cc8c5712aaf66462ce11a47a9eeb13f66", @ANYRES16=r1], 0x44) sendmsg$DCCPDIAG_GETSOCK(r1, &(0x7f0000000400)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000003c0)={&(0x7f00000004c0)={0x60, 0x13, 0x421, 0x70bd2a, 0x25dfdbfb, {0x29, 0x0, 0x2, 0x0, {0x4e21, 0x4e20, [0x40, 0x3, 0xb80], [0x7, 0x80000001, 0x7, 0x3], 0x0, [0xa, 0x6]}, 0x4, 0x6}, [@INET_DIAG_REQ_BYTECODE={0xa, 0x1, "9538c14655ae"}, @INET_DIAG_REQ_BYTECODE={0x8, 0x1, "b0314a19"}]}, 0x60}, 0x1, 0x0, 0x0, 0x1}, 0x20000040) open(&(0x7f00000006c0)='./file0\x00', 0x305400, 0x20) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) 00:34:30 executing program 1: r0 = socket(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=@newlink={0x48, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @macsec={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_MACSEC_CIPHER_SUITE={0xc, 0x4, 0x80c20001000003}, @IFLA_MACSEC_ENCODING_SA={0x5, 0x6, 0x4}]}}}]}, 0x48}}, 0x0) [ 685.239446][ T27] audit: type=1804 audit(1665102870.369:452): pid=16155 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.4" name="/root/syzkaller-testdir3568873223/syzkaller.NqVcKY/725/file0" dev="sda1" ino=1185 res=1 errno=0 [ 690.097448][ T1242] ieee802154 phy0 wpan0: encryption failed: -22 [ 690.103886][ T1242] ieee802154 phy1 wpan1: encryption failed: -22 00:34:35 executing program 1: r0 = socket$inet(0x2, 0x840000000003, 0x2) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000)=0x40006, 0x4) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000), 0x4) 00:34:36 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:36 executing program 4: r0 = syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f00000003c0)='./file0\x00', 0x8100000, 0x2, &(0x7f0000000180)=[{&(0x7f0000000000)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f0000000480)="57595a4b414c4c45522020085ac19f69b8d6b2b1ea1b8a0ac9135eed1df106001cc2de850f1fffb2aed768634ef7e75effac2ac4c15e29fb3c18fafff8d198e312475ffa1d000000000000ad25822a17b17f463e104179c19c2ad2fbddc0777df2ec4f62826086704d2217c088a1b03ee758b3552dd1ac09b56fa81c8afddd25db943705bcd8ff237829ed2e8e9e06ff0854794abd689ad28fc76d9cbe9116ba8d695b45a4aa59ab21a1f58c7aaa5588d8aa2f7ba3c5f44ae1", 0xb9, 0x5fd}], 0x2010080, &(0x7f00000002c0)={[{@iocharset={'iocharset', 0x3d, 'cp861'}}, {@shortname_winnt}, {@shortname_mixed}, {@iocharset={'iocharset', 0x3d, 'cp857'}}, {@iocharset={'iocharset', 0x3d, 'iso8859-9'}}, {@fat=@errors_continue}, {@iocharset={'iocharset', 0x3d, 'cp932'}}]}, 0x0) mkdirat(r0, &(0x7f0000000040)='./file1\x00', 0x0) mkdirat(r0, &(0x7f0000000440)='./file0\x00', 0x0) 00:34:36 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f0000000340)={0x0, {'syz1\x00', 'syz1\x00', 'syz0\x00', &(0x7f0000000000)=""/9, 0x9}}, 0x120) readv(r0, &(0x7f00000002c0)=[{&(0x7f0000001640)=""/220, 0xdc}, {&(0x7f00000001c0)=""/70, 0x20000206}], 0x2) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) write$UHID_DESTROY(r0, &(0x7f0000000040)={0x8}, 0x4) 00:34:36 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:36 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f00000000c0)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x161842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) write$P9_RREADLINK(r3, &(0x7f00000002c0)=ANY=[@ANYBLOB="1000000117020007002e2f66696c65"], 0x10) creat(&(0x7f0000000280)='./file0\x00', 0x8) open_tree(0xffffffffffffff9c, &(0x7f0000004980)='./file0\x00', 0x8001) 00:34:36 executing program 1: r0 = socket$inet(0x2, 0x840000000003, 0x2) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000)=0x40006, 0x4) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000), 0x4) 00:34:39 executing program 4: keyctl$dh_compute(0x17, &(0x7f0000000100), &(0x7f0000000140)=""/4096, 0x1000, &(0x7f0000001180)={0x0}) 00:34:40 executing program 5: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/block/nbd12', 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f0000000100)=0x7) setuid(r2) fchown(r0, 0xffffffffffffffff, 0x0) 00:34:40 executing program 0: r0 = syz_io_uring_setup(0x3ede, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f00000000c0)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/zoneinfo\x00', 0x0, 0x0) openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/tty/drivers\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) ioctl$BTRFS_IOC_RM_DEV(0xffffffffffffffff, 0x5000940b, &(0x7f0000001cc0)={{}, "0b9ee17cf4f4ea9402aae71b1cc506df5c646b515438b8a5e23f6217fdf5b844fe681f623a977ec42310bb94d85a3c47bbd0538129ff1686a9b259cfb33a2d881ee31824964951b665bee005ef152c7ef74e6e2d95ccea32d7bd623e6b0ad1da63828c6d03c493be5a6d2e6443347f8065a533470ed2564e2859964a77e9a7ba3a0aaec7cac6796b23b5ad2815d54777402332209f581535663c6ee4b543032cfdf72d775086eead8916a62e127e28327631e31112654fa48eaf626ddc9558d9dead2c0590e49d8703bd8c6b58fe315fbde68297557fa7f162f12162310b128ea469b4b68fcde7af194cc5d7a2138aba6b36c21bd1a1f49d7fe4593f1225cd5d5008900f7a3f4cdb9245705f0ea7e78da1230ffd9b013fa27a5898f1c8fd2f08ce49675475e81c969686d81fd7927bcbc890a6ef038eb0254f2c770d1d67275402c1f566b493ac241e0a3a0249661aaff34d8decffcac1562d8b9809bdc0812d593eef3aef9191e23040f569109a9b82da47cd070eaac78bc9f0fb3e8d8368dd8cd6c6138e21106c37c482a58e501ef76dfdf1cf14f869d22b055adc1453d5526320bfff2b24d4ff0cfb54044d0d7580a8d898535296c4ef3afc9245df222af37db09250b8961dd4234a4ec9091e271a2e89a928f97edad97f0f0062ca94c432540068c7194f9d1492773589f6debff9c9aab3c9832ab16c6514b7867168b1133202dd23781d126a72ba083338fd1aec3e9ea3585b31a4e977e51918ee1230252dcbc04a6845b9b063ee2176eacb6f74aed96faf65860d37ece433094105b47d1325006cb69c75a5bb0e0da9df94f1f7264ed4ca82e0e95ec40015a7b4cec4a0dd91c4904472a83773229258f35ec9de9aeaf9a9089e8c6feb9c8585d399caca23aee057f013a4a7b91e919435e0bbd93dda8522881966afce900b0a49f141d2cda0d24d55d59cb3e4889059f2f357a127201d1602efb793597a2ab848818df6e54e0bdf6225ed12179492ddbdc9cae42e875e5a1a7f0f89f8d9f876dedf669e5b52bbcac851940f40bc7de4170e97f02f4b2ee017a03d4b9da81e649c7407f16ffa8dc4dce87955fa1476256206c08bf1e02fe3b35dba9a6e2f46738b372f7aaa24213baddbd8964b69067b49fa25beca977f77d9352d68caafb3f819fe562ae0e49b8a80067aabb6d03d721c67d212cd1cb60fe7f6e95038017f6cb7877c7f98495dd26683208bd91c990670b2fecc6e27f919052c8f3ecef9fab22f86da94a72b91e9ac964eb2bf171392a33bc11ecce4a3470b84bfc9c6c35993dd9bfa6bcd8b67722152dbbcdd5a2915c809736e2b0b900c3de7667ee3257ef96a8c8fda7c6eed2425adb7435d4a766846cbe96a83bc141f6e8335594adb16386b0de7c2522b792e6f13e8e1b4fd33d48b32b4b8027b12c57b495f5e3e5b43666bdfd23581d94a5a04eca04a46f1ad6b7112f5b0ca084ee05ba0d7b4518c5a56478dfa3e3c8430e879d031dee5bcf84f91b3525e03534d1ab988b458a54ccbd10f0d2d79bf325e99c6774abfe0ff39a9d7d8f71fd493ae1fb43172dfbf6e57afdbce7a0415ab3f2f2cfa615b0b4034b76ad273ba1e3ca2b8030a6c9771f2358719a0d72b982f71615fbfdcf22def70e57d9ffa886d16daf66fbacd3b96f221559758b8d444cc515ae481297bd8d36d3928ce9221b9a256e9520ab19fbcf302dee38caa50fff09cd47fe51fdaa1767e7158336b2ac57617f6c2b21ca2dfe2cf490211960d1963130532122bee78db704b1826e7259cd74e0147d5c2b672c0077dc6cc048159d4c9679b17fd44e7cfb4365ac380f9569ef04d4abb7ff9c570aaf5edfe09dafed6e7b00548b2ef49e469171f127229c59ade4b67885929b8dd32d72ff852adb0bf1d156c4e98f4152230e3dfa7fe5cc5ee12763a04c2e868ff63d61edeca671a62588a072e876df43593b9b69c5a6ce4448ef28ce694cf8a51b3c0ef994c1edf3f775093dca0b801786d7f823e5fa2c217a64b978c28a7a2e0e889e3d3c9db00000000fdea65830bd4643dbd6a6b86f0fbdc3850cdd2617c574024c0a54d2b6b1674bc6d72968abc55fa7290e2591877f909a2010f24edd49b28aef732c71355565fc48c1164dcbaf3757384c33062f1bcab1f89f2dcf1b1d16e4de71392b4b004496f532291a0119bd5cf87393a308de9e1064f0196e16965c91ec3e99dfd6744c216fa01ffdd433bd9f1c0d7698c9712f555333aa2fccb5f1cd52507d4c4543fc84d5f4f6a0e26ecb2be09e3b15529c385995fcbadd74f59889cc2b1dd7f3610481762da4e09d9156ad5e8138e956f6842b42adfe3d9f94e8cdb47b1da96f0152c07c3bdc5798c83a1457441f850712c5a31d847354504cc497d8dafb81fd520b16cc2e14c08a6dc89bf62daf39d6e1a28568d70c925f26384400c386e80312f2a0833b228dda1b10faaf7345f6b670dcf78c7d90a077cf2dd1313680df148e95a6861dd0251dc4580a64df2bb3529304dcf7e5a4cfbcedb480ccb3c97742f43168fa0b26db4c41f0a961b7a344b5607ee9c7a04c24e931379b95c318a3a212abe61ec6edc3757e8d621522e1462737f3a85c817a3dfbf1385db0256e482f0aa1828685f291ad73bab35fb0c2c719ba34010222105dccf2e4a788a0e650a29f22b20b05c1094a6048fe35f43ab331e265d93d3e1d31479840a58d3f2ee8c6b561847fcddcf2cbd6366abeeb9daa030cf6193901de77d57bf5ad03dc6efa90f8e41c77f713c4b6835b029258c0c7d0de796eb7185c9b4070ab2a89d2c420dffc7a5308414ddbe5b851c3adc66a453c5c021b67f000000000000004443523eabde5d635468920b7fea726052730ad009ef35f1f58984a432c4ce647917cd273ecb8b4bb9e4de58cf3319067636c3876f0b7c675c7213ea0b0543cb3b69a59f62cbc35b0f118e7fa48d850a9bb54a01342bccbf70105bb0d38096ce54194169b9d344c6972df35dd23486099f32b9d63e9bc9a11a4450dbeb468892488dc1dd75e5129333b4c21778a5fef0b2c53ef3f40bf87a22473d79f96f2353cdfc401278e03c5894d2be17505376cb2f3d7e859f61ac4c829fd99a8bda388bb2c27d2fdff91dc0e3fb2b0e69097d64b4ee1b186c9428a0932c488ba4f1d172db020b428d56fff9c5bf8ea3c972df9bbb2cc2b175417bd01067edd70de76164ecb6fc9569f2c8e574b4410e37cf9ae6403d93c36b060f36abff0196d8c967ff0f0a92dff1ba5cf8d342922b80bb83313f6db43c42672118bb8309d0bb5473253ee5b7f4b69a14af19854fb59b1bb03aff9bd50cad32438b3419190b7282a19972a9a792eb8e932e9d726238f55427e4c10f4f6b9907a3c220e328c2391b41524636a7e919552a695388f915faf6dda40c7cd917e463818d98f602552af15e5a213c00601eb26ce5e8fe7f9562d0917581e15fb491b266057038b17e2bd52f782213bf6f2fb78914acabb9b1d5360f3498df3418d21f0a40e2e9d8fb3cd38207721af9450a97b5d9fda3c1ef9034d430b686362968ebead2db99d40828d4cbb38da9b92d078e8978addf93aa3a73924f1dc6562d64ca8659025c3299cd92a0d7ad2fe6a352acce8fa7e7d516cc88f38d8b1c88a0c788a6cd7d9df69a353264215d817ab404e898a52d98416456d88f4f8be3397cb5d85103779b387e090e1af47e52da81eb0b9598f3c62598f5e4e2f30c7d79b082208089b8221694fcc4b8a0fb8f378d3625525ca7fe3bf8f55221b88809be17f495bd87dc6772051b3ec1190eb21c3ce3a8be909e2775a7e3b0fbfa106c3d348bea72dcf644af5216f89fe68ec34a1988d678fd32639684b3b2dfcfabdbeafe0af959a459fc86a4f85ec957c259bda9fde5b33df4a40050a03bc334cdb10eed500312d7203b1dba5fb387a12df799ae0aa5437ea49ab0245c9e9ffaf00b2e598fb4db0b1787791f8573ff45129af63527828a69542e6a9ca34af654c6c94852387a4d61bbf07379079dfbcf90975e15f7c6816b8d0b41c00d15cd1f4e1f32eff67fb8a80d1a6f4e4bb73c7b068878a36f7dbdc6b7b8aa6f4ea3f45a3111164587fb414022a15dfe625de3f2fe9f5c6a6bde1954cb4a4d975080f5f70eafcc7af5583e0de0b0cff74c6978609e40fe75b10945d70c2b1c0e20cb78c1b5e3bfca6e2734f3aab732e72984496ea4b7fe29c31f180f4f587ca5a63ddc61f6dd2fe4212b9899e05a25cf9ff404260552c503543563ac2c5212809bd503d6d49b71a20d7f724b33f7f92a42ff96e570cd112c9fbde8fad69fd07f8bf02809828dab2b6170aab3b75618dbfa8b17c10eaf7b5e1118c887b7d0384f5694a7972546b3c95531c26c522c29a76f2552686fbf0e52eaed534a047ddf03aedbceb156c7c0c700e1985c0461146994d8c85ac8084d3a7e7ff76587a0c5aac2de065a425db5dd6ef5d6c022ea527702ee7ba28a17b569f2568ae927f8b8298656ea6f0e864024f311ac96f1c2e583cab4a253788864d0628dfd6ba6221525cfdbb90443d8bcb34d020cbc7345aa251c3abff7138f64aad503bf27bad05027cc0b7756eb1d67814a43a8d03166ed79695fded7f12e6b660a748840981c521b22c0ad8d2fc369ba9911bd3f139e572dbe5def1188f1d7544bcc101172a99eddda3ef9a751ae029c16129ade3f85f2e6782bd7b6cdcda73301da6edc174ddacb8dd95ac29df8ae86576abd21833e7531ad1feb6af0e2f0b1ae086fb711537cc9e2335a1f197dac5f55fcc5748522383eb6367dfca8ef75cb6c44603df6b586700834d3b866f761dcee598b0fed00c0421dc12418f43892dc60f85f2bee8c86f5c1f843416bd26aede440b746d99b71bfc782257a066d9c37eb747d39a23282f39998d3f173ab785a501b350b86167161dc0c56bf8cbc7b2c310bc8c4751db5f8c91195f1092ad5eca51644e2c917ceb384b0fe76f54888d35f6398741b7ffd3df95f56ec87bda861be488268f067149e849a214bcd2e391bc3dee8ca6b2fad77f8371ea4f447bb467b7fbfbac9a491c76124ac9d5e50d8c5bb2f21e936bb2a9924548ccd94fdb1c95f9a734f363d1d79c092ff601462fc02bbba16e97496be1106b0f6c0056185fd312153a2ae0a7dbfc87918cbed2ba94c1c3ef79b1456a1c32fde3fff8a541ad63c16f817930f9080fc1ff6e268e15572f5b7e042e0264f16dfc558495ea801e80e2265b1571833f51b1461b201792555db378bbcc3b99e209b96337b41c7349d1983d1829bb79c17cb61f29cf9c1e5f6da4880bcac4cc0333fe266981c419ae92108cbeaaec794b7e645b31f09be93c84230006cda824055096f1f0cfc356c7be40bfa89360103c7f29cb3cf74ec8e0beebcb4288b068de4793d9f65238ae2861dcf9b5c0f1555c9b2b82f323459f290493ba7798b19cc5dd3d97a98bbc6d122096400534f243494f8022c7dfb0064bc3de7da0c6c89583f3a6d1f2f247e1c961479fa2a88cbc47d6ef5c17fb1ddb6d0c94132c64c4de858fdc2206a7af0c7bf5eb61c3620063d19ef06950dcc32881cb1aaf30f656ddb1e5a57e194db1767addcb3d964805657fd36ca2f492c4e5ab0f07dd97605d4e2162875337a2fadd97a51a0ac11defbf755561892dc6ab792a0e179c1c8372127a44b9f1a59945a9ed44f66576ebd6c96ddf563fb5bd1af1efae28033ba7734bc56b02a871ef174ac7709fa76da074c4108d72fe92579996d57f062459dbcb9f49c6000"}) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r3 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r4 = dup(r3) write$6lowpan_enable(r4, &(0x7f0000000000)='0', 0xfffffd2c) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x14) 00:34:40 executing program 1: r0 = socket$inet(0x2, 0x840000000003, 0x2) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000)=0x40006, 0x4) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000), 0x4) 00:34:40 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_exit\x00', r0}, 0x10) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x134) 00:34:40 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f0000000340)={0x0, {'syz1\x00', 'syz1\x00', 'syz0\x00', &(0x7f0000000000)=""/9, 0x9}}, 0x120) readv(r0, &(0x7f00000002c0)=[{&(0x7f0000001640)=""/220, 0xdc}, {&(0x7f00000001c0)=""/70, 0x20000206}], 0x2) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) write$UHID_DESTROY(r0, &(0x7f0000000040)={0x8}, 0x4) 00:34:40 executing program 4: keyctl$dh_compute(0x17, &(0x7f0000000100), &(0x7f0000000140)=""/4096, 0x1000, &(0x7f0000001180)={0x0}) 00:34:40 executing program 5: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/block/nbd12', 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f0000000100)=0x7) setuid(r2) fchown(r0, 0xffffffffffffffff, 0x0) [ 695.263283][T13472] hid-generic 0000:0000:0000.0006: hidraw0: HID v0.00 Device [syz1] on syz1 00:34:40 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_exit\x00', r0}, 0x10) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x134) 00:34:40 executing program 1: r0 = socket$inet(0x2, 0x840000000003, 0x2) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000)=0x40006, 0x4) setsockopt$inet_int(r0, 0x0, 0x200000000000d1, &(0x7f0000000000), 0x4) 00:34:40 executing program 5: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/block/nbd12', 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f0000000100)=0x7) setuid(r2) fchown(r0, 0xffffffffffffffff, 0x0) 00:34:40 executing program 4: keyctl$dh_compute(0x17, &(0x7f0000000100), &(0x7f0000000140)=""/4096, 0x1000, &(0x7f0000001180)={0x0}) [ 695.448579][ T3696] hid-generic 0000:0000:0000.0007: hidraw0: HID v0.00 Device [syz1] on syz1 00:34:40 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_exit\x00', r0}, 0x10) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x134) 00:34:40 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x80000008b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000122000000000000000000000850000006d00000095"], &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x1d4) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendfile(r3, r5, 0x0, 0x11f06) [ 695.735393][ T27] audit: type=1800 audit(1665102880.859:453): pid=16238 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.1" name="file0" dev="sda1" ino=1158 res=0 errno=0 [ 695.920099][ T27] audit: type=1804 audit(1665102880.859:454): pid=16238 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir4163378826/syzkaller.iVg3NW/719/file0" dev="sda1" ino=1158 res=1 errno=0 00:34:41 executing program 0: r0 = syz_io_uring_setup(0x3ede, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f00000000c0)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/zoneinfo\x00', 0x0, 0x0) openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/tty/drivers\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) ioctl$BTRFS_IOC_RM_DEV(0xffffffffffffffff, 0x5000940b, &(0x7f0000001cc0)={{}, "0b9ee17cf4f4ea9402aae71b1cc506df5c646b515438b8a5e23f6217fdf5b844fe681f623a977ec42310bb94d85a3c47bbd0538129ff1686a9b259cfb33a2d881ee31824964951b665bee005ef152c7ef74e6e2d95ccea32d7bd623e6b0ad1da63828c6d03c493be5a6d2e6443347f8065a533470ed2564e2859964a77e9a7ba3a0aaec7cac6796b23b5ad2815d54777402332209f581535663c6ee4b543032cfdf72d775086eead8916a62e127e28327631e31112654fa48eaf626ddc9558d9dead2c0590e49d8703bd8c6b58fe315fbde68297557fa7f162f12162310b128ea469b4b68fcde7af194cc5d7a2138aba6b36c21bd1a1f49d7fe4593f1225cd5d5008900f7a3f4cdb9245705f0ea7e78da1230ffd9b013fa27a5898f1c8fd2f08ce49675475e81c969686d81fd7927bcbc890a6ef038eb0254f2c770d1d67275402c1f566b493ac241e0a3a0249661aaff34d8decffcac1562d8b9809bdc0812d593eef3aef9191e23040f569109a9b82da47cd070eaac78bc9f0fb3e8d8368dd8cd6c6138e21106c37c482a58e501ef76dfdf1cf14f869d22b055adc1453d5526320bfff2b24d4ff0cfb54044d0d7580a8d898535296c4ef3afc9245df222af37db09250b8961dd4234a4ec9091e271a2e89a928f97edad97f0f0062ca94c432540068c7194f9d1492773589f6debff9c9aab3c9832ab16c6514b7867168b1133202dd23781d126a72ba083338fd1aec3e9ea3585b31a4e977e51918ee1230252dcbc04a6845b9b063ee2176eacb6f74aed96faf65860d37ece433094105b47d1325006cb69c75a5bb0e0da9df94f1f7264ed4ca82e0e95ec40015a7b4cec4a0dd91c4904472a83773229258f35ec9de9aeaf9a9089e8c6feb9c8585d399caca23aee057f013a4a7b91e919435e0bbd93dda8522881966afce900b0a49f141d2cda0d24d55d59cb3e4889059f2f357a127201d1602efb793597a2ab848818df6e54e0bdf6225ed12179492ddbdc9cae42e875e5a1a7f0f89f8d9f876dedf669e5b52bbcac851940f40bc7de4170e97f02f4b2ee017a03d4b9da81e649c7407f16ffa8dc4dce87955fa1476256206c08bf1e02fe3b35dba9a6e2f46738b372f7aaa24213baddbd8964b69067b49fa25beca977f77d9352d68caafb3f819fe562ae0e49b8a80067aabb6d03d721c67d212cd1cb60fe7f6e95038017f6cb7877c7f98495dd26683208bd91c990670b2fecc6e27f919052c8f3ecef9fab22f86da94a72b91e9ac964eb2bf171392a33bc11ecce4a3470b84bfc9c6c35993dd9bfa6bcd8b67722152dbbcdd5a2915c809736e2b0b900c3de7667ee3257ef96a8c8fda7c6eed2425adb7435d4a766846cbe96a83bc141f6e8335594adb16386b0de7c2522b792e6f13e8e1b4fd33d48b32b4b8027b12c57b495f5e3e5b43666bdfd23581d94a5a04eca04a46f1ad6b7112f5b0ca084ee05ba0d7b4518c5a56478dfa3e3c8430e879d031dee5bcf84f91b3525e03534d1ab988b458a54ccbd10f0d2d79bf325e99c6774abfe0ff39a9d7d8f71fd493ae1fb43172dfbf6e57afdbce7a0415ab3f2f2cfa615b0b4034b76ad273ba1e3ca2b8030a6c9771f2358719a0d72b982f71615fbfdcf22def70e57d9ffa886d16daf66fbacd3b96f221559758b8d444cc515ae481297bd8d36d3928ce9221b9a256e9520ab19fbcf302dee38caa50fff09cd47fe51fdaa1767e7158336b2ac57617f6c2b21ca2dfe2cf490211960d1963130532122bee78db704b1826e7259cd74e0147d5c2b672c0077dc6cc048159d4c9679b17fd44e7cfb4365ac380f9569ef04d4abb7ff9c570aaf5edfe09dafed6e7b00548b2ef49e469171f127229c59ade4b67885929b8dd32d72ff852adb0bf1d156c4e98f4152230e3dfa7fe5cc5ee12763a04c2e868ff63d61edeca671a62588a072e876df43593b9b69c5a6ce4448ef28ce694cf8a51b3c0ef994c1edf3f775093dca0b801786d7f823e5fa2c217a64b978c28a7a2e0e889e3d3c9db00000000fdea65830bd4643dbd6a6b86f0fbdc3850cdd2617c574024c0a54d2b6b1674bc6d72968abc55fa7290e2591877f909a2010f24edd49b28aef732c71355565fc48c1164dcbaf3757384c33062f1bcab1f89f2dcf1b1d16e4de71392b4b004496f532291a0119bd5cf87393a308de9e1064f0196e16965c91ec3e99dfd6744c216fa01ffdd433bd9f1c0d7698c9712f555333aa2fccb5f1cd52507d4c4543fc84d5f4f6a0e26ecb2be09e3b15529c385995fcbadd74f59889cc2b1dd7f3610481762da4e09d9156ad5e8138e956f6842b42adfe3d9f94e8cdb47b1da96f0152c07c3bdc5798c83a1457441f850712c5a31d847354504cc497d8dafb81fd520b16cc2e14c08a6dc89bf62daf39d6e1a28568d70c925f26384400c386e80312f2a0833b228dda1b10faaf7345f6b670dcf78c7d90a077cf2dd1313680df148e95a6861dd0251dc4580a64df2bb3529304dcf7e5a4cfbcedb480ccb3c97742f43168fa0b26db4c41f0a961b7a344b5607ee9c7a04c24e931379b95c318a3a212abe61ec6edc3757e8d621522e1462737f3a85c817a3dfbf1385db0256e482f0aa1828685f291ad73bab35fb0c2c719ba34010222105dccf2e4a788a0e650a29f22b20b05c1094a6048fe35f43ab331e265d93d3e1d31479840a58d3f2ee8c6b561847fcddcf2cbd6366abeeb9daa030cf6193901de77d57bf5ad03dc6efa90f8e41c77f713c4b6835b029258c0c7d0de796eb7185c9b4070ab2a89d2c420dffc7a5308414ddbe5b851c3adc66a453c5c021b67f000000000000004443523eabde5d635468920b7fea726052730ad009ef35f1f58984a432c4ce647917cd273ecb8b4bb9e4de58cf3319067636c3876f0b7c675c7213ea0b0543cb3b69a59f62cbc35b0f118e7fa48d850a9bb54a01342bccbf70105bb0d38096ce54194169b9d344c6972df35dd23486099f32b9d63e9bc9a11a4450dbeb468892488dc1dd75e5129333b4c21778a5fef0b2c53ef3f40bf87a22473d79f96f2353cdfc401278e03c5894d2be17505376cb2f3d7e859f61ac4c829fd99a8bda388bb2c27d2fdff91dc0e3fb2b0e69097d64b4ee1b186c9428a0932c488ba4f1d172db020b428d56fff9c5bf8ea3c972df9bbb2cc2b175417bd01067edd70de76164ecb6fc9569f2c8e574b4410e37cf9ae6403d93c36b060f36abff0196d8c967ff0f0a92dff1ba5cf8d342922b80bb83313f6db43c42672118bb8309d0bb5473253ee5b7f4b69a14af19854fb59b1bb03aff9bd50cad32438b3419190b7282a19972a9a792eb8e932e9d726238f55427e4c10f4f6b9907a3c220e328c2391b41524636a7e919552a695388f915faf6dda40c7cd917e463818d98f602552af15e5a213c00601eb26ce5e8fe7f9562d0917581e15fb491b266057038b17e2bd52f782213bf6f2fb78914acabb9b1d5360f3498df3418d21f0a40e2e9d8fb3cd38207721af9450a97b5d9fda3c1ef9034d430b686362968ebead2db99d40828d4cbb38da9b92d078e8978addf93aa3a73924f1dc6562d64ca8659025c3299cd92a0d7ad2fe6a352acce8fa7e7d516cc88f38d8b1c88a0c788a6cd7d9df69a353264215d817ab404e898a52d98416456d88f4f8be3397cb5d85103779b387e090e1af47e52da81eb0b9598f3c62598f5e4e2f30c7d79b082208089b8221694fcc4b8a0fb8f378d3625525ca7fe3bf8f55221b88809be17f495bd87dc6772051b3ec1190eb21c3ce3a8be909e2775a7e3b0fbfa106c3d348bea72dcf644af5216f89fe68ec34a1988d678fd32639684b3b2dfcfabdbeafe0af959a459fc86a4f85ec957c259bda9fde5b33df4a40050a03bc334cdb10eed500312d7203b1dba5fb387a12df799ae0aa5437ea49ab0245c9e9ffaf00b2e598fb4db0b1787791f8573ff45129af63527828a69542e6a9ca34af654c6c94852387a4d61bbf07379079dfbcf90975e15f7c6816b8d0b41c00d15cd1f4e1f32eff67fb8a80d1a6f4e4bb73c7b068878a36f7dbdc6b7b8aa6f4ea3f45a3111164587fb414022a15dfe625de3f2fe9f5c6a6bde1954cb4a4d975080f5f70eafcc7af5583e0de0b0cff74c6978609e40fe75b10945d70c2b1c0e20cb78c1b5e3bfca6e2734f3aab732e72984496ea4b7fe29c31f180f4f587ca5a63ddc61f6dd2fe4212b9899e05a25cf9ff404260552c503543563ac2c5212809bd503d6d49b71a20d7f724b33f7f92a42ff96e570cd112c9fbde8fad69fd07f8bf02809828dab2b6170aab3b75618dbfa8b17c10eaf7b5e1118c887b7d0384f5694a7972546b3c95531c26c522c29a76f2552686fbf0e52eaed534a047ddf03aedbceb156c7c0c700e1985c0461146994d8c85ac8084d3a7e7ff76587a0c5aac2de065a425db5dd6ef5d6c022ea527702ee7ba28a17b569f2568ae927f8b8298656ea6f0e864024f311ac96f1c2e583cab4a253788864d0628dfd6ba6221525cfdbb90443d8bcb34d020cbc7345aa251c3abff7138f64aad503bf27bad05027cc0b7756eb1d67814a43a8d03166ed79695fded7f12e6b660a748840981c521b22c0ad8d2fc369ba9911bd3f139e572dbe5def1188f1d7544bcc101172a99eddda3ef9a751ae029c16129ade3f85f2e6782bd7b6cdcda73301da6edc174ddacb8dd95ac29df8ae86576abd21833e7531ad1feb6af0e2f0b1ae086fb711537cc9e2335a1f197dac5f55fcc5748522383eb6367dfca8ef75cb6c44603df6b586700834d3b866f761dcee598b0fed00c0421dc12418f43892dc60f85f2bee8c86f5c1f843416bd26aede440b746d99b71bfc782257a066d9c37eb747d39a23282f39998d3f173ab785a501b350b86167161dc0c56bf8cbc7b2c310bc8c4751db5f8c91195f1092ad5eca51644e2c917ceb384b0fe76f54888d35f6398741b7ffd3df95f56ec87bda861be488268f067149e849a214bcd2e391bc3dee8ca6b2fad77f8371ea4f447bb467b7fbfbac9a491c76124ac9d5e50d8c5bb2f21e936bb2a9924548ccd94fdb1c95f9a734f363d1d79c092ff601462fc02bbba16e97496be1106b0f6c0056185fd312153a2ae0a7dbfc87918cbed2ba94c1c3ef79b1456a1c32fde3fff8a541ad63c16f817930f9080fc1ff6e268e15572f5b7e042e0264f16dfc558495ea801e80e2265b1571833f51b1461b201792555db378bbcc3b99e209b96337b41c7349d1983d1829bb79c17cb61f29cf9c1e5f6da4880bcac4cc0333fe266981c419ae92108cbeaaec794b7e645b31f09be93c84230006cda824055096f1f0cfc356c7be40bfa89360103c7f29cb3cf74ec8e0beebcb4288b068de4793d9f65238ae2861dcf9b5c0f1555c9b2b82f323459f290493ba7798b19cc5dd3d97a98bbc6d122096400534f243494f8022c7dfb0064bc3de7da0c6c89583f3a6d1f2f247e1c961479fa2a88cbc47d6ef5c17fb1ddb6d0c94132c64c4de858fdc2206a7af0c7bf5eb61c3620063d19ef06950dcc32881cb1aaf30f656ddb1e5a57e194db1767addcb3d964805657fd36ca2f492c4e5ab0f07dd97605d4e2162875337a2fadd97a51a0ac11defbf755561892dc6ab792a0e179c1c8372127a44b9f1a59945a9ed44f66576ebd6c96ddf563fb5bd1af1efae28033ba7734bc56b02a871ef174ac7709fa76da074c4108d72fe92579996d57f062459dbcb9f49c6000"}) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r3 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r4 = dup(r3) write$6lowpan_enable(r4, &(0x7f0000000000)='0', 0xfffffd2c) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x14) 00:34:41 executing program 5: r0 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000001c0)='/sys/block/nbd12', 0x0, 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000080)={0x0, 0x0}, &(0x7f0000000100)=0x7) setuid(r2) fchown(r0, 0xffffffffffffffff, 0x0) 00:34:41 executing program 4: keyctl$dh_compute(0x17, &(0x7f0000000100), &(0x7f0000000140)=""/4096, 0x1000, &(0x7f0000001180)={0x0}) 00:34:41 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f0000000340)={0x0, {'syz1\x00', 'syz1\x00', 'syz0\x00', &(0x7f0000000000)=""/9, 0x9}}, 0x120) readv(r0, &(0x7f00000002c0)=[{&(0x7f0000001640)=""/220, 0xdc}, {&(0x7f00000001c0)=""/70, 0x20000206}], 0x2) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) write$UHID_DESTROY(r0, &(0x7f0000000040)={0x8}, 0x4) 00:34:41 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_exit\x00', r0}, 0x10) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x134) 00:34:41 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x80000008b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000122000000000000000000000850000006d00000095"], &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x1d4) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendfile(r3, r5, 0x0, 0x11f06) 00:34:41 executing program 4: r0 = socket$rxrpc(0x21, 0x2, 0xa) connect$rxrpc(r0, &(0x7f0000000000)=@in4={0x21, 0x0, 0x2, 0x2, {0x10}}, 0x24) 00:34:41 executing program 3: socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$ipvs(&(0x7f0000000100), 0xffffffffffffffff) r0 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040), 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$IPVS_CMD_NEW_SERVICE(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={0x50, r0, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_SERVICE={0x3c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_AF={0x6, 0x1, 0xa}, @IPVS_SVC_ATTR_FWMARK={0x8}, @IPVS_SVC_ATTR_FLAGS={0xc}, @IPVS_SVC_ATTR_TIMEOUT={0x8}, @IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0xd}, @IPVS_SVC_ATTR_SCHED_NAME={0x9, 0x6, 'none\x00'}]}]}, 0x50}}, 0x0) [ 696.676636][ T146] hid-generic 0000:0000:0000.0008: hidraw0: HID v0.00 Device [syz1] on syz1 [ 696.790478][ T27] audit: type=1800 audit(1665102881.909:455): pid=16254 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.1" name="file0" dev="sda1" ino=1169 res=0 errno=0 00:34:41 executing program 5: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) [ 697.414737][ T27] audit: type=1804 audit(1665102881.979:456): pid=16254 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir4163378826/syzkaller.iVg3NW/720/file0" dev="sda1" ino=1169 res=1 errno=0 00:34:42 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x80000008b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000122000000000000000000000850000006d00000095"], &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x1d4) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendfile(r3, r5, 0x0, 0x11f06) 00:34:42 executing program 2: openat$null(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r0 = openat$uhid(0xffffffffffffff9c, &(0x7f0000000080), 0x2, 0x0) write$UHID_CREATE(r0, &(0x7f0000000340)={0x0, {'syz1\x00', 'syz1\x00', 'syz0\x00', &(0x7f0000000000)=""/9, 0x9}}, 0x120) readv(r0, &(0x7f00000002c0)=[{&(0x7f0000001640)=""/220, 0xdc}, {&(0x7f00000001c0)=""/70, 0x20000206}], 0x2) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) write$UHID_DESTROY(r0, &(0x7f0000000040)={0x8}, 0x4) 00:34:42 executing program 5: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) [ 698.505582][ T27] audit: type=1800 audit(1665102882.819:457): pid=16269 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.1" name="file0" dev="sda1" ino=1159 res=0 errno=0 [ 698.517934][ T3696] hid-generic 0000:0000:0000.0009: hidraw0: HID v0.00 Device [syz1] on syz1 00:34:43 executing program 0: r0 = syz_io_uring_setup(0x3ede, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f00000000c0)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/zoneinfo\x00', 0x0, 0x0) openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/tty/drivers\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) ioctl$BTRFS_IOC_RM_DEV(0xffffffffffffffff, 0x5000940b, &(0x7f0000001cc0)={{}, "0b9ee17cf4f4ea9402aae71b1cc506df5c646b515438b8a5e23f6217fdf5b844fe681f623a977ec42310bb94d85a3c47bbd0538129ff1686a9b259cfb33a2d881ee31824964951b665bee005ef152c7ef74e6e2d95ccea32d7bd623e6b0ad1da63828c6d03c493be5a6d2e6443347f8065a533470ed2564e2859964a77e9a7ba3a0aaec7cac6796b23b5ad2815d54777402332209f581535663c6ee4b543032cfdf72d775086eead8916a62e127e28327631e31112654fa48eaf626ddc9558d9dead2c0590e49d8703bd8c6b58fe315fbde68297557fa7f162f12162310b128ea469b4b68fcde7af194cc5d7a2138aba6b36c21bd1a1f49d7fe4593f1225cd5d5008900f7a3f4cdb9245705f0ea7e78da1230ffd9b013fa27a5898f1c8fd2f08ce49675475e81c969686d81fd7927bcbc890a6ef038eb0254f2c770d1d67275402c1f566b493ac241e0a3a0249661aaff34d8decffcac1562d8b9809bdc0812d593eef3aef9191e23040f569109a9b82da47cd070eaac78bc9f0fb3e8d8368dd8cd6c6138e21106c37c482a58e501ef76dfdf1cf14f869d22b055adc1453d5526320bfff2b24d4ff0cfb54044d0d7580a8d898535296c4ef3afc9245df222af37db09250b8961dd4234a4ec9091e271a2e89a928f97edad97f0f0062ca94c432540068c7194f9d1492773589f6debff9c9aab3c9832ab16c6514b7867168b1133202dd23781d126a72ba083338fd1aec3e9ea3585b31a4e977e51918ee1230252dcbc04a6845b9b063ee2176eacb6f74aed96faf65860d37ece433094105b47d1325006cb69c75a5bb0e0da9df94f1f7264ed4ca82e0e95ec40015a7b4cec4a0dd91c4904472a83773229258f35ec9de9aeaf9a9089e8c6feb9c8585d399caca23aee057f013a4a7b91e919435e0bbd93dda8522881966afce900b0a49f141d2cda0d24d55d59cb3e4889059f2f357a127201d1602efb793597a2ab848818df6e54e0bdf6225ed12179492ddbdc9cae42e875e5a1a7f0f89f8d9f876dedf669e5b52bbcac851940f40bc7de4170e97f02f4b2ee017a03d4b9da81e649c7407f16ffa8dc4dce87955fa1476256206c08bf1e02fe3b35dba9a6e2f46738b372f7aaa24213baddbd8964b69067b49fa25beca977f77d9352d68caafb3f819fe562ae0e49b8a80067aabb6d03d721c67d212cd1cb60fe7f6e95038017f6cb7877c7f98495dd26683208bd91c990670b2fecc6e27f919052c8f3ecef9fab22f86da94a72b91e9ac964eb2bf171392a33bc11ecce4a3470b84bfc9c6c35993dd9bfa6bcd8b67722152dbbcdd5a2915c809736e2b0b900c3de7667ee3257ef96a8c8fda7c6eed2425adb7435d4a766846cbe96a83bc141f6e8335594adb16386b0de7c2522b792e6f13e8e1b4fd33d48b32b4b8027b12c57b495f5e3e5b43666bdfd23581d94a5a04eca04a46f1ad6b7112f5b0ca084ee05ba0d7b4518c5a56478dfa3e3c8430e879d031dee5bcf84f91b3525e03534d1ab988b458a54ccbd10f0d2d79bf325e99c6774abfe0ff39a9d7d8f71fd493ae1fb43172dfbf6e57afdbce7a0415ab3f2f2cfa615b0b4034b76ad273ba1e3ca2b8030a6c9771f2358719a0d72b982f71615fbfdcf22def70e57d9ffa886d16daf66fbacd3b96f221559758b8d444cc515ae481297bd8d36d3928ce9221b9a256e9520ab19fbcf302dee38caa50fff09cd47fe51fdaa1767e7158336b2ac57617f6c2b21ca2dfe2cf490211960d1963130532122bee78db704b1826e7259cd74e0147d5c2b672c0077dc6cc048159d4c9679b17fd44e7cfb4365ac380f9569ef04d4abb7ff9c570aaf5edfe09dafed6e7b00548b2ef49e469171f127229c59ade4b67885929b8dd32d72ff852adb0bf1d156c4e98f4152230e3dfa7fe5cc5ee12763a04c2e868ff63d61edeca671a62588a072e876df43593b9b69c5a6ce4448ef28ce694cf8a51b3c0ef994c1edf3f775093dca0b801786d7f823e5fa2c217a64b978c28a7a2e0e889e3d3c9db00000000fdea65830bd4643dbd6a6b86f0fbdc3850cdd2617c574024c0a54d2b6b1674bc6d72968abc55fa7290e2591877f909a2010f24edd49b28aef732c71355565fc48c1164dcbaf3757384c33062f1bcab1f89f2dcf1b1d16e4de71392b4b004496f532291a0119bd5cf87393a308de9e1064f0196e16965c91ec3e99dfd6744c216fa01ffdd433bd9f1c0d7698c9712f555333aa2fccb5f1cd52507d4c4543fc84d5f4f6a0e26ecb2be09e3b15529c385995fcbadd74f59889cc2b1dd7f3610481762da4e09d9156ad5e8138e956f6842b42adfe3d9f94e8cdb47b1da96f0152c07c3bdc5798c83a1457441f850712c5a31d847354504cc497d8dafb81fd520b16cc2e14c08a6dc89bf62daf39d6e1a28568d70c925f26384400c386e80312f2a0833b228dda1b10faaf7345f6b670dcf78c7d90a077cf2dd1313680df148e95a6861dd0251dc4580a64df2bb3529304dcf7e5a4cfbcedb480ccb3c97742f43168fa0b26db4c41f0a961b7a344b5607ee9c7a04c24e931379b95c318a3a212abe61ec6edc3757e8d621522e1462737f3a85c817a3dfbf1385db0256e482f0aa1828685f291ad73bab35fb0c2c719ba34010222105dccf2e4a788a0e650a29f22b20b05c1094a6048fe35f43ab331e265d93d3e1d31479840a58d3f2ee8c6b561847fcddcf2cbd6366abeeb9daa030cf6193901de77d57bf5ad03dc6efa90f8e41c77f713c4b6835b029258c0c7d0de796eb7185c9b4070ab2a89d2c420dffc7a5308414ddbe5b851c3adc66a453c5c021b67f000000000000004443523eabde5d635468920b7fea726052730ad009ef35f1f58984a432c4ce647917cd273ecb8b4bb9e4de58cf3319067636c3876f0b7c675c7213ea0b0543cb3b69a59f62cbc35b0f118e7fa48d850a9bb54a01342bccbf70105bb0d38096ce54194169b9d344c6972df35dd23486099f32b9d63e9bc9a11a4450dbeb468892488dc1dd75e5129333b4c21778a5fef0b2c53ef3f40bf87a22473d79f96f2353cdfc401278e03c5894d2be17505376cb2f3d7e859f61ac4c829fd99a8bda388bb2c27d2fdff91dc0e3fb2b0e69097d64b4ee1b186c9428a0932c488ba4f1d172db020b428d56fff9c5bf8ea3c972df9bbb2cc2b175417bd01067edd70de76164ecb6fc9569f2c8e574b4410e37cf9ae6403d93c36b060f36abff0196d8c967ff0f0a92dff1ba5cf8d342922b80bb83313f6db43c42672118bb8309d0bb5473253ee5b7f4b69a14af19854fb59b1bb03aff9bd50cad32438b3419190b7282a19972a9a792eb8e932e9d726238f55427e4c10f4f6b9907a3c220e328c2391b41524636a7e919552a695388f915faf6dda40c7cd917e463818d98f602552af15e5a213c00601eb26ce5e8fe7f9562d0917581e15fb491b266057038b17e2bd52f782213bf6f2fb78914acabb9b1d5360f3498df3418d21f0a40e2e9d8fb3cd38207721af9450a97b5d9fda3c1ef9034d430b686362968ebead2db99d40828d4cbb38da9b92d078e8978addf93aa3a73924f1dc6562d64ca8659025c3299cd92a0d7ad2fe6a352acce8fa7e7d516cc88f38d8b1c88a0c788a6cd7d9df69a353264215d817ab404e898a52d98416456d88f4f8be3397cb5d85103779b387e090e1af47e52da81eb0b9598f3c62598f5e4e2f30c7d79b082208089b8221694fcc4b8a0fb8f378d3625525ca7fe3bf8f55221b88809be17f495bd87dc6772051b3ec1190eb21c3ce3a8be909e2775a7e3b0fbfa106c3d348bea72dcf644af5216f89fe68ec34a1988d678fd32639684b3b2dfcfabdbeafe0af959a459fc86a4f85ec957c259bda9fde5b33df4a40050a03bc334cdb10eed500312d7203b1dba5fb387a12df799ae0aa5437ea49ab0245c9e9ffaf00b2e598fb4db0b1787791f8573ff45129af63527828a69542e6a9ca34af654c6c94852387a4d61bbf07379079dfbcf90975e15f7c6816b8d0b41c00d15cd1f4e1f32eff67fb8a80d1a6f4e4bb73c7b068878a36f7dbdc6b7b8aa6f4ea3f45a3111164587fb414022a15dfe625de3f2fe9f5c6a6bde1954cb4a4d975080f5f70eafcc7af5583e0de0b0cff74c6978609e40fe75b10945d70c2b1c0e20cb78c1b5e3bfca6e2734f3aab732e72984496ea4b7fe29c31f180f4f587ca5a63ddc61f6dd2fe4212b9899e05a25cf9ff404260552c503543563ac2c5212809bd503d6d49b71a20d7f724b33f7f92a42ff96e570cd112c9fbde8fad69fd07f8bf02809828dab2b6170aab3b75618dbfa8b17c10eaf7b5e1118c887b7d0384f5694a7972546b3c95531c26c522c29a76f2552686fbf0e52eaed534a047ddf03aedbceb156c7c0c700e1985c0461146994d8c85ac8084d3a7e7ff76587a0c5aac2de065a425db5dd6ef5d6c022ea527702ee7ba28a17b569f2568ae927f8b8298656ea6f0e864024f311ac96f1c2e583cab4a253788864d0628dfd6ba6221525cfdbb90443d8bcb34d020cbc7345aa251c3abff7138f64aad503bf27bad05027cc0b7756eb1d67814a43a8d03166ed79695fded7f12e6b660a748840981c521b22c0ad8d2fc369ba9911bd3f139e572dbe5def1188f1d7544bcc101172a99eddda3ef9a751ae029c16129ade3f85f2e6782bd7b6cdcda73301da6edc174ddacb8dd95ac29df8ae86576abd21833e7531ad1feb6af0e2f0b1ae086fb711537cc9e2335a1f197dac5f55fcc5748522383eb6367dfca8ef75cb6c44603df6b586700834d3b866f761dcee598b0fed00c0421dc12418f43892dc60f85f2bee8c86f5c1f843416bd26aede440b746d99b71bfc782257a066d9c37eb747d39a23282f39998d3f173ab785a501b350b86167161dc0c56bf8cbc7b2c310bc8c4751db5f8c91195f1092ad5eca51644e2c917ceb384b0fe76f54888d35f6398741b7ffd3df95f56ec87bda861be488268f067149e849a214bcd2e391bc3dee8ca6b2fad77f8371ea4f447bb467b7fbfbac9a491c76124ac9d5e50d8c5bb2f21e936bb2a9924548ccd94fdb1c95f9a734f363d1d79c092ff601462fc02bbba16e97496be1106b0f6c0056185fd312153a2ae0a7dbfc87918cbed2ba94c1c3ef79b1456a1c32fde3fff8a541ad63c16f817930f9080fc1ff6e268e15572f5b7e042e0264f16dfc558495ea801e80e2265b1571833f51b1461b201792555db378bbcc3b99e209b96337b41c7349d1983d1829bb79c17cb61f29cf9c1e5f6da4880bcac4cc0333fe266981c419ae92108cbeaaec794b7e645b31f09be93c84230006cda824055096f1f0cfc356c7be40bfa89360103c7f29cb3cf74ec8e0beebcb4288b068de4793d9f65238ae2861dcf9b5c0f1555c9b2b82f323459f290493ba7798b19cc5dd3d97a98bbc6d122096400534f243494f8022c7dfb0064bc3de7da0c6c89583f3a6d1f2f247e1c961479fa2a88cbc47d6ef5c17fb1ddb6d0c94132c64c4de858fdc2206a7af0c7bf5eb61c3620063d19ef06950dcc32881cb1aaf30f656ddb1e5a57e194db1767addcb3d964805657fd36ca2f492c4e5ab0f07dd97605d4e2162875337a2fadd97a51a0ac11defbf755561892dc6ab792a0e179c1c8372127a44b9f1a59945a9ed44f66576ebd6c96ddf563fb5bd1af1efae28033ba7734bc56b02a871ef174ac7709fa76da074c4108d72fe92579996d57f062459dbcb9f49c6000"}) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r3 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r4 = dup(r3) write$6lowpan_enable(r4, &(0x7f0000000000)='0', 0xfffffd2c) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x14) 00:34:43 executing program 4: r0 = socket$rxrpc(0x21, 0x2, 0xa) connect$rxrpc(r0, &(0x7f0000000000)=@in4={0x21, 0x0, 0x2, 0x2, {0x10}}, 0x24) 00:34:43 executing program 3: socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$ipvs(&(0x7f0000000100), 0xffffffffffffffff) r0 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040), 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$IPVS_CMD_NEW_SERVICE(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={0x50, r0, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_SERVICE={0x3c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_AF={0x6, 0x1, 0xa}, @IPVS_SVC_ATTR_FWMARK={0x8}, @IPVS_SVC_ATTR_FLAGS={0xc}, @IPVS_SVC_ATTR_TIMEOUT={0x8}, @IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0xd}, @IPVS_SVC_ATTR_SCHED_NAME={0x9, 0x6, 'none\x00'}]}]}, 0x50}}, 0x0) 00:34:43 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x80000008b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000122000000000000000000000850000006d00000095"], &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = open$dir(&(0x7f0000000080)='./file0\x00', 0x0, 0x1d4) write(r3, &(0x7f0000001400)="bb8f9f640903127a53527c6fbfe65d43b0e0586f2d40c7e7df58cac83420e83662d6e39bb6d5430622431454eedeeaee423d8f210bc3525fa7927c18d5fbc91ab13c2041136047d8da9375934d00f325499bfe7712208d387d41c31821c2a22d1325b556528e9b790b74053d1ed631c6ec8126d37c87216173138c00cef396868029af5b76bebac5e38b74d8bbc6ae66b6e202b6d505710377710ea7d43edf00e1a4c1c670bb4c263ce777da81abdd5ba5a5c82f67232f9b4d6f21b2e6afa8b38e4642b0daa2acbc0478d89b88e8b2094d4248855e5e81992e60be3afff0f3c3799350615489a901a659abdeca0c615a622ebf64175f990320e0356d4a11ed62eff72b709c23dd65942e8b534d7d775d370c1e435654a2634e6ee3649c4c3bcbe39e866f1eb9972af1a9cef42e701798a53dc92a242aadbac343e1765cf8ea5665e22deda69777e52b1e9e5d3edc022256939e1eee013448294911139d5b9c6241049fecdf9b31f4cdf6cff65d71b5071ef70e1798347c8846aa5b905e83050e3e606986ed3f603d18c5cdeb11cda1ce3abddea9376231af130e19fc7601ec1ab8cb5a7de9e2174547f18225b09a54fc8720dbb91eb69c1be88e601c3c9df4f2758f39a5151951b9c6dbb419ffd783a34c9fad10f201b8724d31865e2fc1fcf48db2be713053b43a0e3943c1e2b08e8a26e946c439d891db2a80b5ffa054bc8d0177d3214056250c61a537d2ec7630fb90395df2cd6aa9c5e573365db580520bdc3f1c6b2be992e1516a4b810a11935dc780699e461d9715f70c6d103ff49bf168f3cff4c0d0d6ba5671fcd2975450b0e1a3474139cb0f2d3476fcd87a8bccbeb2f5f8a821017b879aa5b9d1fafa9f4c429a74cd2da782114d97bf031746a817dd0293c4eddc3a9ecb5afe496f4971474ccd827449409f07cf94dda2e7dbe8520b5afff10a7e3b0b4289a167fc692635b5b7426d9e771b95860b09a3e752c867213c772e48ba30a78feecc7ff26e63e1749c62b52d377ac5cc52db830c965e04ccfcfb24ceacc69cfdc2094124dd27b2d68f699476a2562bab1de117ffc2b0702ee8b0b77f85fecec3a25b37ab7eb06232c9a73b4470f1727c82581d81942abf42d3ea37957927ad3dbd0ebe46678a9f4d25c47acaac83c14210a54b71fed40df017e2be27f01e3e6ea3ea381ca14efd202858e6535ad4f79a8cdf47e385b740a70c14e3651731a45cc0ca4a56f2e903cad0384efcc364caf67e09551d35c682ebc90a9286c4d274ba1b8ced742ede4e55a62db7ef9a96fde2add05b41599fd72a79ba280cc125cb266ef21b7eeafe3ee6aa78eef33fc66454549c3ec298cb683a55a32208cf6ce88b560166159d59e65f30540f62c5437652ea7f2a02f87ca242dd2250f58e75938a9a3ded51ae6598c2aba53287ff5cdaab17be7f4310f8e07e310d52778de79e1c2e4391b254be38910aa1cf6e1ca0e75d24be97d59f7025f16c6fbd549529b74e319c58f50438765ef0e3dc394eeb75dec41b3d80435b17520c97f5cd7ee692fb86d188fb0089fbf737dc1b96b9cc49be23a38a8cd92e5075f349993d7866369dd25eccbe1481477a05fee14e0edd1617921d7fcaa8fdc642e63b64388fa5b63442ff1466b1938d02546750b01ed9c980282ccbe10f204741249aed88c555ed6fdf7f68af9209807a71bbf4f31bef5a4223466da74ba8b034df529aef6ec6610a0d25973961e50e02af22d0ca8be1b9804a5918acbdb536e8f2f441ec9d640ed15133ee747440c86fc4526c9195954528673d25c8390170f3c19cb0b0c30b9e634c7ebae96946ae97c19eabca92226da925d22be37abbe0740938ea899ec42fd529a3b1063981e4c154219df5cf5af60a29b5a8ee530905725a14b28900eae937e705401ba8f632a7bca00d9724a992afdc9ed14aac71b8e3a7ee5ca095888feb195b4e083c3b611a1c2f8d092febe3b9f5f0df61e8d3c31a643c935b76bc1ad4265164e755484beb06610510bc51e8c6da8d71123bbe83a5e4128f41cf5c486d6a60496c300c406f990bee485cbdef794f2663ee66d2b18d8e55210c25c04b1a0c6d9c5f904e72806d2d4f5e5439bcdf146343cdffe4d0d70d42a9959cff9bd50c37cd478b0b0add16aae4dc839b46bca2ac7547144b6a422aed5e2db661bcb31a82bc0fc678e71a6cb090ef772860f3008b4152b5d281033be4a77b367baec3ab8ce7c83c601b11c8199bafcd15161a5454a6a982dbc3c2e3a5172b6a63e4904817075754eccbb0188c9cb2e5da9600f567485014887463b40f189b7ec3c5c0f36d502509e402c285765c78417ce6b3aab130ee79622dcd8ada842233e73a14554ee5e4995e32b3fe4075e247eb9bdeef64d1a7436c9b5782fb2f84f74e4c6e976289729c37b5bb8200a9480d181a6b11f5ec229b818134b8334967ae935ac1d81be4776fae4cb68b6fa330e93bd8de388b38455d569159bcd166df030a6dfedf28caf4608de7243f5df2c76f6680c301d819dc67d24d2f780432a931700a253b0a5b075195c6dbfd1fe17a1c11a3dffa872a07b877adc66d069fffb6d8326e1998c5a337c3d530250cae335ceffcf81dc438a47e73490d050a053813dbe6674e42c91ae94b4a88144f36adc1b08b4bcd6ddf4058c4e08d4dc83d5fbd843ee27eaf50b297c220350260d9abbeeb6deb921e50cae0ea590cfb6f00fb3c71520f565bb769705e2481ef27cf537d29f163c9fe3d39ed9fd18dc8b0c976cd302283e430807a9d751357f89092532d89fe280c69ad36e3541b5da9dea13fd19d0434c760fe295dfd9b9e63453c7853914c50b1b77ccd4b33c8b1f31fcb1aec040ffe2f9d728d8ea84297bac2e22230ebd1488c503b05b2e433cc37ce9fc123b7d3eb244b4549e9a841e73b664c8f6621ea5a4c9ff9c1da032255311f2c063a682baf4c97e7ba552bf71af4bd64f43872b846d15c65c487089be272cfa24a33f8c50930ea0bc4b089505fb8e97ded0e7e64a5ce897da6b940df4c3dddb8b4871d773f6ebf02058518c55c19aadb0f266caf18777ae68d2bfcfb2225961fcd10538ba664fd053a443320072707533ab761b9397bd0559126b84fe9196463ae50633017ea2d80940311d9c867102b1017f34af1965d8eb61be616a0d40656e2bbb750aee6f74f788c8acb2578e8686f5f8da6a19e979c152b7ee7c7f16902120588e2ff630144b5f929ffc593e946d9717c5968aa16c2d73d689fb5cce117acda3e23e5e0116de1cb6bddfa1a84cefb22c1e2c3753017696f27b9aec5d44f15411247643b84dd4410e784b4eb5b9c68fea671976f9b51c6526e2ddb40659611b0b3bcc7e249c77396fdb8c864ea9318f9de7fd3936fcbdc732c2f8b9556ec9afeb15d5e2df890351d66074d53dddc6e8dba8c91d733623ac95a49eb69c7de37ff2364ccddb01f6500750a012c2acf32a9f6bbd9e92d17ef858fbc34575db414ea42ad87a65b11ae5506469db256c421328f45aec73bdf18562447dc2840bbe9fc84dedd0fe6276fa174f21210d40193530ec7a70a9e60bfd6b00cba4d483be59950f16fa0dbd089b5fd0bb078badfcf42270cc62fe37be22b0d81f755263d74636fa466d2574ca62b58c649936d21e949de73ea45df3acade6609413f56fc218d6f11947bf1fd629d38d8acce90ee3c1a51117601ae126bec537e3e76ce7ecc53cfeefee8aaa104aa853a65aadf27bac9849ee0122793b11cd8e4f32fb07afa39e439cb738c30a6df958160aac15c26032a61aaf614b2e6601581fb0ab8d115e045005dee3df8ea42643cbcbb0b111130c42c94b7e874cfee50d5c2eb13b3a38c417fce9d740b7d43120431a7d44bc3934ee87b112401cbee3553837b6a0b4b3faaceb46eca4064301c8060870350e256ac9d5557f674536b9d9717a82fa211e7dfb52ca410d8a4f2f6b733c2a082f247538a6c40f56cf64204e62515db692f32733ff6f4b0787ef305d5e80881375467ae603ac3600e688c42f89a4fea4fdda09a8d59e19457c654a98c8129a8c65bae3310af2b170729e18400c915d0a2f4c4fc51747846630b95ec181228bda7ef48ad389815aa82de6c4a3b0746c28c01f9ec697ff17f095e1cf9d2fe78fdab9cbb1ca7aefc8af6a0cd98444735fad79e394a8f9c2fd358c3cde4ca6d57a620d0bb52dc6ff93f034b596f407c21511cc2c5ec8b0ede7f5c0acca61939ac7f2cad820c15133e69507eaa739e9a88936f4a74f0ad1574a1591f31f582a76157d89805cb3ba5e8d10509bf7a08e928653b4f05ba797a06765b74c8759fc34178624c08a2b99e59bcff5d33af2b0f9176b56c35f4da31c751a4c2fd88a1997cd9fc9bbf78220731d4c8cea23be1fd29c36b34d8458b7021ebcfafdc7e54096e517da3eb684298f742532d776164d9c9658e5faca0a3b08afca1bc27ed357884f49fe51bd0c38057f4288f1917e36e3865310b5eed140aef6150ae363293cf7467abd5e06cd7af5e2c49e7c5253a1155741e380bccb023a0faed93d9a64512d72436f1ef4ac0904a413e45164c23413bd57274a0a951c41a9a43aed094d4ea5c480ce64663cc9d36723179e2b19a48e9277a6591bbd888a06e0f2f142cd4495be4ba7274d69ba32a2788b935b2f18c5f336cb9de062829e2e0bb476efb36c3f53a766c14314f31637a464ac59d378ad7f51bef8d88715613653a427038e0d3e4dc3948bb1d70eb55c91c92f7510b1c0387253b458d2c90d17238f9eb239c680179a6c1e0759be367963e3b4d7395fd3911626582a094e6a8d0e746242f94267a4c57d5b2360ce3a6f7f3e3c10e124a54ed24d1585bc7b731cf731c94ee00ebf070b999b9bf28d76bfec9dcf12fcce2b9c4444c706ec6b943b5f39e9151a764ba1cd0cd6c1c7cdc3aa824cf17da705be27a18fbee41be39d6ae4dd4312f5f4bfee2c5bb21d941666f9d79b0f80c9b1bace84a05d2b0e3be1c3fd04d72b4b0124595c435813969d413960fddc858730a433383f3bc0472cb7683ea569e001f00"/3584, 0xe00) sendfile(r3, r5, 0x0, 0x11f06) 00:34:43 executing program 5: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) [ 698.537644][ T27] audit: type=1804 audit(1665102882.839:458): pid=16269 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir4163378826/syzkaller.iVg3NW/721/file0" dev="sda1" ino=1159 res=1 errno=0 00:34:43 executing program 2: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) 00:34:43 executing program 4: r0 = socket$rxrpc(0x21, 0x2, 0xa) connect$rxrpc(r0, &(0x7f0000000000)=@in4={0x21, 0x0, 0x2, 0x2, {0x10}}, 0x24) 00:34:43 executing program 3: socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$ipvs(&(0x7f0000000100), 0xffffffffffffffff) r0 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040), 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$IPVS_CMD_NEW_SERVICE(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={0x50, r0, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_SERVICE={0x3c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_AF={0x6, 0x1, 0xa}, @IPVS_SVC_ATTR_FWMARK={0x8}, @IPVS_SVC_ATTR_FLAGS={0xc}, @IPVS_SVC_ATTR_TIMEOUT={0x8}, @IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0xd}, @IPVS_SVC_ATTR_SCHED_NAME={0x9, 0x6, 'none\x00'}]}]}, 0x50}}, 0x0) 00:34:44 executing program 5: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) [ 699.174068][ T27] audit: type=1800 audit(1665102883.869:459): pid=16285 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.1" name="file0" dev="sda1" ino=1164 res=0 errno=0 00:34:44 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000001c0)={0x12, 0x4, &(0x7f0000001300)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x8, 0x1, 0x2d}]}, &(0x7f0000000000)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 00:34:44 executing program 4: r0 = socket$rxrpc(0x21, 0x2, 0xa) connect$rxrpc(r0, &(0x7f0000000000)=@in4={0x21, 0x0, 0x2, 0x2, {0x10}}, 0x24) 00:34:44 executing program 2: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) [ 699.625588][ T27] audit: type=1804 audit(1665102883.879:460): pid=16285 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir4163378826/syzkaller.iVg3NW/722/file0" dev="sda1" ino=1164 res=1 errno=0 00:34:45 executing program 0: r0 = syz_io_uring_setup(0x3ede, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f00000000c0)=0x0, &(0x7f0000000140)=0x0) openat$procfs(0xffffffffffffff9c, &(0x7f00000001c0)='/proc/zoneinfo\x00', 0x0, 0x0) openat$procfs(0xffffffffffffff9c, &(0x7f0000000180)='/proc/tty/drivers\x00', 0x0, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd_index=0x5, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) ioctl$BTRFS_IOC_RM_DEV(0xffffffffffffffff, 0x5000940b, &(0x7f0000001cc0)={{}, "0b9ee17cf4f4ea9402aae71b1cc506df5c646b515438b8a5e23f6217fdf5b844fe681f623a977ec42310bb94d85a3c47bbd0538129ff1686a9b259cfb33a2d881ee31824964951b665bee005ef152c7ef74e6e2d95ccea32d7bd623e6b0ad1da63828c6d03c493be5a6d2e6443347f8065a533470ed2564e2859964a77e9a7ba3a0aaec7cac6796b23b5ad2815d54777402332209f581535663c6ee4b543032cfdf72d775086eead8916a62e127e28327631e31112654fa48eaf626ddc9558d9dead2c0590e49d8703bd8c6b58fe315fbde68297557fa7f162f12162310b128ea469b4b68fcde7af194cc5d7a2138aba6b36c21bd1a1f49d7fe4593f1225cd5d5008900f7a3f4cdb9245705f0ea7e78da1230ffd9b013fa27a5898f1c8fd2f08ce49675475e81c969686d81fd7927bcbc890a6ef038eb0254f2c770d1d67275402c1f566b493ac241e0a3a0249661aaff34d8decffcac1562d8b9809bdc0812d593eef3aef9191e23040f569109a9b82da47cd070eaac78bc9f0fb3e8d8368dd8cd6c6138e21106c37c482a58e501ef76dfdf1cf14f869d22b055adc1453d5526320bfff2b24d4ff0cfb54044d0d7580a8d898535296c4ef3afc9245df222af37db09250b8961dd4234a4ec9091e271a2e89a928f97edad97f0f0062ca94c432540068c7194f9d1492773589f6debff9c9aab3c9832ab16c6514b7867168b1133202dd23781d126a72ba083338fd1aec3e9ea3585b31a4e977e51918ee1230252dcbc04a6845b9b063ee2176eacb6f74aed96faf65860d37ece433094105b47d1325006cb69c75a5bb0e0da9df94f1f7264ed4ca82e0e95ec40015a7b4cec4a0dd91c4904472a83773229258f35ec9de9aeaf9a9089e8c6feb9c8585d399caca23aee057f013a4a7b91e919435e0bbd93dda8522881966afce900b0a49f141d2cda0d24d55d59cb3e4889059f2f357a127201d1602efb793597a2ab848818df6e54e0bdf6225ed12179492ddbdc9cae42e875e5a1a7f0f89f8d9f876dedf669e5b52bbcac851940f40bc7de4170e97f02f4b2ee017a03d4b9da81e649c7407f16ffa8dc4dce87955fa1476256206c08bf1e02fe3b35dba9a6e2f46738b372f7aaa24213baddbd8964b69067b49fa25beca977f77d9352d68caafb3f819fe562ae0e49b8a80067aabb6d03d721c67d212cd1cb60fe7f6e95038017f6cb7877c7f98495dd26683208bd91c990670b2fecc6e27f919052c8f3ecef9fab22f86da94a72b91e9ac964eb2bf171392a33bc11ecce4a3470b84bfc9c6c35993dd9bfa6bcd8b67722152dbbcdd5a2915c809736e2b0b900c3de7667ee3257ef96a8c8fda7c6eed2425adb7435d4a766846cbe96a83bc141f6e8335594adb16386b0de7c2522b792e6f13e8e1b4fd33d48b32b4b8027b12c57b495f5e3e5b43666bdfd23581d94a5a04eca04a46f1ad6b7112f5b0ca084ee05ba0d7b4518c5a56478dfa3e3c8430e879d031dee5bcf84f91b3525e03534d1ab988b458a54ccbd10f0d2d79bf325e99c6774abfe0ff39a9d7d8f71fd493ae1fb43172dfbf6e57afdbce7a0415ab3f2f2cfa615b0b4034b76ad273ba1e3ca2b8030a6c9771f2358719a0d72b982f71615fbfdcf22def70e57d9ffa886d16daf66fbacd3b96f221559758b8d444cc515ae481297bd8d36d3928ce9221b9a256e9520ab19fbcf302dee38caa50fff09cd47fe51fdaa1767e7158336b2ac57617f6c2b21ca2dfe2cf490211960d1963130532122bee78db704b1826e7259cd74e0147d5c2b672c0077dc6cc048159d4c9679b17fd44e7cfb4365ac380f9569ef04d4abb7ff9c570aaf5edfe09dafed6e7b00548b2ef49e469171f127229c59ade4b67885929b8dd32d72ff852adb0bf1d156c4e98f4152230e3dfa7fe5cc5ee12763a04c2e868ff63d61edeca671a62588a072e876df43593b9b69c5a6ce4448ef28ce694cf8a51b3c0ef994c1edf3f775093dca0b801786d7f823e5fa2c217a64b978c28a7a2e0e889e3d3c9db00000000fdea65830bd4643dbd6a6b86f0fbdc3850cdd2617c574024c0a54d2b6b1674bc6d72968abc55fa7290e2591877f909a2010f24edd49b28aef732c71355565fc48c1164dcbaf3757384c33062f1bcab1f89f2dcf1b1d16e4de71392b4b004496f532291a0119bd5cf87393a308de9e1064f0196e16965c91ec3e99dfd6744c216fa01ffdd433bd9f1c0d7698c9712f555333aa2fccb5f1cd52507d4c4543fc84d5f4f6a0e26ecb2be09e3b15529c385995fcbadd74f59889cc2b1dd7f3610481762da4e09d9156ad5e8138e956f6842b42adfe3d9f94e8cdb47b1da96f0152c07c3bdc5798c83a1457441f850712c5a31d847354504cc497d8dafb81fd520b16cc2e14c08a6dc89bf62daf39d6e1a28568d70c925f26384400c386e80312f2a0833b228dda1b10faaf7345f6b670dcf78c7d90a077cf2dd1313680df148e95a6861dd0251dc4580a64df2bb3529304dcf7e5a4cfbcedb480ccb3c97742f43168fa0b26db4c41f0a961b7a344b5607ee9c7a04c24e931379b95c318a3a212abe61ec6edc3757e8d621522e1462737f3a85c817a3dfbf1385db0256e482f0aa1828685f291ad73bab35fb0c2c719ba34010222105dccf2e4a788a0e650a29f22b20b05c1094a6048fe35f43ab331e265d93d3e1d31479840a58d3f2ee8c6b561847fcddcf2cbd6366abeeb9daa030cf6193901de77d57bf5ad03dc6efa90f8e41c77f713c4b6835b029258c0c7d0de796eb7185c9b4070ab2a89d2c420dffc7a5308414ddbe5b851c3adc66a453c5c021b67f000000000000004443523eabde5d635468920b7fea726052730ad009ef35f1f58984a432c4ce647917cd273ecb8b4bb9e4de58cf3319067636c3876f0b7c675c7213ea0b0543cb3b69a59f62cbc35b0f118e7fa48d850a9bb54a01342bccbf70105bb0d38096ce54194169b9d344c6972df35dd23486099f32b9d63e9bc9a11a4450dbeb468892488dc1dd75e5129333b4c21778a5fef0b2c53ef3f40bf87a22473d79f96f2353cdfc401278e03c5894d2be17505376cb2f3d7e859f61ac4c829fd99a8bda388bb2c27d2fdff91dc0e3fb2b0e69097d64b4ee1b186c9428a0932c488ba4f1d172db020b428d56fff9c5bf8ea3c972df9bbb2cc2b175417bd01067edd70de76164ecb6fc9569f2c8e574b4410e37cf9ae6403d93c36b060f36abff0196d8c967ff0f0a92dff1ba5cf8d342922b80bb83313f6db43c42672118bb8309d0bb5473253ee5b7f4b69a14af19854fb59b1bb03aff9bd50cad32438b3419190b7282a19972a9a792eb8e932e9d726238f55427e4c10f4f6b9907a3c220e328c2391b41524636a7e919552a695388f915faf6dda40c7cd917e463818d98f602552af15e5a213c00601eb26ce5e8fe7f9562d0917581e15fb491b266057038b17e2bd52f782213bf6f2fb78914acabb9b1d5360f3498df3418d21f0a40e2e9d8fb3cd38207721af9450a97b5d9fda3c1ef9034d430b686362968ebead2db99d40828d4cbb38da9b92d078e8978addf93aa3a73924f1dc6562d64ca8659025c3299cd92a0d7ad2fe6a352acce8fa7e7d516cc88f38d8b1c88a0c788a6cd7d9df69a353264215d817ab404e898a52d98416456d88f4f8be3397cb5d85103779b387e090e1af47e52da81eb0b9598f3c62598f5e4e2f30c7d79b082208089b8221694fcc4b8a0fb8f378d3625525ca7fe3bf8f55221b88809be17f495bd87dc6772051b3ec1190eb21c3ce3a8be909e2775a7e3b0fbfa106c3d348bea72dcf644af5216f89fe68ec34a1988d678fd32639684b3b2dfcfabdbeafe0af959a459fc86a4f85ec957c259bda9fde5b33df4a40050a03bc334cdb10eed500312d7203b1dba5fb387a12df799ae0aa5437ea49ab0245c9e9ffaf00b2e598fb4db0b1787791f8573ff45129af63527828a69542e6a9ca34af654c6c94852387a4d61bbf07379079dfbcf90975e15f7c6816b8d0b41c00d15cd1f4e1f32eff67fb8a80d1a6f4e4bb73c7b068878a36f7dbdc6b7b8aa6f4ea3f45a3111164587fb414022a15dfe625de3f2fe9f5c6a6bde1954cb4a4d975080f5f70eafcc7af5583e0de0b0cff74c6978609e40fe75b10945d70c2b1c0e20cb78c1b5e3bfca6e2734f3aab732e72984496ea4b7fe29c31f180f4f587ca5a63ddc61f6dd2fe4212b9899e05a25cf9ff404260552c503543563ac2c5212809bd503d6d49b71a20d7f724b33f7f92a42ff96e570cd112c9fbde8fad69fd07f8bf02809828dab2b6170aab3b75618dbfa8b17c10eaf7b5e1118c887b7d0384f5694a7972546b3c95531c26c522c29a76f2552686fbf0e52eaed534a047ddf03aedbceb156c7c0c700e1985c0461146994d8c85ac8084d3a7e7ff76587a0c5aac2de065a425db5dd6ef5d6c022ea527702ee7ba28a17b569f2568ae927f8b8298656ea6f0e864024f311ac96f1c2e583cab4a253788864d0628dfd6ba6221525cfdbb90443d8bcb34d020cbc7345aa251c3abff7138f64aad503bf27bad05027cc0b7756eb1d67814a43a8d03166ed79695fded7f12e6b660a748840981c521b22c0ad8d2fc369ba9911bd3f139e572dbe5def1188f1d7544bcc101172a99eddda3ef9a751ae029c16129ade3f85f2e6782bd7b6cdcda73301da6edc174ddacb8dd95ac29df8ae86576abd21833e7531ad1feb6af0e2f0b1ae086fb711537cc9e2335a1f197dac5f55fcc5748522383eb6367dfca8ef75cb6c44603df6b586700834d3b866f761dcee598b0fed00c0421dc12418f43892dc60f85f2bee8c86f5c1f843416bd26aede440b746d99b71bfc782257a066d9c37eb747d39a23282f39998d3f173ab785a501b350b86167161dc0c56bf8cbc7b2c310bc8c4751db5f8c91195f1092ad5eca51644e2c917ceb384b0fe76f54888d35f6398741b7ffd3df95f56ec87bda861be488268f067149e849a214bcd2e391bc3dee8ca6b2fad77f8371ea4f447bb467b7fbfbac9a491c76124ac9d5e50d8c5bb2f21e936bb2a9924548ccd94fdb1c95f9a734f363d1d79c092ff601462fc02bbba16e97496be1106b0f6c0056185fd312153a2ae0a7dbfc87918cbed2ba94c1c3ef79b1456a1c32fde3fff8a541ad63c16f817930f9080fc1ff6e268e15572f5b7e042e0264f16dfc558495ea801e80e2265b1571833f51b1461b201792555db378bbcc3b99e209b96337b41c7349d1983d1829bb79c17cb61f29cf9c1e5f6da4880bcac4cc0333fe266981c419ae92108cbeaaec794b7e645b31f09be93c84230006cda824055096f1f0cfc356c7be40bfa89360103c7f29cb3cf74ec8e0beebcb4288b068de4793d9f65238ae2861dcf9b5c0f1555c9b2b82f323459f290493ba7798b19cc5dd3d97a98bbc6d122096400534f243494f8022c7dfb0064bc3de7da0c6c89583f3a6d1f2f247e1c961479fa2a88cbc47d6ef5c17fb1ddb6d0c94132c64c4de858fdc2206a7af0c7bf5eb61c3620063d19ef06950dcc32881cb1aaf30f656ddb1e5a57e194db1767addcb3d964805657fd36ca2f492c4e5ab0f07dd97605d4e2162875337a2fadd97a51a0ac11defbf755561892dc6ab792a0e179c1c8372127a44b9f1a59945a9ed44f66576ebd6c96ddf563fb5bd1af1efae28033ba7734bc56b02a871ef174ac7709fa76da074c4108d72fe92579996d57f062459dbcb9f49c6000"}) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r3 = syz_open_dev$sndmidi(&(0x7f0000000080), 0x2, 0x141101) r4 = dup(r3) write$6lowpan_enable(r4, &(0x7f0000000000)='0', 0xfffffd2c) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x14) 00:34:45 executing program 5: r0 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) openat$capi20(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) preadv(r0, &(0x7f00000006c0)=[{&(0x7f0000000600)=""/142, 0x8e}], 0x1, 0xfffffff8, 0x0) 00:34:45 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000001c0)={0x12, 0x4, &(0x7f0000001300)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x8, 0x1, 0x2d}]}, &(0x7f0000000000)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 00:34:45 executing program 3: socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$ipvs(&(0x7f0000000100), 0xffffffffffffffff) r0 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040), 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$IPVS_CMD_NEW_SERVICE(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000002c0)={0x50, r0, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_SERVICE={0x3c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_AF={0x6, 0x1, 0xa}, @IPVS_SVC_ATTR_FWMARK={0x8}, @IPVS_SVC_ATTR_FLAGS={0xc}, @IPVS_SVC_ATTR_TIMEOUT={0x8}, @IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0xd}, @IPVS_SVC_ATTR_SCHED_NAME={0x9, 0x6, 'none\x00'}]}]}, 0x50}}, 0x0) 00:34:45 executing program 2: r0 = socket$rxrpc(0x21, 0x2, 0x2) bind$rxrpc(r0, &(0x7f0000000080)=@in4={0x21, 0x1, 0x2, 0x10, {0x2, 0x0, @broadcast}}, 0x24) listen(r0, 0x0) listen(r0, 0x0) sendmmsg(r0, &(0x7f0000002b40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0) 00:34:45 executing program 4: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:45 executing program 5: r0 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) openat$capi20(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) preadv(r0, &(0x7f00000006c0)=[{&(0x7f0000000600)=""/142, 0x8e}], 0x1, 0xfffffff8, 0x0) 00:34:45 executing program 2: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000280)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x36, &(0x7f00000000c0)=ANY=[], 0x8) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @mcast2, 0x9}, 0x1c) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='bridge0\x00', 0x10) sendmmsg$inet6(r0, &(0x7f0000001980)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000040)="8202", 0x2}], 0x1}}], 0x1, 0x4000c800) sendto$inet6(r0, &(0x7f00000000c0)="498156348d022aba07f00bd981000143b8de782b9687", 0x16, 0x0, 0x0, 0x0) 00:34:45 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000001c0)={0x12, 0x4, &(0x7f0000001300)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x8, 0x1, 0x2d}]}, &(0x7f0000000000)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 00:34:45 executing program 3: syz_open_dev$sg(&(0x7f0000000040), 0x0, 0x80) 00:34:45 executing program 5: r0 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) openat$capi20(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) preadv(r0, &(0x7f00000006c0)=[{&(0x7f0000000600)=""/142, 0x8e}], 0x1, 0xfffffff8, 0x0) 00:34:45 executing program 3: syz_open_dev$sg(&(0x7f0000000040), 0x0, 0x80) 00:34:46 executing program 1: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000001c0)={0x12, 0x4, &(0x7f0000001300)=@framed={{}, [@ldst={0x1, 0x2, 0x3, 0x8, 0x1, 0x2d}]}, &(0x7f0000000000)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 00:34:46 executing program 2: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000280)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x36, &(0x7f00000000c0)=ANY=[], 0x8) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @mcast2, 0x9}, 0x1c) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='bridge0\x00', 0x10) sendmmsg$inet6(r0, &(0x7f0000001980)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000040)="8202", 0x2}], 0x1}}], 0x1, 0x4000c800) sendto$inet6(r0, &(0x7f00000000c0)="498156348d022aba07f00bd981000143b8de782b9687", 0x16, 0x0, 0x0, 0x0) 00:34:46 executing program 3: syz_open_dev$sg(&(0x7f0000000040), 0x0, 0x80) 00:34:46 executing program 5: r0 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) openat$capi20(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) preadv(r0, &(0x7f00000006c0)=[{&(0x7f0000000600)=""/142, 0x8e}], 0x1, 0xfffffff8, 0x0) 00:34:46 executing program 4: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:46 executing program 0: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:46 executing program 3: syz_open_dev$sg(&(0x7f0000000040), 0x0, 0x80) 00:34:46 executing program 2: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000280)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x36, &(0x7f00000000c0)=ANY=[], 0x8) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @mcast2, 0x9}, 0x1c) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='bridge0\x00', 0x10) sendmmsg$inet6(r0, &(0x7f0000001980)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000040)="8202", 0x2}], 0x1}}], 0x1, 0x4000c800) sendto$inet6(r0, &(0x7f00000000c0)="498156348d022aba07f00bd981000143b8de782b9687", 0x16, 0x0, 0x0, 0x0) 00:34:46 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket(0xa, 0x3, 0x7) connect$vsock_stream(r0, &(0x7f0000000000), 0x10) 00:34:46 executing program 5: r0 = socket(0x1, 0x1, 0x0) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000440)=@base={0x12, 0x3, 0x8, 0x6, 0x0, 0x1}, 0x48) r2 = socket(0x1, 0x1, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r2}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r0, 0x1}, 0x20) 00:34:46 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket(0xa, 0x3, 0x7) connect$vsock_stream(r0, &(0x7f0000000000), 0x10) 00:34:46 executing program 2: r0 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) connect$inet6(r0, &(0x7f0000000280)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x36, &(0x7f00000000c0)=ANY=[], 0x8) connect$inet6(r0, &(0x7f0000000100)={0xa, 0x0, 0x0, @mcast2, 0x9}, 0x1c) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='bridge0\x00', 0x10) sendmmsg$inet6(r0, &(0x7f0000001980)=[{{0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000040)="8202", 0x2}], 0x1}}], 0x1, 0x4000c800) sendto$inet6(r0, &(0x7f00000000c0)="498156348d022aba07f00bd981000143b8de782b9687", 0x16, 0x0, 0x0, 0x0) 00:34:46 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1b, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x79, 0x10, 0x48}, [@ldst], {0x95, 0x0, 0x74}}, &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195}, 0x21) 00:34:46 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket(0xa, 0x3, 0x7) connect$vsock_stream(r0, &(0x7f0000000000), 0x10) 00:34:46 executing program 5: r0 = socket(0x1, 0x1, 0x0) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000440)=@base={0x12, 0x3, 0x8, 0x6, 0x0, 0x1}, 0x48) r2 = socket(0x1, 0x1, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r2}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r0, 0x1}, 0x20) 00:34:46 executing program 2: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@abs={0x1}, 0x8) listen(r0, 0x0) shutdown(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect(r1, &(0x7f0000985ff8)=@un=@abs={0x1}, 0x8) 00:34:47 executing program 4: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:47 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1b, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x79, 0x10, 0x48}, [@ldst], {0x95, 0x0, 0x74}}, &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195}, 0x21) 00:34:47 executing program 1: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket(0xa, 0x3, 0x7) connect$vsock_stream(r0, &(0x7f0000000000), 0x10) 00:34:47 executing program 5: r0 = socket(0x1, 0x1, 0x0) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000440)=@base={0x12, 0x3, 0x8, 0x6, 0x0, 0x1}, 0x48) r2 = socket(0x1, 0x1, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r2}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r0, 0x1}, 0x20) 00:34:47 executing program 2: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@abs={0x1}, 0x8) listen(r0, 0x0) shutdown(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect(r1, &(0x7f0000985ff8)=@un=@abs={0x1}, 0x8) 00:34:47 executing program 0: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:47 executing program 1: rt_sigprocmask(0x0, 0x0, 0x0, 0x0) 00:34:47 executing program 2: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@abs={0x1}, 0x8) listen(r0, 0x0) shutdown(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect(r1, &(0x7f0000985ff8)=@un=@abs={0x1}, 0x8) 00:34:47 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1b, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x79, 0x10, 0x48}, [@ldst], {0x95, 0x0, 0x74}}, &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195}, 0x21) 00:34:47 executing program 5: r0 = socket(0x1, 0x1, 0x0) r1 = bpf$MAP_CREATE(0x100000000000000, &(0x7f0000000440)=@base={0x12, 0x3, 0x8, 0x6, 0x0, 0x1}, 0x48) r2 = socket(0x1, 0x1, 0x0) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r2}, 0x20) bpf$MAP_UPDATE_ELEM(0x2, &(0x7f0000000140)={r1, &(0x7f0000000000), &(0x7f0000000100)=@tcp6=r0, 0x1}, 0x20) 00:34:47 executing program 1: rt_sigprocmask(0x0, 0x0, 0x0, 0x0) 00:34:47 executing program 2: r0 = socket$unix(0x1, 0x1, 0x0) bind$unix(r0, &(0x7f0000003000)=@abs={0x1}, 0x8) listen(r0, 0x0) shutdown(r0, 0x0) r1 = socket$unix(0x1, 0x1, 0x0) connect(r1, &(0x7f0000985ff8)=@un=@abs={0x1}, 0x8) 00:34:48 executing program 4: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:48 executing program 5: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)\x00'}, 0x58) r1 = accept4$alg(r0, 0x0, 0x0, 0x0) read$alg(r1, 0x0, 0x77020000) 00:34:48 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x1b, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x79, 0x10, 0x48}, [@ldst], {0x95, 0x0, 0x74}}, &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195}, 0x21) 00:34:48 executing program 1: rt_sigprocmask(0x0, 0x0, 0x0, 0x0) 00:34:48 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8933, &(0x7f0000000100)={'vcan0\x00', 0x0}) r2 = socket$can_bcm(0x1d, 0x2, 0x2) connect$can_bcm(r2, &(0x7f0000000000), 0x10) sendmsg$can_bcm(r2, &(0x7f0000000480)={&(0x7f0000000340)={0x1d, r1, 0x3f420f00}, 0x10, &(0x7f0000000040)={&(0x7f0000000580)=ANY=[@ANYBLOB="01000000d7fe68ca0000000000000000", @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=r0, @ANYBLOB="3bf81bb9f1"], 0x20000600}}, 0x0) r3 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, 0x0) 00:34:48 executing program 0: r0 = syz_io_uring_setup(0x87, &(0x7f0000000080), &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000040)=0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000240)={0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r3, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x450c, 0x0, 0x0, 0x0, 0x0) 00:34:48 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8933, &(0x7f0000000100)={'vcan0\x00', 0x0}) r2 = socket$can_bcm(0x1d, 0x2, 0x2) connect$can_bcm(r2, &(0x7f0000000000), 0x10) sendmsg$can_bcm(r2, &(0x7f0000000480)={&(0x7f0000000340)={0x1d, r1, 0x3f420f00}, 0x10, &(0x7f0000000040)={&(0x7f0000000580)=ANY=[@ANYBLOB="01000000d7fe68ca0000000000000000", @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=r0, @ANYBLOB="3bf81bb9f1"], 0x20000600}}, 0x0) r3 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, 0x0) 00:34:48 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r3 = socket$inet6(0xa, 0x3, 0x4) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r3, 0x29, 0x37, &(0x7f0000000340)=ANY=[], 0x18) sched_setscheduler(r0, 0x5, &(0x7f0000000000)=0x1) sendmmsg(r3, &(0x7f00000092c0), 0x4ff, 0x60000000) [ 703.161564][T16395] "syz-executor.5" (16395) uses obsolete ecb(arc4) skcipher 00:34:48 executing program 1: rt_sigprocmask(0x0, 0x0, 0x0, 0x0) 00:34:48 executing program 5: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)\x00'}, 0x58) r1 = accept4$alg(r0, 0x0, 0x0, 0x0) read$alg(r1, 0x0, 0x77020000) 00:34:48 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8933, &(0x7f0000000100)={'vcan0\x00', 0x0}) r2 = socket$can_bcm(0x1d, 0x2, 0x2) connect$can_bcm(r2, &(0x7f0000000000), 0x10) sendmsg$can_bcm(r2, &(0x7f0000000480)={&(0x7f0000000340)={0x1d, r1, 0x3f420f00}, 0x10, &(0x7f0000000040)={&(0x7f0000000580)=ANY=[@ANYBLOB="01000000d7fe68ca0000000000000000", @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=r0, @ANYBLOB="3bf81bb9f1"], 0x20000600}}, 0x0) r3 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, 0x0) 00:34:48 executing program 1: add_key$keyring(&(0x7f0000000080), 0x0, 0x0, 0x0, 0xffffffffffffffff) add_key$user(&(0x7f0000000000), 0x0, 0x0, 0x0, 0xfffffffffffffffe) r0 = add_key$keyring(&(0x7f0000000380), &(0x7f00000004c0)={'syz', 0x3}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$unlink(0x9, 0x0, r0) [ 703.319943][T16404] "syz-executor.5" (16404) uses obsolete ecb(arc4) skcipher 00:34:49 executing program 2: r0 = socket$unix(0x1, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r0, 0x8933, &(0x7f0000000100)={'vcan0\x00', 0x0}) r2 = socket$can_bcm(0x1d, 0x2, 0x2) connect$can_bcm(r2, &(0x7f0000000000), 0x10) sendmsg$can_bcm(r2, &(0x7f0000000480)={&(0x7f0000000340)={0x1d, r1, 0x3f420f00}, 0x10, &(0x7f0000000040)={&(0x7f0000000580)=ANY=[@ANYBLOB="01000000d7fe68ca0000000000000000", @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=0x0, @ANYRES64=r0, @ANYBLOB="3bf81bb9f1"], 0x20000600}}, 0x0) r3 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, 0x0) 00:34:49 executing program 5: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)\x00'}, 0x58) r1 = accept4$alg(r0, 0x0, 0x0, 0x0) read$alg(r1, 0x0, 0x77020000) 00:34:49 executing program 1: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:49 executing program 0: setitimer(0x0, &(0x7f0000000180)={{0x80000000000000}}, 0x0) 00:34:49 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r3 = socket$inet6(0xa, 0x3, 0x4) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r3, 0x29, 0x37, &(0x7f0000000340)=ANY=[], 0x18) sched_setscheduler(r0, 0x5, &(0x7f0000000000)=0x1) sendmmsg(r3, &(0x7f00000092c0), 0x4ff, 0x60000000) 00:34:49 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r3 = socket$inet6(0xa, 0x3, 0x4) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r3, 0x29, 0x37, &(0x7f0000000340)=ANY=[], 0x18) sched_setscheduler(r0, 0x5, &(0x7f0000000000)=0x1) sendmmsg(r3, &(0x7f00000092c0), 0x4ff, 0x60000000) 00:34:49 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r3 = socket$inet6(0xa, 0x3, 0x4) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r3, 0x29, 0x37, &(0x7f0000000340)=ANY=[], 0x18) sched_setscheduler(r0, 0x5, &(0x7f0000000000)=0x1) sendmmsg(r3, &(0x7f00000092c0), 0x4ff, 0x60000000) 00:34:49 executing program 1: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:50 executing program 5: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f00000001c0)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)\x00'}, 0x58) r1 = accept4$alg(r0, 0x0, 0x0, 0x0) read$alg(r1, 0x0, 0x77020000) [ 704.812295][T16423] "syz-executor.5" (16423) uses obsolete ecb(arc4) skcipher 00:34:50 executing program 2: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) [ 705.689732][T16434] "syz-executor.5" (16434) uses obsolete ecb(arc4) skcipher 00:34:51 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:51 executing program 1: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:51 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:51 executing program 2: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:51 executing program 1: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) 00:34:51 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r3 = socket$inet6(0xa, 0x3, 0x4) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_IPV6_RTHDRDSTOPTS(r3, 0x29, 0x37, &(0x7f0000000340)=ANY=[], 0x18) sched_setscheduler(r0, 0x5, &(0x7f0000000000)=0x1) sendmmsg(r3, &(0x7f00000092c0), 0x4ff, 0x60000000) 00:34:54 executing program 5: mkdir(&(0x7f0000000400)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000000)=ANY=[@ANYBLOB="1500000065ffff"], 0x15) r2 = dup(r1) mount$9p_fd(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), 0x0, &(0x7f0000000300)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r2}}) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000400)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000480)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}}) lstat(&(0x7f0000007640)='./file0\x00', 0x0) [ 709.007451][T16460] ================================================================== [ 709.015561][T16460] BUG: KASAN: use-after-free in __kernfs_remove+0xf2d/0x1180 [ 709.023057][T16460] Read of size 2 at addr ffff888033229180 by task syz-executor.5/16460 [ 709.031307][T16460] [ 709.033634][T16460] CPU: 0 PID: 16460 Comm: syz-executor.5 Not tainted 6.0.0-syzkaller-06205-gffb39098bf87 #0 [ 709.043743][T16460] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 [ 709.053821][T16460] Call Trace: [ 709.057124][T16460] [ 709.060060][T16460] dump_stack_lvl+0x1e3/0x2cb [ 709.064784][T16460] ? io_alloc_page_table+0x110/0x110 [ 709.070078][T16460] ? _printk+0xcf/0x10f [ 709.074321][T16460] ? __wake_up_klogd+0xd6/0x100 [ 709.079265][T16460] ? __wake_up_klogd+0xcd/0x100 [ 709.084145][T16460] ? panic+0x76b/0x76b [ 709.088237][T16460] ? _printk+0xcf/0x10f [ 709.092410][T16460] print_address_description+0x65/0x4b0 [ 709.098038][T16460] print_report+0x108/0x220 [ 709.102560][T16460] ? kernfs_put+0x340/0x490 [ 709.107079][T16460] ? kmem_cache_free+0x95/0x1d0 [ 709.111947][T16460] ? __kernfs_remove+0xf2d/0x1180 [ 709.116966][T16460] kasan_report+0xfb/0x130 [ 709.121372][T16460] ? __kernfs_remove+0xf2d/0x1180 [ 709.126389][T16460] __kernfs_remove+0xf2d/0x1180 [ 709.131236][T16460] ? kernfs_iop_rename+0x7d0/0x7d0 [ 709.136338][T16460] ? kernfs_find_ns+0x4d6/0x550 [ 709.141178][T16460] kernfs_remove_by_name_ns+0x96/0xe0 [ 709.146544][T16460] sysfs_slab_add+0x54/0x2a0 [ 709.151127][T16460] __kmem_cache_create+0x34/0x170 [ 709.156143][T16460] kmem_cache_create_usercopy+0x1a6/0x340 [ 709.161911][T16460] p9_client_create+0xbbe/0x1030 [ 709.166871][T16460] ? do_trace_9p_fid_put+0x20/0x20 [ 709.171985][T16460] ? lockdep_softirqs_off+0x420/0x420 [ 709.177369][T16460] ? __raw_spin_lock_init+0x41/0x100 [ 709.182659][T16460] v9fs_session_init+0x1e3/0x1990 [ 709.187755][T16460] ? v9fs_show_options+0x600/0x600 [ 709.192867][T16460] ? kmem_cache_alloc_trace+0x97/0x310 [ 709.198316][T16460] ? v9fs_mount+0xae/0xcb0 [ 709.202757][T16460] v9fs_mount+0xd2/0xcb0 [ 709.206993][T16460] ? xfs_fs_commit_blocks+0x8d0/0x8d0 [ 709.212354][T16460] ? legacy_init_fs_context+0x4d/0xb0 [ 709.217752][T16460] ? smack_sb_eat_lsm_opts+0x3cd/0x990 [ 709.223238][T16460] ? cap_capable+0x1b5/0x250 [ 709.227853][T16460] legacy_get_tree+0xea/0x180 [ 709.232520][T16460] ? xfs_fs_commit_blocks+0x8d0/0x8d0 [ 709.237882][T16460] vfs_get_tree+0x88/0x270 [ 709.242311][T16460] do_new_mount+0x289/0xad0 [ 709.246822][T16460] ? do_move_mount_old+0x160/0x160 [ 709.251923][T16460] ? user_path_at_empty+0x149/0x1a0 [ 709.257113][T16460] __se_sys_mount+0x2e3/0x3d0 [ 709.261778][T16460] ? __x64_sys_mount+0xc0/0xc0 [ 709.266530][T16460] ? syscall_enter_from_user_mode+0x2e/0x1d0 [ 709.272627][T16460] ? __x64_sys_mount+0x1c/0xc0 [ 709.277378][T16460] do_syscall_64+0x2b/0x70 [ 709.281783][T16460] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 709.287706][T16460] RIP: 0033:0x7fdd7ee8a5a9 [ 709.292107][T16460] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 709.311701][T16460] RSP: 002b:00007fdd800ad168 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 [ 709.320124][T16460] RAX: ffffffffffffffda RBX: 00007fdd7efabf80 RCX: 00007fdd7ee8a5a9 [ 709.328079][T16460] RDX: 0000000020000140 RSI: 0000000020000400 RDI: 0000000000000000 [ 709.336034][T16460] RBP: 00007fdd7eee5580 R08: 0000000020000480 R09: 0000000000000000 [ 709.343992][T16460] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 709.351947][T16460] R13: 00007ffeb9f1131f R14: 00007fdd800ad300 R15: 0000000000022000 [ 709.359910][T16460] [ 709.362914][T16460] [ 709.365223][T16460] Allocated by task 16457: [ 709.369619][T16460] __kasan_slab_alloc+0xb2/0xe0 [ 709.374457][T16460] kmem_cache_alloc+0x1a6/0x310 [ 709.379294][T16460] __kernfs_new_node+0xdb/0x730 [ 709.384132][T16460] kernfs_create_dir_ns+0x90/0x220 [ 709.389228][T16460] sysfs_create_dir_ns+0x181/0x390 [ 709.394326][T16460] kobject_add_internal+0x6dd/0xd10 [ 709.399610][T16460] kobject_init_and_add+0x123/0x190 [ 709.404793][T16460] sysfs_slab_add+0x80/0x2a0 [ 709.409368][T16460] __kmem_cache_create+0x34/0x170 [ 709.414376][T16460] kmem_cache_create_usercopy+0x1a6/0x340 [ 709.420087][T16460] p9_client_create+0xbbe/0x1030 [ 709.425009][T16460] v9fs_session_init+0x1e3/0x1990 [ 709.430019][T16460] v9fs_mount+0xd2/0xcb0 [ 709.434255][T16460] legacy_get_tree+0xea/0x180 [ 709.438915][T16460] vfs_get_tree+0x88/0x270 [ 709.443326][T16460] do_new_mount+0x289/0xad0 [ 709.447815][T16460] __se_sys_mount+0x2e3/0x3d0 [ 709.452476][T16460] do_syscall_64+0x2b/0x70 [ 709.456879][T16460] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 709.462764][T16460] [ 709.465074][T16460] Freed by task 16460: [ 709.469125][T16460] kasan_set_track+0x4c/0x70 [ 709.473701][T16460] kasan_set_free_info+0x1f/0x40 [ 709.478626][T16460] ____kasan_slab_free+0xd8/0x120 [ 709.483632][T16460] slab_free_freelist_hook+0x12e/0x1a0 [ 709.489079][T16460] kmem_cache_free+0x95/0x1d0 [ 709.493742][T16460] kernfs_put+0x340/0x490 [ 709.498061][T16460] __kernfs_remove+0xec0/0x1180 [ 709.502900][T16460] kernfs_remove_by_name_ns+0x96/0xe0 [ 709.508260][T16460] sysfs_slab_add+0x54/0x2a0 [ 709.512834][T16460] __kmem_cache_create+0x34/0x170 [ 709.517846][T16460] kmem_cache_create_usercopy+0x1a6/0x340 [ 709.523552][T16460] p9_client_create+0xbbe/0x1030 [ 709.528474][T16460] v9fs_session_init+0x1e3/0x1990 [ 709.533484][T16460] v9fs_mount+0xd2/0xcb0 [ 709.537715][T16460] legacy_get_tree+0xea/0x180 [ 709.542377][T16460] vfs_get_tree+0x88/0x270 [ 709.546777][T16460] do_new_mount+0x289/0xad0 [ 709.551349][T16460] __se_sys_mount+0x2e3/0x3d0 [ 709.556018][T16460] do_syscall_64+0x2b/0x70 [ 709.560426][T16460] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 709.566308][T16460] [ 709.568616][T16460] The buggy address belongs to the object at ffff8880332290e8 [ 709.568616][T16460] which belongs to the cache kernfs_node_cache of size 168 [ 709.583172][T16460] The buggy address is located 152 bytes inside of [ 709.583172][T16460] 168-byte region [ffff8880332290e8, ffff888033229190) [ 709.596429][T16460] [ 709.598736][T16460] The buggy address belongs to the physical page: [ 709.605130][T16460] page:ffffea0000cc8a40 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x33229 [ 709.615263][T16460] flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff) [ 709.622799][T16460] raw: 00fff00000000200 ffffea0000b27c00 dead000000000007 ffff8880121d4c80 [ 709.631366][T16460] raw: 0000000000000000 0000000000110011 00000001ffffffff 0000000000000000 [ 709.639925][T16460] page dumped because: kasan: bad access detected [ 709.646315][T16460] page_owner tracks the page as allocated [ 709.652015][T16460] page last allocated via order 0, migratetype Unmovable, gfp_mask 0x112cc0(GFP_USER|__GFP_NOWARN|__GFP_NORETRY), pid 11014, tgid 11014 (syz-executor.3), ts 414697077939, free_ts 376795308260 [ 709.670750][T16460] get_page_from_freelist+0x72b/0x7a0 [ 709.676183][T16460] __alloc_pages+0x259/0x560 [ 709.680762][T16460] alloc_slab_page+0x70/0xf0 [ 709.685339][T16460] allocate_slab+0x5e/0x520 [ 709.689829][T16460] ___slab_alloc+0x42e/0xce0 [ 709.694406][T16460] kmem_cache_alloc+0x25d/0x310 [ 709.699243][T16460] __kernfs_new_node+0xdb/0x730 [ 709.704080][T16460] kernfs_new_node+0x95/0x160 [ 709.708743][T16460] __kernfs_create_file+0x45/0x2e0 [ 709.713841][T16460] sysfs_add_file_mode_ns+0x21d/0x330 [ 709.719204][T16460] internal_create_group+0x55c/0xf50 [ 709.724476][T16460] sysfs_create_groups+0x5d/0x130 [ 709.729483][T16460] kobject_add_internal+0x723/0xd10 [ 709.734680][T16460] kobject_init_and_add+0x123/0x190 [ 709.739871][T16460] net_rx_queue_update_kobjects+0x1d0/0x4c0 [ 709.745815][T16460] netdev_register_kobject+0x222/0x310 [ 709.751283][T16460] page last free stack trace: [ 709.755935][T16460] free_pcp_prepare+0x812/0x900 [ 709.760770][T16460] free_unref_page+0x7d/0x630 [ 709.765435][T16460] skb_release_data+0x37a/0x6d0 [ 709.770293][T16460] __kfree_skb+0x56/0x1d0 [ 709.774608][T16460] __tcp_close+0x219/0xec0 [ 709.779019][T16460] tcp_close+0x26/0xb0 [ 709.783070][T16460] inet_release+0x184/0x1e0 [ 709.787572][T16460] sock_close+0xd7/0x260 [ 709.791826][T16460] __fput+0x3b9/0x820 [ 709.795831][T16460] task_work_run+0x146/0x1c0 [ 709.800445][T16460] get_signal+0x15d9/0x1780 [ 709.804951][T16460] arch_do_signal_or_restart+0x8d/0x750 [ 709.810517][T16460] exit_to_user_mode_loop+0x74/0x160 [ 709.815826][T16460] exit_to_user_mode_prepare+0xad/0x110 [ 709.821360][T16460] syscall_exit_to_user_mode+0x2e/0x60 [ 709.826806][T16460] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 709.832710][T16460] [ 709.835035][T16460] Memory state around the buggy address: [ 709.840651][T16460] ffff888033229080: 00 00 00 00 00 fc fc fc fc fc fc fc fc fa fb fb [ 709.848697][T16460] ffff888033229100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 709.856744][T16460] >ffff888033229180: fb fb fc fc fc fc fc fc fc fc fa fb fb fb fb fb [ 709.864785][T16460] ^ [ 709.868838][T16460] ffff888033229200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fc [ 709.876882][T16460] ffff888033229280: fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb fb [ 709.885011][T16460] ================================================================== [ 709.967474][T16460] Kernel panic - not syncing: panic_on_warn set ... [ 709.974119][T16460] CPU: 0 PID: 16460 Comm: syz-executor.5 Not tainted 6.0.0-syzkaller-06205-gffb39098bf87 #0 [ 709.984196][T16460] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 [ 709.994266][T16460] Call Trace: [ 709.997552][T16460] [ 710.000481][T16460] dump_stack_lvl+0x1e3/0x2cb [ 710.005234][T16460] ? io_alloc_page_table+0x110/0x110 [ 710.010538][T16460] ? panic+0x76b/0x76b [ 710.014691][T16460] ? preempt_schedule_common+0xb7/0xe0 [ 710.020145][T16460] ? preempt_schedule+0xd9/0xe0 [ 710.025008][T16460] ? vscnprintf+0x59/0x80 [ 710.029397][T16460] panic+0x316/0x76b [ 710.033291][T16460] ? fb_is_primary_device+0xcc/0xcc [ 710.038481][T16460] ? _raw_spin_unlock_irqrestore+0x128/0x130 [ 710.044454][T16460] ? __kernfs_remove+0xf2d/0x1180 [ 710.049471][T16460] end_report+0x91/0xa0 [ 710.053622][T16460] kasan_report+0x108/0x130 [ 710.058113][T16460] ? __kernfs_remove+0xf2d/0x1180 [ 710.063133][T16460] __kernfs_remove+0xf2d/0x1180 [ 710.068068][T16460] ? kernfs_iop_rename+0x7d0/0x7d0 [ 710.073171][T16460] ? kernfs_find_ns+0x4d6/0x550 [ 710.078011][T16460] kernfs_remove_by_name_ns+0x96/0xe0 [ 710.083377][T16460] sysfs_slab_add+0x54/0x2a0 [ 710.087955][T16460] __kmem_cache_create+0x34/0x170 [ 710.092972][T16460] kmem_cache_create_usercopy+0x1a6/0x340 [ 710.098687][T16460] p9_client_create+0xbbe/0x1030 [ 710.103616][T16460] ? do_trace_9p_fid_put+0x20/0x20 [ 710.108715][T16460] ? lockdep_softirqs_off+0x420/0x420 [ 710.114080][T16460] ? __raw_spin_lock_init+0x41/0x100 [ 710.119375][T16460] v9fs_session_init+0x1e3/0x1990 [ 710.124418][T16460] ? v9fs_show_options+0x600/0x600 [ 710.129550][T16460] ? kmem_cache_alloc_trace+0x97/0x310 [ 710.135030][T16460] ? v9fs_mount+0xae/0xcb0 [ 710.139450][T16460] v9fs_mount+0xd2/0xcb0 [ 710.143694][T16460] ? xfs_fs_commit_blocks+0x8d0/0x8d0 [ 710.149062][T16460] ? legacy_init_fs_context+0x4d/0xb0 [ 710.154432][T16460] ? smack_sb_eat_lsm_opts+0x3cd/0x990 [ 710.159887][T16460] ? cap_capable+0x1b5/0x250 [ 710.164469][T16460] legacy_get_tree+0xea/0x180 [ 710.169135][T16460] ? xfs_fs_commit_blocks+0x8d0/0x8d0 [ 710.174500][T16460] vfs_get_tree+0x88/0x270 [ 710.178906][T16460] do_new_mount+0x289/0xad0 [ 710.183397][T16460] ? do_move_mount_old+0x160/0x160 [ 710.188493][T16460] ? user_path_at_empty+0x149/0x1a0 [ 710.193687][T16460] __se_sys_mount+0x2e3/0x3d0 [ 710.198352][T16460] ? __x64_sys_mount+0xc0/0xc0 [ 710.203099][T16460] ? syscall_enter_from_user_mode+0x2e/0x1d0 [ 710.209067][T16460] ? __x64_sys_mount+0x1c/0xc0 [ 710.213816][T16460] do_syscall_64+0x2b/0x70 [ 710.218219][T16460] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 710.224102][T16460] RIP: 0033:0x7fdd7ee8a5a9 [ 710.228503][T16460] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 710.248098][T16460] RSP: 002b:00007fdd800ad168 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 [ 710.256497][T16460] RAX: ffffffffffffffda RBX: 00007fdd7efabf80 RCX: 00007fdd7ee8a5a9 [ 710.264458][T16460] RDX: 0000000020000140 RSI: 0000000020000400 RDI: 0000000000000000 [ 710.272415][T16460] RBP: 00007fdd7eee5580 R08: 0000000020000480 R09: 0000000000000000 [ 710.280371][T16460] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 710.288413][T16460] R13: 00007ffeb9f1131f R14: 00007fdd800ad300 R15: 0000000000022000 [ 710.296376][T16460] [ 710.299438][T16460] Kernel Offset: disabled [ 710.309743][T16460] Rebooting in 86400 seconds..