fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x1017e0}, {&(0x7f000007a4c0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x181000}, {&(0x7f000007a8e0)='syzkallers\x00'/32, 0x20, 0x181800}, {&(0x7f000007a900)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x184800}, {&(0x7f000007a980)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff01000000000000010000000200000027ae641409ef136d000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f000007aa60)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="0081c9ebdb405d92826cccf676fe53ab3e9649b3278c8cc3f851125234a56606525da7d203d78a5c50ff60eecd9998fc175336c0a60a685f9e4311430d6fd1da4ba6bde93a87b1efcecd19"], 0x1) (async) ioctl$KDADDIO(0xffffffffffffffff, 0x4b34, 0x3) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) (async) r2 = syz_open_dev$dri(&(0x7f0000000180), 0x0, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000040)={0x80, 0xbf, 0x7e, 0x0, 0x0}) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) (async) ioctl$DRM_IOCTL_MODE_GETRESOURCES(r2, 0xc04064a0, &(0x7f0000000240)={&(0x7f0000000080)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], &(0x7f00000000c0)=[0x0], &(0x7f0000000140)=[0x0, 0x0], &(0x7f00000001c0)=[0x0, 0x0], 0x7, 0x1, 0x2, 0x2}) (async) close(r1) ioctl$DRM_IOCTL_MODE_DESTROY_DUMB(r2, 0xc00c642d, &(0x7f0000000100)={r3}) (async) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f00000002c0)=0x2) (async) socketpair(0x2a, 0x1, 0x1f, &(0x7f0000000280)={0xffffffffffffffff}) ioctl$sock_bt_hci(r4, 0x800448d3, &(0x7f0000000300)="d728975f23bc3143914c8b4ca1c6739c55175e6299f4fbfa1369e5f049d51d52214193a5e04dfb138e6916c7bb4524db8870994152a9ce24d306c7fc27daea15db2b2b2acb8d38c61f7103960775449bd2e3d838c82e8cd21ad8b0adf8f21f2e89159fbe") (async, rerun: 32) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="0000000002"], 0xd) (rerun: 32) 03:37:58 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffff", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 5: syz_mount_image$ntfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x123004, 0x90, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000100100000000000000f8000000000000000000000000000080008000ff010000000000000400000000000000f8000000000000000100000001000000aa1cb4684d356101000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0}, {&(0x7f00000100e0)="0010000100008fb10202000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f00000385e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xcc8}, {&(0x7f0000010100)="ffff0007000000003f00"/32, 0x20, 0x2000}, {&(0x7f0000010120)="46494c453000090000000000000000000100010048000100a80100000010000000000000000000000400000000000000080000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100b001000000000000b00100000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a00000000000000400000000000000000b004000000000000600400000000000060040000000000113f04210c3f0100b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00"/448, 0x1c0, 0x4000}, {&(0x7f00000102e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x41e0}, {&(0x7f0000000040)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x43e0}, {&(0x7f0000010320)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x45e0}, {&(0x7f0000010340)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x47e0}, {&(0x7f0000010360)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x49e0}, {&(0x7f0000010380)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x4be0}, {&(0x7f00000103a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x4de0}, {&(0x7f00000103c0)="000000000000000000000000000000000000000000000000000000000000080046494c4530000900000000000000000001000100480001006801000000100000000000000000000003000000010000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801004000000000000000400000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000040000000000000004000000000000000400000000000002104ff0000000000ffffffff00"/416, 0x1a0, 0x4fe0}, {&(0x7f0000010560)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x51e0}, {&(0x7f0000010580)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x53e0}, {&(0x7f00000105a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x55e0}, {&(0x7f00000105c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x57e0}, {&(0x7f00000105e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x59e0}, {&(0x7f0000010600)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x5be0}, {&(0x7f0000010620)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x5de0}, {&(0x7f0000010640)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000002000100480001006801000000100000000000000000000003000000020000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000004d3f000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140030100000000ffffffff00"/416, 0x1a0, 0x5fe0}, {&(0x7f00000107e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x61e0}, {&(0x7f0000010800)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x63e0}, {&(0x7f0000010820)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x65e0}, {&(0x7f0000010840)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x67e0}, {&(0x7f0000010860)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x69e0}, {&(0x7f0000010880)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x6be0}, {&(0x7f00000108a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x6de0}, {&(0x7f00000108c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000300010048000100f001000000100000000000000000000006000000030000000200000000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff0000000000000000000000000000000000000200", 0x220, 0x6fe0}, {&(0x7f0000010ae0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x73e0}, {&(0x7f0000010b00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x75e0}, {&(0x7f0000010b20)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x77e0}, {&(0x7f0000010b40)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x79e0}, {&(0x7f0000010b60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x7be0}, {&(0x7f0000010b80)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x7de0}, {&(0x7f0000010ba0)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000400010048000100a00b000000100000000000000000000004000000040000000200000000005400000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000a000000000000000a0000000000000600000000000000080324004100740074007200440065006600000000000000500000008000000000001800000003006400000018000000010004804800000054000000000000001400000002003400020000000000140089001200010100000000000512000000000018008900120001020000000000052000000020020000010100000000000512000000010200000000000520000000200200000000000080000000180a00000000180000000100000a00001800000024005300540041004e0044004100520044005f0049004e0046004f0052004d004100540049004f004e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000100000000000000000000000400000003000000000000000480000000000000024004100540054005200490042005500540045005f004c00490053005400"/640, 0x280, 0x7fe0}, {&(0x7f0000010e20)="000000000000000000000000000000000000000000000000200000000000000000000000800000000000000000000000ffffffffffffffff2400460049004c0045005f004e0041004d004500"/96, 0x60, 0x82a0}, {&(0x7f0000010e80)="000000000000000000000000000000000000000000000000300000000000000000000000420000004400000000000000420200000000000024004f0042004a004500430054005f0049004400"/96, 0x60, 0x8340}, {&(0x7f0000010ee0)="00000000000000000000000000000000000000000000000040000000000002000000000040000000000000000000000000010000000000002400530045004300550052004900540059005f00440045005300430052004900500054004f005200", 0x60, 0x83e0}, {&(0x7f0000010f40)="000000000000000000000000000000000000000000000000500000000000000000000000800000000000000000000000ffffffffffffffff240056004f004c0055004d0045005f004e0041004d004500"/96, 0x60, 0x8480}, {&(0x7f0000010fa0)="0000000000000000000000000000000000000000000000006000000000000000000000004000000002000000000000000001000000000000240056004f004c0055004d0045005f0049004e0046004f0052004d004100540049004f004e000000", 0x60, 0x8520}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000700000000000000000000000400000000c000000000000000c0000000001000000000000000002004100"/96, 0x60, 0x85c0}, {&(0x7f0000011060)="000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000ffffffffffffffff240049004e004400450058005f0052004f004f005400"/96, 0x60, 0x8660}, {&(0x7f00000110c0)="000000000000000000000000000000000000000000000000900000000000000000000000400000000000000000000000ffffffffffffffff240049004e004400450058005f0041004c004c004f0043004100540049004f004e00000000000000", 0x60, 0x8700}, {&(0x7f0000011120)="000000000000000000000000000000000000000000000000a00000000000000000000000800000000000000000000000ffffffffffffffff24004200490054004d00410050000000000000000000000000000000000000000000000000000200", 0x60, 0x87a0}, {&(0x7f0000011180)="000000000000000000000000000000000000000000000000b00000000000000000000000800000000000000000000000ffffffffffffffff240052004500500041005200530045005f0050004f0049004e005400"/96, 0x60, 0x8840}, {&(0x7f00000111e0)="000000000000000000000000000000000000000000000000c0000000000000000000000080000000000000000000000000400000000000002400450041005f0049004e0046004f0052004d004100540049004f004e00"/96, 0x60, 0x88e0}, {&(0x7f0000011240)="000000000000000000000000000000000000000000000000d0000000000000000000000040000000080000000000000008000000000000002400450041000000", 0x40, 0x8980}, {&(0x7f0000011280)="00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000001000000000024004c004f0047004700450044005f005500540049004c004900540059005f00530054005200450041004d00"/192, 0xc0, 0x89e0}, {&(0x7f0000011340)="00000000000000000000000000000000000000000000000000010000000000000000000080000000000000000000000000000100"/64, 0x40, 0x8ac0}, {&(0x7f0000000180)="000000000000000000000000000000000000000000000000ffffffff00000000", 0x20, 0x8b80}, {&(0x7f00000113a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x8be0}, {&(0x7f00000113c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x8de0}, {&(0x7f00000113e0)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000005000100480003001002000000100000000000000000000006000000050000000700300000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d801abc4234c9fc6d801abc4234c9fc6d8018041214b9fc6d8012620000000000000000000000000000030000000600000000000180000000100440000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a000000050000000010440000000050000000000000000000000000000000000480000000000000000100000000000000010000000000000001000000000000024004900330030001101450000000000b0000000280000000004180000000400080000002000000024004900330007000100000000000000ffffffff00"/576, 0x240, 0x8fe0}, {&(0x7f0000011620)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x93e0}, {&(0x7f0000011640)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x95e0}, {&(0x7f0000011660)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x97e0}, {&(0x7f0000011680)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x99e0}, {&(0x7f00000116a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x9be0}, {&(0x7f00000116c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x9de0}, {&(0x7f00000116e0)="000000000000000000000000000000000000000000000000000000000000070046494c4530000900000000000000000006000100480001006001000000100000000000000000000003000000060000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000680000000000180000000200500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000400000000000000040000000000000001101460000000000ffffffff00000000", 0x180, 0x9fe0}, {&(0x7f0000011860)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa1e0}, {&(0x7f0000011880)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa3e0}, {&(0x7f00000118a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa5e0}, {&(0x7f00000118c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa7e0}, {&(0x7f00000118e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa9e0}, {&(0x7f0000011900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xabe0}, {&(0x7f0000011920)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xade0}, {&(0x7f0000011940)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000700010048000100c801000000100000000000000000000004000000070000000200000000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80106000000000000000000000000000000300000006800000000001800000002004c0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010020000000000000002000000000000006000000000000000503240042006f006f007400000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000020000000000000002000000000000000200000000000001102000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0xafe0}, {&(0x7f0000011b60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb3e0}, {&(0x7f0000011b80)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb5e0}, {&(0x7f0000011ba0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb7e0}, {&(0x7f0000000080)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb9e0}, {&(0x7f0000011be0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xbbe0}, {&(0x7f0000011c00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xbde0}, {&(0x7f0000011c20)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000008000100480001008801000000100000000000000000000004000000080000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000300520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff010000000000ffffffff00"/448, 0x1c0, 0xbfe0}, {&(0x7f0000011de0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc1e0}, {&(0x7f0000011e00)="0000000000000000000000000000000000000000000000000000000009000200", 0x20, 0xc3e0}, {&(0x7f0000011e20)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc5e0}, {&(0x7f0000011e40)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc7e0}, {&(0x7f0000011e60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc9e0}, {&(0x7f0000011e80)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xcbe0}, {&(0x7f0000011ea0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xcde0}, {&(0x7f0000011ec0)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000900010048000900b802000000100000000000000000000005000000090000000200490000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600002000000000000000000000000000000000010100000000000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000fc00040000000000fc000400000000002400530044005300114147000000000090000000b00000000004180000000300900000002000000024005300440048000000000012000000001000000100000010000000800000008000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490002000000000000000000100000000200000090000000a000000000041800000004008000000020000000240053004900490000000000100000000010000001000000100000007000000070000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c00000000000000000000001000000002000000ffffffff00"/736, 0x2e0, 0xcfe0}, {&(0x7f00000121a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd3e0}, {&(0x7f00000121c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd5e0}, {&(0x7f00000121e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd7e0}, {&(0x7f0000012200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd9e0}, {&(0x7f0000012220)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xdbe0}, {&(0x7f0000012240)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xdde0}, {&(0x7f0000012260)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000a00010048000100a8010000001000000000000000000000040000000a0000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000680000000000180000000300500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f0000000000000040000000000000000000020000000000000002000000000000000200000000002120880000000000800000004800000000051800000002002000000028000000240049006e0066006f0000000000000020000000000000000c691b6b777edcda00000000000000000000000000000000ffffffff00"/480, 0x1e0, 0xdfe0}, {&(0x7f0000012440)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe1e0}, {&(0x7f0000012460)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe3e0}, {&(0x7f0000012480)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe5e0}, {&(0x7f00000124a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe7e0}, {&(0x7f00000124c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe9e0}, {&(0x7f00000124e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xebe0}, {&(0x7f0000012500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xede0}, {&(0x7f0000012520)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000b0001004800030090020000001000000000000000000000030000000b0000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000010100000000000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640090000000780100000004180000000200580100002000000024004900330030003000000001000000001000000100000010000000480100004801000000000000190000000000010060004e00000000000b00000000000b008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000000000000000000000000000000002600002000000000060324004f0062006a00490064000000180000000000010060004e00000000000b00000000000b008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000260000200000020006032400510075006f007400610000001a0000000000010068005200000000000b00000000000b008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000260000200000000008032400520065007000610072007300650000000000000000000000000000001000000002000000ffffffff00"/704, 0x2c0, 0xefe0}, {&(0x7f00000127e0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf3e0}, {&(0x7f0000012800)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf5e0}, {&(0x7f0000012820)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf7e0}, {&(0x7f0000012840)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf9e0}, {&(0x7f0000012860)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xfbe0}, {&(0x7f0000012880)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xfde0}, {&(0x7f00000128a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xffe0}, {&(0x7f00000179c0)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000001800d80100000000000000000000000000000000000000000400000000000400680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000a000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000001000800000000000800680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000803240042006100640043006c00750073000000000007000600000000000600600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b00600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc618008041214b9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e0064000200000000000200680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100b001000000000000b00100000000000600000000000000040324004d00460054000000000000000100000000000100680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801004000000000000000400000000000000600000000000000080324004d00460054004d006900720072000000020000000900000000000900600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a00600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000002000000180000000200000000000600000000000000070324005500700043006100730065000300000000000300600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d0065000500000000000500580044000000000005000000000005008041214b9fc6d801abc4234c9fc6d801abc4234c9fc6d8018041214b9fc6d80100000000000000000000000000000000262000100000000001032e00000000004500000000000100680054000000000005000000000005005cc4234c9fc6d801fbc9234c9fc6d801fbc9234c9fc6d8015cc4234c9fc6d8016800000000000000640000000000000020000000000000000900660069006c0065002e0063006f006c00640000000000400000000000010060004c00000000000500000000000500c375234c9fc6d8014792234c9fc6d8014792234c9fc6d801c375234c9fc6d8010000000000000000000000000000000020000010000000000500660069006c006500300000000000430000000000010060004c00000000000500000000000500c29c234c9fc6d8011ca3234c9fc6d801fca8234c9fc6d801c29c234c9fc6d80110000000000000000a0000000000000020000000000000000500660069006c0065003100000018", 0x5ff, 0x45000}, {&(0x7f00000180a0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x457e0}, {&(0x7f00000000c0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x459e0}, {&(0x7f00000180e0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x45be0}, {&(0x7f0000000140)="e43a366f000000f4ffffffff000000000000000000000000000086011e0f54bc193aa937eadfa1ac", 0x28, 0x45de0}, {&(0x7f0000018120)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x45fe0}, {&(0x7f0000018380)="00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e001f0020002100220023002400250026002700280029002a002b002c002d002e002f0030003100320033003400350036003700380039003a003b003c003d003e003f0040004100420043004400450046004700480049004a004b004c004d004e004f", 0x9f, 0x88000}, {&(0x7f0000038380)="46494c453000090000000000000000000100010048000100a80100000010000000000000000000000400000000000000080000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100b001000000000000b00100000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a00000000000000400000000000000000b004000000000000600400000000000060040000000000113f04210c3f0100b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff", 0x1a4, 0xff000}, {&(0x7f0000038540)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff1e0}, {&(0x7f0000038560)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff3e0}, {&(0x7f0000038580)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff5e0}, {&(0x7f00000385a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff7e0}, {&(0x7f00000385c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff9e0}, {&(0x7f0000038600)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xffde0}, {&(0x7f0000038620)="000000000000000000000000000000000000000000000000000000000000080046494c4530000900000000000000000001000100480001006801000000100000000000000000000003000000010000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801004000000000000000400000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000040000000000000004000000000000000400000000000002104ff0000000000ffffffff0000", 0x186, 0xfffe0}, {&(0x7f00000387c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f00000387e0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1003e0}, {&(0x7f00000001c0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1005e0}, {&(0x7f0000038820)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1007e0}, {&(0x7f0000038840)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1009e0}, {&(0x7f0000038860)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x100be0}, {&(0x7f0000038880)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x100de0}, {&(0x7f00000388a0)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000002000100480001006801000000100000000000000000000003000000020000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140030100000000ffffffff", 0x184, 0x100fe0}, {&(0x7f0000038a40)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1011e0}, {&(0x7f0000038a60)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1013e0}, {&(0x7f0000038a80)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1015e0}, {&(0x7f0000038aa0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1017e0}, {&(0x7f0000038ac0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1019e0}, {&(0x7f0000038ae0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x101be0}, {&(0x7f0000038b00)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x101de0}, {&(0x7f0000038b20)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000300010048000100f001000000100000000000000000000006000000030000000200000000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000002", 0x21f, 0x101fe0}, {&(0x7f0000038d40)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1023e0}, {&(0x7f0000038d60)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1025e0}, {&(0x7f0000038d80)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1027e0}, {&(0x7f0000038da0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1029e0}, {&(0x7f0000038dc0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x102ba0}, {&(0x7f0000038de0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x102de0}, {&(0x7f0000038e00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x102fe0}], 0x0, &(0x7f000007a5e0), 0x1) 03:37:58 executing program 1: syz_mount_image$v7(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0xda1c, 0x3, &(0x7f0000000140)=[{&(0x7f0000001400)="1f06cd849afd", 0x6}, {&(0x7f0000000400)="ef6996153c19fae38e2aa1e1160d05db4d6094b83bf7633d42c566128824d6475f539221b8c48fb4760995c2bba438f7ab32ddfd4723c6567c331b6de341cea2e70228da2f6aaf6766e1e623bdae0484b551e769a0ca5ee89586a68aedb6d793da44c2c84dc25a26afc897b8d866b27059486dadba4f72a5e50d4f49c86e1a01775d00537e5e493974a6eefcfad41ecc12ac86f66da9e3a23b32980d3bd06bb4db988c4d7c01e99ce612bbd335b8ff8046a01cc8310e6e54e592f5cf0b8d95ee1b44a45778bac3506de11af082ef51b19ad28bdb434fd8c182f3f5a7b5c6d106cc40ab2912b23fc2df709f8bbc6728a21c4401c993eb1be02e157a1f098b9d1494665ef73af077932ced858923cf9298c864769d87ad120e157cb4a970e19025406f7a7ebd609ef63bebc00c2b3926b715a5c38e7b9b2c89b679bf8bc9d2e51044f1308887f866e135a355dedeff7d06e5c9042766246071e7fb55f832ff3b814167bfb3950b575139bb202f8a0cfef85d746b234e3db1c5681faf9d027bc0edd3bb95b27c6b57416161df7b160cab5922fcd4e69f0ffd19ee2f354bf6e1811028a73fa4c7b2c7222ee6b81e1f7c82f411236c15a33316b0c0c8bd208c38ac0a0f2eba5b8f6f709ccd8eb6981b45b390014d6b90ec429567f509bb59215920e4610ff55d8c88ed2ee04561de933d7e3b7942bc6bf976560439ce6b9f23bd684d8f1cda2025347fc1192106ce35b1611d8d4048a1c831def36f586076f33447d9bb5c040e2457bf0d90dfbfbe712ca531ce047adfeeb6d1e9f373f6510815abeb9ca81bb29b204d88a714207d7416c48480d1c6b3a2df088ef007117e7459dd6c707cde41406008ef9c88dc6b0538da89e2d51ffbabf8489a17a0cda95460545e4bf09623e7ddf127cefde26a423a726c1fb0b8dcd543c1d3747dcec2bce4af935c4ad603504f7663fbd452f2fafa6636621011e06f259b5da9d470a6d5f6105d39d3ecbad7fd5ac579588195873fa806527ddc74ab011555a91cd87f0635472bee02a0e9ee367c090ee406b52e3f263391e7056206702b286179529caffff25ad3058f386de3123c16f5a1a058223eafedabe40b2e948864540ef1125ccaa07c623298c05b8c814cd48949e26545e6e1ac4737485efd1942018686758542327172792d8c912e78b05a93ffb2b831b8c8309e72ae9db6007c9d21332a09122b59eadfc800a41a73347c7591344d06f2a6d1e61965ee536e1d6b50324d4c965d1bf85c54dd5b49ee8485d7adf8e27b1869040f7f12bf1467a8a18d89ac3d274bb75e503840d43c24f677ca5cacc139eb945c61723c27b1c15e5e50cc85f2367ca79d22c4a6ecc777d518ca04fab2d3ef6dd2a4f63af789c3c3e429f68311472c7bc1e72f58e0024277b78897ee8cb18f6927c3e83ff9ec506a394330fc97af504fdad18ccc15ce93590e1a97721831f4037d401a336b8394d305d4162ed8042c4ddda807747b9f3056f30ba70c570f5ba1c9cec38502f1f4775590e36a3c862947f0a2a4c4d04b2cf98762651ab3037dacb32ee52703e832b27ec533236f217e47e50abe98e31d78199da4f069dc6a30b99932809132820de28ddcec856994e0ae02d5f53ebdae61fffd2b0fa479f1c72c1f723c43942d33e2f87c29b50e8d66b5121fc11a320c9d0ebcc10bfec202accb882403da20ddcb14fe8848d0069fa65b103ba2b29d2fa05de73bbbd2bdccbf5e7dbd1d6f9e35618e75e573595b06323a5e69c8de17e9b091c0c69438be83b44c2b7ac4059ba1d6b7f5864b54d33b45ecb4fec6398f704f4b3f8b362af7fde6b35febb2fcf2b02b3c2e7fc06c68298f2ed669faf231c6490d2c87699d6e810b7fcab91db37591f5da72cb8bad429e3a4aa469b7b2bc7ffb025b5b4612aa62babb2ff604aa35fc738d73daff141aa55e51b14366520a162449a820668b45aed06cf3ca16ed2d6b81cc288fb64c347ce692eb31f3dc1eb3cee26cd6bf51cb4f758df53a1d533bd7f0628584a094e6ab6339a64dffce710ddd8e75f82ee1e7c656975385ce5fd033883b30f0eb1410ee5b96aa5125a8f49311488a8fbd95d7f945774229a091060c4d0bae1a8808681be7b7bbd29b79b98dbae76622de55d4736f364add7b87f37e91511f4a72d160093b129d63bb9942bf974d8251330d8dbfcfa14d263beeea50ceae9b0b10286073a584d523929ec36a854307327a7240589761d2cda4f27bf4892e37220a7be59bfccc67fa12fdb6b808ac620aba175fd208620d8ca9b19e0ce934468b58ddc1fbb1958cbcc31978c85682a80a4c18450fa8dc92cc76d2d59ee92a1dbe4f3e8f72fbae15fb3e928c5dc274d8cf9b0d5c901db060afb6f6cd122a24724f41fbd8f596663099feee9e67d078c5eb9e5498645817688b7402b6a4bf5c53a81b9e03650e3ba1121db17c484c26df205ac77f40a7f4c92be3572a02769f257615262ab8a7474d37685e3f670b4b36bdbe01fa3048072af7152fa6ed6fb3638fd8ece33b2982560cf8ad94908d4e122a4835d40cd5c437a13edc770dd495d6ca2239ac331ae0dcf0d9d81e8aadb6e957decef520d22242f39330d325f8fa297a8cd5787293f5cb9bacbbdb2c864af5cb5bc9fe99e728472b00ae9e8c70fd32ae5e8d52a5bebc60d4c53821ee5728bf7cb64fdaa8ae11803eb8b6c9a30584026877b541d53d7f468cbfa8981fac16b1875bbdbf9bf1c66832aeb4238138353f637ddeac97dac11918617275c914857fb861ec5d92b0c65c344434eb12f54452c5ffb9f9f7b6095acede7f19dbed687db934614cd3d20206b7ff4a1dfe1575b6956d8e4366d39226bd08010af9e4e275e4c7e1769f469d826b8aa3352fca91cfd752a5ad5e6aee5429c5873d847be5ab9271c0b339d27c07246cc8e01dcbbd3efe3f58232fa380155c49336f89555e259360f933f1ab5d0a7d81dfe46c965bd0725f46e9ddd88ef4dd6d4dbe8e0c5e1d07cf6049e8a9ddd346229f3a6c7da594689dbbd23aac858c03c5426e36daf24f65bbec4d22460ce39cc3b088f09cf334d0a517c27f2c843513dd7c204fe70cb77cdbb80ed8370f4dea7f3b9c224de338bc024058bc6758c17a30646d2c2e9b3ff97adcb0b4f9e84ec2c9ff7f5efd5b10d79623e70f283d82204ebdfc41959d4e9fdd44c8a2d349d6d1a1b41d02050b27cdf8c4d34881e7fd44498ba8df72ed4451a3ca1e61163342ddb3d613341d5732b6dfa0d60c067637815a290b06a78f7c6e2beb0a0675d27ac92c7c2bfde1cf8ec7307425c175738e25d6e9112d43abde99c6bf99cb246dabf9b47435e5287bd43aba8ab2db39f89472dcc047f0b7cd198f745a7731e402850a0d133a2d416fedf6f4b39c726bffeacbf4b630c8bb90d0dd9d71c8a8fee326cadf3c5042cbb0bd719f671f670223fcbd75e23a36a6864a129e9a3795a26f78c944b1a1184a10864352542ba1ce02aaf9a55a67226c42ae948501da40e5af84c129cff1dd2a61499e87cd816f705abd14fbebeed687bdd7c72670cc9621a97b3ad6186001c69706c6551f1a052219d596793ad3ca19b793838ab85fc40fe91aacf96d0de014b151c1304f61f9232f4ca350289f28ba9c0f94a33d3387d363aa7bb5453b004afa547b2725e2c010d0a15848455719655e89c2287d47f8c37b2b8e6ff3e727a2f9414b270a256c5e4b2ab4fabe6d19c89d5f9c1b302af878bc631f1611f0118186a46b3422b8e120392c4b924a98b513ec025eb6a7ec6eef72245694d4d3fb85fa8e0f36c1a16b28144070fe4fc5a6a0f0441e6bd359cac50da17d9d594ed19277f9aa5988770f23974ce516023fae76671856a39c3dd47ea148cd98e0c7e4c701aa4c50583c87c571b249049705cbd079c7048ad4efc87b54f781c484db8ac9bb8d7cdee9f0f91a56bc58b6f667480e7d13e17f63f751156f0355d1165c20ad517396c3e374c71cd0644a1066993c7b54abcc9ee1045be272f215a3cf879c84cb74a6b78a4d5bc45583f938b187d19e999932c0f0c7b509e6a1430c66485d258d2c8186fcc6c9dfc1c0751a18d35915e74be415466c3ba0a029dd8a0ef38a71fa543e3cf23d306eaf3dbd49211898a1fdf4d0573e282eb49a0259c8be487985a1b433d3dc6961e27d98fa3fa50217a6639355cecf8cc6d9d30df4e43335ee21742bfea81dae93c35a7f7d3ee44a059eab066d05d0ba5c12a9a25af95030801e645d0c093f0ea8d4696c3c84c8a8827498df48be18003b6bec3c928654d9d17c8deb666caa3cf2ec78116c63ffba811114ce2c17157f9268931f0009580eb15895c06535aa04c553c068a9af3838c9625ce6f8979e245976a0918d1a0243c49dc4f23399205075b6a086ed0091a60e595b929a1684206e043f8f591199b34d68a460ef51daf6e9cedf7d1b7ddf306114b810b63ae6c0d5b3f96db9e327f8e80b66a97c3477408f6bec4379062937ae27808ef77c70791094192af20385226392f6791cf539ff38fe55f34a9f1fd8add80e64ddb11ad42ddd0e0c07ee27cda511e7afbb5ff43ceb12038708b3514dfd8c8011472ed316264f2679958f2ff6cb8b43173a90bdb2db953ef534a59206436d20c314b4f6aefe1bf9c0001158c42e7c03a815095f84284fab5c3ae14cfb7ac1c0ab573ac57501ff8df6aec6b1d04cf90abf27b48e24a229b57835024907851970eb6401737f83679b8d0189771d00cb0da83650d425e9cb29ea96251fcd133d64c97d0789e9ccc9ad214b71dc1c70cae7d87084067d3bc4c098465078e1c1ca7b86df52492b0b59d1344e31da00ddb3874ed49aaeaddda518447d1f7c64743cb733475d39d223015d01e6498dc6bb799b264682c9cb3d65171363a48a56c0fd2c28390cbdee091fa098ffb0e77cfd3b0490ebd977e4b4ee9d832620c280e38c5dccc502cb2fdc8b3be11217a7dcbef7e1bf4d3a6b0484d58de4c3b6a8c797c980136e79b8eb66759798bdf2ed0b8be5225396f01e58907cb3f4ffa6136f6b91105977e596265dfb5da0406e163a1ceeedbe5474e859385b7e0a359210b76ff8ff78c4f86fea364ccb10728633c925ea777df5a4101b53ecd3d812ca32fa9298aa55674f500f91d607bc71eafef04aa129cb3527437bd545da19854b2c5d2d849813ef860399e6cee4c1a29f5f2a3a568be1bc89570f7fcbc17ae4876aa4633a9a7fe672be08247e37a65e80634002392feacc68aeae89c4884b0278ef9c20170c363dcaa237d07df57024fc57d7be655d1b791402a7bde99cbc16dfe14990b54bbbcad19a4c98ae5b56664e19aa8c4a35d9013c425b9ac8cfb4e83c4e55043f86d93bbdb37b989e0080e748d90b598d439c09a778f1e9bc69e237dccb9be49949ff04b0c54b359e88bbe22773b8815341cbb86b2182386183665392bc13c69dff35ec278a0ea95fd5149a6488db43b20f3a0881aa4a80754100b6048c763746ad8b32ec530e364cacd3e96a8e60779640c05fc6d3785f3d32429dbee578b20a4c8005fb9d457b623b88df371c79573844c0c87eaba6c29b461ac3eba6e443aa42efe32f09da761b59c3045ca46a6f70e3d0d0ba98a8d44e69cdcb7e4e767e6602adf155517b7736e6d4bcde945f6707ef7dbb4448defc90153bc19dde19a13aec3c6ec2400e008f1deaedf0dfbffd17041f56787f77f2b0f2d976e3b28de7437d7d373a0f665df8cab6fd76020acea066cc5b0589f1e1afb16324719e9a0886b67ca9c79681108a5568931e59c8d7e92934d97c957939d322", 0x1000, 0x6}, {&(0x7f0000000080)="8e5df9e7adf25c94931ed0451e3f8bab85851240b2885c48d38956b714c724e2aa64b802f40b8ee71a3fc73e622d78a924a24b3925fb133226ec94cadba3a59bda3f31d73192af7422d1b1459d561ec36de8ec87b76972757bc0d064a3c477eefa0097010124ecff951e5ca193a638f2f15416a8d57f79abe242d1f6ed7bdb2c72f0691178472294a09787d012fb82ca4309c7bcc3a0a8c40b6470f8704bfd370a90fbea72c4e49375ee0ca5b25c1d5ea6bee84cf29f708cd582", 0xba, 0xd962}], 0x10080, &(0x7f00000001c0)=ANY=[@ANYBLOB="3ea8ffffff6e34c1581d499b1b667ee19f3d334b800ad8fb07a0bcd73a019c7ec1eb71af5faacfc181f2736b14766d93c1139b89c14cb63e39ba994444a4ba092e664d6eb415eadde1a77ba98ef78967f8691c6d8800000000000000b924fd37846744d5e21dfb8dc7f1fb7879f843bd22b6ca657b63022b2d020fae016a1212750ace7d172a87fedd0a392bf7476f992267dd3acb13d87793a9d950c9fecee6e267241b089dbc0fe27fde04983fa043a5caa8d268c6edca8d09e129eaff1d332cd690e26c42c9bbdcd961cd6897654bb882aec89800661f6ce364"], 0x0) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffff", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) r2 = syz_open_dev$dri(&(0x7f0000000180), 0x0, 0x0) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000040)={0x80, 0xbf, 0x7e, 0x0, 0x0}) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) ioctl$DRM_IOCTL_MODE_GETRESOURCES(r2, 0xc04064a0, &(0x7f0000000240)={&(0x7f0000000080)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], &(0x7f00000000c0)=[0x0], &(0x7f0000000140)=[0x0, 0x0], &(0x7f00000001c0)=[0x0, 0x0], 0x7, 0x1, 0x2, 0x2}) close(r1) ioctl$DRM_IOCTL_MODE_DESTROY_DUMB(r2, 0xc00c642d, &(0x7f0000000100)={r3}) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f00000002c0)=0x2) socketpair(0x2a, 0x1, 0x1f, &(0x7f0000000280)={0xffffffffffffffff}) ioctl$sock_bt_hci(r4, 0x800448d3, &(0x7f0000000300)="d728975f23bc3143914c8b4ca1c6739c55175e6299f4fbfa1369e5f049d51d52214193a5e04dfb138e6916c7bb4524db8870994152a9ce24d306c7fc27daea15db2b2b2acb8d38c61f7103960775449bd2e3d838c82e8cd21ad8b0adf8f21f2e89159fbe") write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="0000000002"], 0xd) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) (async) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) (async) syz_open_dev$dri(&(0x7f0000000180), 0x0, 0x0) (async) ioctl$DRM_IOCTL_MODE_CREATE_DUMB(r2, 0xc02064b2, &(0x7f0000000040)={0x80, 0xbf, 0x7e}) (async) close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) (async) ioctl$DRM_IOCTL_MODE_GETRESOURCES(r2, 0xc04064a0, &(0x7f0000000240)={&(0x7f0000000080)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], &(0x7f00000000c0)=[0x0], &(0x7f0000000140)=[0x0, 0x0], &(0x7f00000001c0)=[0x0, 0x0], 0x7, 0x1, 0x2, 0x2}) (async) close(r1) (async) ioctl$DRM_IOCTL_MODE_DESTROY_DUMB(r2, 0xc00c642d, &(0x7f0000000100)={r3}) (async) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f00000002c0)=0x2) (async) socketpair(0x2a, 0x1, 0x1f, &(0x7f0000000280)) (async) ioctl$sock_bt_hci(r4, 0x800448d3, &(0x7f0000000300)="d728975f23bc3143914c8b4ca1c6739c55175e6299f4fbfa1369e5f049d51d52214193a5e04dfb138e6916c7bb4524db8870994152a9ce24d306c7fc27daea15db2b2b2acb8d38c61f7103960775449bd2e3d838c82e8cd21ad8b0adf8f21f2e89159fbe") (async) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="0000000002"], 0xd) (async) 03:37:58 executing program 5: syz_mount_image$ntfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x123004, 0x90, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000100100000000000000f8000000000000000000000000000080008000ff010000000000000400000000000000f8000000000000000100000001000000aa1cb4684d356101000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0}, {&(0x7f00000100e0)="0010000100008fb10202000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f00000385e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xcc8}, {&(0x7f0000010100)="ffff0007000000003f00"/32, 0x20, 0x2000}, {&(0x7f0000010120)="46494c453000090000000000000000000100010048000100a80100000010000000000000000000000400000000000000080000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100b001000000000000b00100000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a00000000000000400000000000000000b004000000000000600400000000000060040000000000113f04210c3f0100b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00"/448, 0x1c0, 0x4000}, {&(0x7f00000102e0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x41e0}, {&(0x7f0000000040)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x43e0}, {&(0x7f0000010320)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x45e0}, {&(0x7f0000010340)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x47e0}, {&(0x7f0000010360)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x49e0}, {&(0x7f0000010380)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x4be0}, {&(0x7f00000103a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0x4de0}, {&(0x7f00000103c0)="000000000000000000000000000000000000000000000000000000000000080046494c4530000900000000000000000001000100480001006801000000100000000000000000000003000000010000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801004000000000000000400000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000040000000000000004000000000000000400000000000002104ff0000000000ffffffff00"/416, 0x1a0, 0x4fe0}, {&(0x7f0000010560)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x51e0}, {&(0x7f0000010580)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x53e0}, {&(0x7f00000105a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x55e0}, {&(0x7f00000105c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x57e0}, {&(0x7f00000105e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x59e0}, {&(0x7f0000010600)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x5be0}, {&(0x7f0000010620)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x5de0}, {&(0x7f0000010640)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000002000100480001006801000000100000000000000000000003000000020000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000004d3f000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140030100000000ffffffff00"/416, 0x1a0, 0x5fe0}, {&(0x7f00000107e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x61e0}, {&(0x7f0000010800)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x63e0}, {&(0x7f0000010820)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x65e0}, {&(0x7f0000010840)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x67e0}, {&(0x7f0000010860)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x69e0}, {&(0x7f0000010880)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x6be0}, {&(0x7f00000108a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x6de0}, {&(0x7f00000108c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000300010048000100f001000000100000000000000000000006000000030000000200000000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff0000000000000000000000000000000000000200", 0x220, 0x6fe0}, {&(0x7f0000010ae0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x73e0}, {&(0x7f0000010b00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x75e0}, {&(0x7f0000010b20)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x77e0}, {&(0x7f0000010b40)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x79e0}, {&(0x7f0000010b60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x7be0}, {&(0x7f0000010b80)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x7de0}, {&(0x7f0000010ba0)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000400010048000100a00b000000100000000000000000000004000000040000000200000000005400000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000a000000000000000a0000000000000600000000000000080324004100740074007200440065006600000000000000500000008000000000001800000003006400000018000000010004804800000054000000000000001400000002003400020000000000140089001200010100000000000512000000000018008900120001020000000000052000000020020000010100000000000512000000010200000000000520000000200200000000000080000000180a00000000180000000100000a00001800000024005300540041004e0044004100520044005f0049004e0046004f0052004d004100540049004f004e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000100000000000000000000000400000003000000000000000480000000000000024004100540054005200490042005500540045005f004c00490053005400"/640, 0x280, 0x7fe0}, {&(0x7f0000010e20)="000000000000000000000000000000000000000000000000200000000000000000000000800000000000000000000000ffffffffffffffff2400460049004c0045005f004e0041004d004500"/96, 0x60, 0x82a0}, {&(0x7f0000010e80)="000000000000000000000000000000000000000000000000300000000000000000000000420000004400000000000000420200000000000024004f0042004a004500430054005f0049004400"/96, 0x60, 0x8340}, {&(0x7f0000010ee0)="00000000000000000000000000000000000000000000000040000000000002000000000040000000000000000000000000010000000000002400530045004300550052004900540059005f00440045005300430052004900500054004f005200", 0x60, 0x83e0}, {&(0x7f0000010f40)="000000000000000000000000000000000000000000000000500000000000000000000000800000000000000000000000ffffffffffffffff240056004f004c0055004d0045005f004e0041004d004500"/96, 0x60, 0x8480}, {&(0x7f0000010fa0)="0000000000000000000000000000000000000000000000006000000000000000000000004000000002000000000000000001000000000000240056004f004c0055004d0045005f0049004e0046004f0052004d004100540049004f004e000000", 0x60, 0x8520}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000700000000000000000000000400000000c000000000000000c0000000001000000000000000002004100"/96, 0x60, 0x85c0}, {&(0x7f0000011060)="000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000ffffffffffffffff240049004e004400450058005f0052004f004f005400"/96, 0x60, 0x8660}, {&(0x7f00000110c0)="000000000000000000000000000000000000000000000000900000000000000000000000400000000000000000000000ffffffffffffffff240049004e004400450058005f0041004c004c004f0043004100540049004f004e00000000000000", 0x60, 0x8700}, {&(0x7f0000011120)="000000000000000000000000000000000000000000000000a00000000000000000000000800000000000000000000000ffffffffffffffff24004200490054004d00410050000000000000000000000000000000000000000000000000000200", 0x60, 0x87a0}, {&(0x7f0000011180)="000000000000000000000000000000000000000000000000b00000000000000000000000800000000000000000000000ffffffffffffffff240052004500500041005200530045005f0050004f0049004e005400"/96, 0x60, 0x8840}, {&(0x7f00000111e0)="000000000000000000000000000000000000000000000000c0000000000000000000000080000000000000000000000000400000000000002400450041005f0049004e0046004f0052004d004100540049004f004e00"/96, 0x60, 0x88e0}, {&(0x7f0000011240)="000000000000000000000000000000000000000000000000d0000000000000000000000040000000080000000000000008000000000000002400450041000000", 0x40, 0x8980}, {&(0x7f0000011280)="00000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000001000000000024004c004f0047004700450044005f005500540049004c004900540059005f00530054005200450041004d00"/192, 0xc0, 0x89e0}, {&(0x7f0000011340)="00000000000000000000000000000000000000000000000000010000000000000000000080000000000000000000000000000100"/64, 0x40, 0x8ac0}, {&(0x7f0000000180)="000000000000000000000000000000000000000000000000ffffffff00000000", 0x20, 0x8b80}, {&(0x7f00000113a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x8be0}, {&(0x7f00000113c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x8de0}, {&(0x7f00000113e0)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000005000100480003001002000000100000000000000000000006000000050000000700300000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d801abc4234c9fc6d801abc4234c9fc6d8018041214b9fc6d8012620000000000000000000000000000030000000600000000000180000000100440000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a000000050000000010440000000050000000000000000000000000000000000480000000000000000100000000000000010000000000000001000000000000024004900330030001101450000000000b0000000280000000004180000000400080000002000000024004900330007000100000000000000ffffffff00"/576, 0x240, 0x8fe0}, {&(0x7f0000011620)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x93e0}, {&(0x7f0000011640)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x95e0}, {&(0x7f0000011660)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x97e0}, {&(0x7f0000011680)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x99e0}, {&(0x7f00000116a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x9be0}, {&(0x7f00000116c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x20, 0x9de0}, {&(0x7f00000116e0)="000000000000000000000000000000000000000000000000000000000000070046494c4530000900000000000000000006000100480001006001000000100000000000000000000003000000060000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000680000000000180000000200500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000400000000000000040000000000000001101460000000000ffffffff00000000", 0x180, 0x9fe0}, {&(0x7f0000011860)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa1e0}, {&(0x7f0000011880)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa3e0}, {&(0x7f00000118a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa5e0}, {&(0x7f00000118c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa7e0}, {&(0x7f00000118e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xa9e0}, {&(0x7f0000011900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xabe0}, {&(0x7f0000011920)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xade0}, {&(0x7f0000011940)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000700010048000100c801000000100000000000000000000004000000070000000200000000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80106000000000000000000000000000000300000006800000000001800000002004c0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010020000000000000002000000000000006000000000000000503240042006f006f007400000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000020000000000000002000000000000000200000000000001102000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0xafe0}, {&(0x7f0000011b60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb3e0}, {&(0x7f0000011b80)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb5e0}, {&(0x7f0000011ba0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb7e0}, {&(0x7f0000000080)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xb9e0}, {&(0x7f0000011be0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xbbe0}, {&(0x7f0000011c00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xbde0}, {&(0x7f0000011c20)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000008000100480001008801000000100000000000000000000004000000080000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000300520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff010000000000ffffffff00"/448, 0x1c0, 0xbfe0}, {&(0x7f0000011de0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc1e0}, {&(0x7f0000011e00)="0000000000000000000000000000000000000000000000000000000009000200", 0x20, 0xc3e0}, {&(0x7f0000011e20)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc5e0}, {&(0x7f0000011e40)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc7e0}, {&(0x7f0000011e60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xc9e0}, {&(0x7f0000011e80)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xcbe0}, {&(0x7f0000011ea0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xcde0}, {&(0x7f0000011ec0)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000900010048000900b802000000100000000000000000000005000000090000000200490000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600002000000000000000000000000000000000010100000000000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000fc00040000000000fc000400000000002400530044005300114147000000000090000000b00000000004180000000300900000002000000024005300440048000000000012000000001000000100000010000000800000008000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490002000000000000000000100000000200000090000000a000000000041800000004008000000020000000240053004900490000000000100000000010000001000000100000007000000070000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c00000000000000000000001000000002000000ffffffff00"/736, 0x2e0, 0xcfe0}, {&(0x7f00000121a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd3e0}, {&(0x7f00000121c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd5e0}, {&(0x7f00000121e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd7e0}, {&(0x7f0000012200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xd9e0}, {&(0x7f0000012220)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xdbe0}, {&(0x7f0000012240)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xdde0}, {&(0x7f0000012260)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000a00010048000100a8010000001000000000000000000000040000000a0000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000680000000000180000000300500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f0000000000000040000000000000000000020000000000000002000000000000000200000000002120880000000000800000004800000000051800000002002000000028000000240049006e0066006f0000000000000020000000000000000c691b6b777edcda00000000000000000000000000000000ffffffff00"/480, 0x1e0, 0xdfe0}, {&(0x7f0000012440)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe1e0}, {&(0x7f0000012460)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe3e0}, {&(0x7f0000012480)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe5e0}, {&(0x7f00000124a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe7e0}, {&(0x7f00000124c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xe9e0}, {&(0x7f00000124e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xebe0}, {&(0x7f0000012500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xede0}, {&(0x7f0000012520)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000b0001004800030090020000001000000000000000000000030000000b0000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000010100000000000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640090000000780100000004180000000200580100002000000024004900330030003000000001000000001000000100000010000000480100004801000000000000190000000000010060004e00000000000b00000000000b008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000000000000000000000000000000002600002000000000060324004f0062006a00490064000000180000000000010060004e00000000000b00000000000b008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000260000200000020006032400510075006f007400610000001a0000000000010068005200000000000b00000000000b008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100000000000000000000000000000000260000200000000008032400520065007000610072007300650000000000000000000000000000001000000002000000ffffffff00"/704, 0x2c0, 0xefe0}, {&(0x7f00000127e0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf3e0}, {&(0x7f0000012800)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf5e0}, {&(0x7f0000012820)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf7e0}, {&(0x7f0000012840)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xf9e0}, {&(0x7f0000012860)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xfbe0}, {&(0x7f0000012880)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xfde0}, {&(0x7f00000128a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xffe0}, {&(0x7f00000179c0)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000001800d80100000000000000000000000000000000000000000400000000000400680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000a000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000001000800000000000800680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000803240042006100640043006c00750073000000000007000600000000000600600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b00600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc618008041214b9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e0064000200000000000200680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100b001000000000000b00100000000000600000000000000040324004d00460054000000000000000100000000000100680052000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801004000000000000000400000000000000600000000000000080324004d00460054004d006900720072000000020000000900000000000900600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a00600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000002000000180000000200000000000600000000000000070324005500700043006100730065000300000000000300600050000000000005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d0065000500000000000500580044000000000005000000000005008041214b9fc6d801abc4234c9fc6d801abc4234c9fc6d8018041214b9fc6d80100000000000000000000000000000000262000100000000001032e00000000004500000000000100680054000000000005000000000005005cc4234c9fc6d801fbc9234c9fc6d801fbc9234c9fc6d8015cc4234c9fc6d8016800000000000000640000000000000020000000000000000900660069006c0065002e0063006f006c00640000000000400000000000010060004c00000000000500000000000500c375234c9fc6d8014792234c9fc6d8014792234c9fc6d801c375234c9fc6d8010000000000000000000000000000000020000010000000000500660069006c006500300000000000430000000000010060004c00000000000500000000000500c29c234c9fc6d8011ca3234c9fc6d801fca8234c9fc6d801c29c234c9fc6d80110000000000000000a0000000000000020000000000000000500660069006c0065003100000018", 0x5ff, 0x45000}, {&(0x7f00000180a0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x457e0}, {&(0x7f00000000c0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x459e0}, {&(0x7f00000180e0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x45be0}, {&(0x7f0000000140)="e43a366f000000f4ffffffff000000000000000000000000000086011e0f54bc193aa937eadfa1ac", 0x28, 0x45de0}, {&(0x7f0000018120)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x45fe0}, {&(0x7f0000018380)="00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e001f0020002100220023002400250026002700280029002a002b002c002d002e002f0030003100320033003400350036003700380039003a003b003c003d003e003f0040004100420043004400450046004700480049004a004b004c004d004e004f", 0x9f, 0x88000}, {&(0x7f0000038380)="46494c453000090000000000000000000100010048000100a80100000010000000000000000000000400000000000000080000000000000000000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100b001000000000000b00100000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a00000000000000400000000000000000b004000000000000600400000000000060040000000000113f04210c3f0100b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff", 0x1a4, 0xff000}, {&(0x7f0000038540)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff1e0}, {&(0x7f0000038560)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff3e0}, {&(0x7f0000038580)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff5e0}, {&(0x7f00000385a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xff7e0}, {&(0x7f00000385c0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff9e0}, {&(0x7f0000038600)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b', 0x1f, 0xffde0}, {&(0x7f0000038620)="000000000000000000000000000000000000000000000000000000000000080046494c4530000900000000000000000001000100480001006801000000100000000000000000000003000000010000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801004000000000000000400000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000040000000000000004000000000000000400000000000002104ff0000000000ffffffff0000", 0x186, 0xfffe0}, {&(0x7f00000387c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f00000387e0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1003e0}, {&(0x7f00000001c0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1005e0}, {&(0x7f0000038820)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1007e0}, {&(0x7f0000038840)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1009e0}, {&(0x7f0000038860)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x100be0}, {&(0x7f0000038880)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x100de0}, {&(0x7f00000388a0)="000000000000000000000000000000000000000000000000000000000000020046494c4530000900000000000000000002000100480001006801000000100000000000000000000003000000020000000200000000000000000000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140030100000000ffffffff", 0x184, 0x100fe0}, {&(0x7f0000038a40)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1011e0}, {&(0x7f0000038a60)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1013e0}, {&(0x7f0000038a80)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1015e0}, {&(0x7f0000038aa0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1017e0}, {&(0x7f0000038ac0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1019e0}, {&(0x7f0000038ae0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x101be0}, {&(0x7f0000038b00)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x101de0}, {&(0x7f0000038b20)="000000000000000000000000000000000000000000000000000000000000020046494c453000090000000000000000000300010048000100f001000000100000000000000000000006000000030000000200000000000000000000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000002", 0x21f, 0x101fe0}, {&(0x7f0000038d40)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1023e0}, {&(0x7f0000038d60)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1025e0}, {&(0x7f0000038d80)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1027e0}, {&(0x7f0000038da0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x1029e0}, {&(0x7f0000038dc0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x102ba0}, {&(0x7f0000038de0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x102de0}, {&(0x7f0000038e00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x102fe0}], 0x0, &(0x7f000007a5e0), 0x1) 03:37:58 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x6b, 0x11, 0xe}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0xac, &(0x7f0000000200)=""/4096, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) r0 = socket$nl_route(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000002c0)={'erspan0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000002700)=@newlink={0x48, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @erspan={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_ERSPAN_VER={0x5, 0x16, 0x2}, @IFLA_GRE_ERSPAN_DIR={0x5, 0x17, 0x2}]}}}]}, 0x48}}, 0x0) sendmsg$xdp(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000040)={0x2c, 0x5, r2, 0xb}, 0x10, &(0x7f0000000100)=[{&(0x7f0000000080)="b55dd636b977a38234fe80bacb0641", 0xf}, {&(0x7f0000001200)="a535e53bf8dd1f834473789ea5536123df6adfd980077db1a498fdc6d1b38c70bdcd72634f7e80accd87374fe7d42154d0a465963089f3f7ed5bd55e91af8928ed728c700f7011c4781e9c9abae7de84a546e0ac363a0a2130a305794885f843cfcc7cafa2669a70d394defc4e1919ff30875ecbc840880a259b0542100459c5b367017f94fad35aeb4d585a3bc456db20106415ac2fd08ec1623c7b411df080051dc49e0594718ec1fa26fa0326ed2d3b64f8ef367f174c52f33e91ca84549aa8dd3c58ef02dafad43f8f383921fea4eacd0f9389651e493b6bc397afb5feef6a9838464564ceb6490f161156feb348b2284090f01c5f26bc55384d8a1b2cbb6a33dab21a1d4382e2c381973a64685bc7015eefa9d205707d2a5d439c0970465f2133bbe0116201245ef84e4e54d7739e4ea5efeb30c0e9ddaded7b3b04ea263154da6825ea7c5a8aac724519e365780c051d75fcda68b11f8a8d87b4dbf957139f553dadb53bb314ac757ca8b4c37f6eaf0200d13debda2739ea1062da7e5541de6c879e4ad0dd033df6a9f0d57be29be6bbaa91fd5c7b6de48376c89debedef76cc2a9ac79397f3fc10b8b8530c48dadcdcfffcbf156db1e11fe0e971240a1de6f8ae3061258604552486fba468c2b8d01749ee19e5b7f0cda45e8dd63809dc3f60e0a5ddb1c0e65a9533ddf529e4e3aa3a3fa5b8d4f3491f2f0c20a767d6412c7c7712e271c6150e77013723496bb9a8e9b30d86e72cdd8fa08c4b03d44d46f01fafbf7e0302dd86d74a52b181358e801cdfecd1351c9c4e8ceeadfeec29a55300c1b768155d2a5062998af061c15debcc7eea5ae9fd1455b2b4e954f60badf24016531c5ead24982933db15ffd8c1f378d5442a67e04b127246303425804de012527e51eab8615f89d1e4832e4ffaa7749d119241be39d89b875879fe69542856cb1aa3c1d49a0a7e3e5da7229034cf230364a4e9c43af975583eb096db15578b7f659730e8028fdd6efa027154927cb1c0eeb86c4a220997358b546a1c2aba4fab43c173d1044827df22e3b1581a40550d10756b732322d6d650ce752e02a74940d4174695ee701933330ed4a33b391bb2f62a2ec4b954a041858cbef248f500d9b6e780bb6c6cc8daae4aa8be1a5683a914ddc73e6ea11e86ff51a0eccdc7c76244bb877e2bb35fe2ed60479e52e5e4f1dd178fd1b3639dedb5b7abccf4389de69b2edccbc095eded1852afbe0c0ce2e9e8588cdbd881dbc63c4b5c5efaf4af59e7a72c8b3e4360c09a08a8c4cff3d0fe823f3ac8664edac4d6cfaa60a3d40f9a878eeccb6aac1eb46abef10a6f719e53a58254e15f2791321956ff3530890dd0b8a057fe70af751d0d0130058b18575dbc51715821eca040487957b232ff04500bbf966f8718b3870b07360502e564e1a9a03de1b588bfef7d0ed1a0cee66befd5a40c5f6f33db8e2a5c17500adea745ffe984f7770d5102a55719f28933e84b141bb13319dedb9be6ee4e77c25f3feff29b9e708810ca55b0e65484fe7b372986c69dad9903d4fc7b2835849708076c1a18aed19e5bc08089553688cace5cf7d34fdda5e02a64d511fe236474deebaa6d825ab95b612239f0ed9ff6af2cbba168ec5b6962afcc2e78be81eadf17d49b2a1cc3c8d9ca320ebf86324d18d0b48866979d6518c9e865b43791084b7052faf4718b00211d60080861c99ffdaf87f26f032f7879885a6c48182fc029a85f51fb1f81a310e3f5a55133827ee69d6ad6aea60ad2b7abbe85c477c85259a79c15e24c7dcf48239f0b0109718a2e59b07e846b74d7eb33c61c969f9e0570f2e9d093be684758e48b193fc1382da8965d0ddd2fd28787557c4b0516abab6e3bf4d6038066d33cb11466f0500a7931120b82b0666da3b9b0f0ed39623e6fc55489479ff239c0d06fda25caf157382ce048db8460ae9c41b88ef38e5ef871c2e6805221021397f9806ce961d0f06b5a74b7a192ed3ec726233cd08398acb94c32d5d07e2f2ac90a8035cc7f18aa4fb1a6791956b29bee7c39ad1f6e06258432fcc1929ff66950c9b5b69d1d60038540e957ee28d03d4c960e0a795ab81fd5abdf99704bfcdf07fa554f97b8a4772ab5d80247f827aabfe771a490adfaf75171b69bec16e96f7021926f94546fd76b26694123a4cf18e77c66d70ac9f313e0fcccac5601d84cd3fe7c66e07296d4ce8f7dc3a270ebbcd9f7ce02991b6fc6c345fff31a5e4e87f4732896c4c45dc9deab738bff9599f0edebf0391f6e27550c5e96f3b423ed47222b78a06dfb0a020d5630435eebac51a8f4abfe0581e2426116d32548c5085825aa92ba344ba85182a5aa31946ed2352d75d51c52d8b047b3cb9963a93d305dc7d8f179edb6d81dab35835c5c961cddc4cddf7cb1f5b59d4158b813933105833a4a3dba3774a58fef528ef394e17c9b497b2e8ac89c40c478632b94c470838a98aeb847fb67f9aece026780025ca66641b6c684c755398f56418a742c64bbf0848a197f6316e0470f21263f0284b34f873909f724cbe57723db796435952fcf3a05dc6fe06c9292109084bf1c593151c65c59e8aff8a256fe77eecfbec1f18fccbcec7454cc9dedad61b0d6a1c169213f9f31ad5a3b8caf238547886e4c136938118bfc3b28dfb284650f14781f97c43256f194370c991073ff4000d71c54f3aa8d80c43dc6ba0feaf774e10378988fe07a26dec04af754c0bd9a813515d4a572df8a3c0ca2e22979c5d61c1410abd41777c8deb34ff548e2ffbecbfb4ecfddad34a80447a34cedc922a19497f4dfa1c5f2d93049966d1652d5d3e11597f41395cae718ec988dab1fec1bcd26b1af4ab0bcea89cb9313b3fb01d837fe32877070c1ec9203df008941fdbba3cbde00aa6dbd3839ee6a3b64790ce3b8def8ed03183df0a71484cf6bb80d33678c06d27c66481056c9998b683ef029f40a1839394b1cabf0a05370cc0cd67936c7e66bb1763e617c224ec3ef5f63fc9ded8b30d942d20ec602ca13f8d68cc76b2d3d65fbe59fe996c52e3cbfae51126616516c6bc3afbdd107cde1689ff0c2e271c3d92dea798f19dfad8d7e55eaea8e4051008c030811eba31d13d5ff33499916ce05c2916218a9aa34f8ee870fb98a3f0257ceff8f1736d9be51039e13421db6a7a078d15832ad862ae5ad039d48e95aa04d054c58ad0d7cf1e8efbcfc076850e7cc22896ae639f09ce04077b850c50b570f7622a236d740a4b1bfe87e5e34ce1b0f4b3e503e9d87b87d42e1fa104ed5d0623af5aa7870ae93f92bb6080077995b94377e46c7b843554947cfe3a1f7d80f916b2a1f900bbdc2475a6ba5702b51b17e7af012a07346dae3c60e974ba59a83d7f03c8fbec4930295d31086a2ff21a0dbb7134bca3292e84137d44ff0fd005c0d9f00c20eca0258c14d4f32102ebf47a332c71c986ccaa923dfdf8ebf81a36352a6ead7ede3e57d9b3adf05c18c4fa9723f2b35b56b2630cc365b46bcb7e629383ed31d5e53d289e67c54972431aad6c78a25f1244e4273cec502de141a3a0a9a4b05511d7073413ad0a5787e4b62f2302d8072366d587345a8ac567d3c7d248d3e0113a6f3dcd2c559064ed465d5b62b27eeeb80e92635ec94bea74a59839df8bd7fe6548641d3a64664838ea843b472272ccedbc1061baa4b0189ea150e8e6e2902665eb451d1006834eab1c8a8875a422814a85c9fd176425c44dc6f5dd822ef3bdca4a453476324c3c93a16849a2e44ae74c9ac2fcf660fe0f33e81f80fa4f3f404f2dfb76154fa4407b67d03d2d873e81018d8638ec1ff3d79271b47f981ef4f730d38c03a7630b659c587670f14c8e44b540f31a96cfa9edca3ae188083b5113afbb8353a28a2c323b2e9f44b241eddbcb324820f4894ce66fd3a8316428a39e2c32c1b23dc6eb5c5c185dd133885c4946afd1d01bf8fba8f06be9c627f3335915dd98a6b4944dcf6f0940b82e71fa11abd5127d4c14d68bfd814672c842bb605215aa778398aa701c500002316c916b194dbb02681aae3ac6de94890b9bf7fdadb57b2ee0a664809f13afddbb1f894e89f4f503111782085afbd1fb8fd7ce45eece80050905fc1ba79aa8a6d23613f7a7a2c5dd08a451ed41710e7e6d523ee26e4773f28fb1d17e06bd8dc8c47233abcbc363400a923dee6fe8e8d943d0393791cd69aabe82da5aea578ccc5737101f0e65413a30184c701ff5f0b3fff5058a210e711c67d7d8041dbc44ef3379701dc6d8da07771fdf2b420b24602eb25e0ec87b57d435c98c7de95bd82264909a7d14f8dd53f03bcfd754664e92fb9235cb178507ab93b9e957b1c56680fa1ab68ebfc840a57a2a48b98add6be43c1bb3cff6e90da0d5116e48cf183eb2fb7aa1cdb5463ce763d3c69bb1cff0b9b6e1c1b3322081ceaf6262262f8cfdc79bd3931b64733caf897b7bcc6456f5f8a1ab30c3bdc7b21158b18c6f5ea84734bdfeb686448131eece44f060c13fc48832ba2479400bb000316eec9ad7c5bc45a0d02f1cae7eb92e974fda702f67a674bb6498999700e073568dd0e8faea716e7d765183cd5bba711ee4571821d0251eeb5ae4da694399b77c8c44d021783fa3983aec5214f3fb778d55e71bfc2d3d4f3e72c9bf4bb24eff471b605a83124841f76d435f9c4ea433f439a11eff9dcb60315987db50a10c84c70b915c2fdae74fdf89e6fb0c1a9fae7b3da7a382934d6ebc5b3e564a432bf32f966c83d82a222e3619f78f024f19f23a21f7de1c774992dbaf08ddf077087aae5f3012a41f912442032b186303f09db7ab1b5292094315badf3ca8f90d19f143d73adac5b51f246a9bbcec98c0450e262f3d89f0952b1f87696f189bff08b58768c51cc0c14205f4c4154dc6fb0e281adfa9b3696c5eb7e198ddccd219ada9d50bd06993cf35618434a3229e8c14019ad8863bd4cce601364bbc40425d50c3870b0ffeb2da870744ff428c8d3f20925bde6986512fe69cf5c72d4aa988e68b296ed3edd979f5f1b1621e9572aef2498184f9c0437bfb9c222094d52cf5f952c6ce848b668c6a22974178864091eb4c9d038ba142208ed744e50417f98d2707865341b56fd78270e82c68f53f145aa3130ec1ae8efc8a40e09428bffa6a134fcbc6afd129f499be33761c2dc6dddb08a66e269488f2a29cc677de429d7abf9457a0f2cd27f88a4d30615dfc7149a2942b9c80c5a831a95b301e6bb3c5a6612a1f8477fc922f48268a2927246ec8d67c994e0486dcb18b08e7b687577e48b9bd9a7cf5c9305733ea8b84b432301ec9271540c834c089c7d70cc50850ea50ad6cb32737e4e42c01940ffcc1f0c1743c1f18877bc13e7752b9c1797882984d3f52014869315c0d75877d24d3cbc952a78ddb03def3458ffea1665a0bb5a6632248c7626df4aac4da690273a45230d77708371de6b66b9b9b557d8c2bd1d9da5957c8e1e3ad1981c417122147190bf504b46d6d6f4de29d16b0e3b1dba4b77e1391ce735944c0d74e71ae23e3b50e9eae07896cd59f7ef554db17bb417cded362920447ca566f70328216ad72da5d2d292ac1ff448560656746a87ec7a83fad3cd23a881058efda5fdf75279d6df2df98ab4c07529463ebc213c59307279b674374cbc950a8a66de5cd0c12ceea6b7ed66158a5df97c2837cfeb9c83dbd3f5a101cfe501b9df9dfae2272c9a1a1212f5ec39be0a1387a1f4b88fd6f155defda39c387ed943c82807d578dd6c74f7d96754a31ab0bc2adaab557204ae1a5e5670c7c89ab6d6", 0x1000}], 0x2, 0x0, 0x0, 0x4000080}, 0x20000841) 03:37:58 executing program 1: syz_mount_image$v7(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0xda1c, 0x3, &(0x7f0000000140)=[{&(0x7f0000001400)="1f06cd849afd", 0x6}, {&(0x7f0000000400)="ef6996153c19fae38e2aa1e1160d05db4d6094b83bf7633d42c566128824d6475f539221b8c48fb4760995c2bba438f7ab32ddfd4723c6567c331b6de341cea2e70228da2f6aaf6766e1e623bdae0484b551e769a0ca5ee89586a68aedb6d793da44c2c84dc25a26afc897b8d866b27059486dadba4f72a5e50d4f49c86e1a01775d00537e5e493974a6eefcfad41ecc12ac86f66da9e3a23b32980d3bd06bb4db988c4d7c01e99ce612bbd335b8ff8046a01cc8310e6e54e592f5cf0b8d95ee1b44a45778bac3506de11af082ef51b19ad28bdb434fd8c182f3f5a7b5c6d106cc40ab2912b23fc2df709f8bbc6728a21c4401c993eb1be02e157a1f098b9d1494665ef73af077932ced858923cf9298c864769d87ad120e157cb4a970e19025406f7a7ebd609ef63bebc00c2b3926b715a5c38e7b9b2c89b679bf8bc9d2e51044f1308887f866e135a355dedeff7d06e5c9042766246071e7fb55f832ff3b814167bfb3950b575139bb202f8a0cfef85d746b234e3db1c5681faf9d027bc0edd3bb95b27c6b57416161df7b160cab5922fcd4e69f0ffd19ee2f354bf6e1811028a73fa4c7b2c7222ee6b81e1f7c82f411236c15a33316b0c0c8bd208c38ac0a0f2eba5b8f6f709ccd8eb6981b45b390014d6b90ec429567f509bb59215920e4610ff55d8c88ed2ee04561de933d7e3b7942bc6bf976560439ce6b9f23bd684d8f1cda2025347fc1192106ce35b1611d8d4048a1c831def36f586076f33447d9bb5c040e2457bf0d90dfbfbe712ca531ce047adfeeb6d1e9f373f6510815abeb9ca81bb29b204d88a714207d7416c48480d1c6b3a2df088ef007117e7459dd6c707cde41406008ef9c88dc6b0538da89e2d51ffbabf8489a17a0cda95460545e4bf09623e7ddf127cefde26a423a726c1fb0b8dcd543c1d3747dcec2bce4af935c4ad603504f7663fbd452f2fafa6636621011e06f259b5da9d470a6d5f6105d39d3ecbad7fd5ac579588195873fa806527ddc74ab011555a91cd87f0635472bee02a0e9ee367c090ee406b52e3f263391e7056206702b286179529caffff25ad3058f386de3123c16f5a1a058223eafedabe40b2e948864540ef1125ccaa07c623298c05b8c814cd48949e26545e6e1ac4737485efd1942018686758542327172792d8c912e78b05a93ffb2b831b8c8309e72ae9db6007c9d21332a09122b59eadfc800a41a73347c7591344d06f2a6d1e61965ee536e1d6b50324d4c965d1bf85c54dd5b49ee8485d7adf8e27b1869040f7f12bf1467a8a18d89ac3d274bb75e503840d43c24f677ca5cacc139eb945c61723c27b1c15e5e50cc85f2367ca79d22c4a6ecc777d518ca04fab2d3ef6dd2a4f63af789c3c3e429f68311472c7bc1e72f58e0024277b78897ee8cb18f6927c3e83ff9ec506a394330fc97af504fdad18ccc15ce93590e1a97721831f4037d401a336b8394d305d4162ed8042c4ddda807747b9f3056f30ba70c570f5ba1c9cec38502f1f4775590e36a3c862947f0a2a4c4d04b2cf98762651ab3037dacb32ee52703e832b27ec533236f217e47e50abe98e31d78199da4f069dc6a30b99932809132820de28ddcec856994e0ae02d5f53ebdae61fffd2b0fa479f1c72c1f723c43942d33e2f87c29b50e8d66b5121fc11a320c9d0ebcc10bfec202accb882403da20ddcb14fe8848d0069fa65b103ba2b29d2fa05de73bbbd2bdccbf5e7dbd1d6f9e35618e75e573595b06323a5e69c8de17e9b091c0c69438be83b44c2b7ac4059ba1d6b7f5864b54d33b45ecb4fec6398f704f4b3f8b362af7fde6b35febb2fcf2b02b3c2e7fc06c68298f2ed669faf231c6490d2c87699d6e810b7fcab91db37591f5da72cb8bad429e3a4aa469b7b2bc7ffb025b5b4612aa62babb2ff604aa35fc738d73daff141aa55e51b14366520a162449a820668b45aed06cf3ca16ed2d6b81cc288fb64c347ce692eb31f3dc1eb3cee26cd6bf51cb4f758df53a1d533bd7f0628584a094e6ab6339a64dffce710ddd8e75f82ee1e7c656975385ce5fd033883b30f0eb1410ee5b96aa5125a8f49311488a8fbd95d7f945774229a091060c4d0bae1a8808681be7b7bbd29b79b98dbae76622de55d4736f364add7b87f37e91511f4a72d160093b129d63bb9942bf974d8251330d8dbfcfa14d263beeea50ceae9b0b10286073a584d523929ec36a854307327a7240589761d2cda4f27bf4892e37220a7be59bfccc67fa12fdb6b808ac620aba175fd208620d8ca9b19e0ce934468b58ddc1fbb1958cbcc31978c85682a80a4c18450fa8dc92cc76d2d59ee92a1dbe4f3e8f72fbae15fb3e928c5dc274d8cf9b0d5c901db060afb6f6cd122a24724f41fbd8f596663099feee9e67d078c5eb9e5498645817688b7402b6a4bf5c53a81b9e03650e3ba1121db17c484c26df205ac77f40a7f4c92be3572a02769f257615262ab8a7474d37685e3f670b4b36bdbe01fa3048072af7152fa6ed6fb3638fd8ece33b2982560cf8ad94908d4e122a4835d40cd5c437a13edc770dd495d6ca2239ac331ae0dcf0d9d81e8aadb6e957decef520d22242f39330d325f8fa297a8cd5787293f5cb9bacbbdb2c864af5cb5bc9fe99e728472b00ae9e8c70fd32ae5e8d52a5bebc60d4c53821ee5728bf7cb64fdaa8ae11803eb8b6c9a30584026877b541d53d7f468cbfa8981fac16b1875bbdbf9bf1c66832aeb4238138353f637ddeac97dac11918617275c914857fb861ec5d92b0c65c344434eb12f54452c5ffb9f9f7b6095acede7f19dbed687db934614cd3d20206b7ff4a1dfe1575b6956d8e4366d39226bd08010af9e4e275e4c7e1769f469d826b8aa3352fca91cfd752a5ad5e6aee5429c5873d847be5ab9271c0b339d27c07246cc8e01dcbbd3efe3f58232fa380155c49336f89555e259360f933f1ab5d0a7d81dfe46c965bd0725f46e9ddd88ef4dd6d4dbe8e0c5e1d07cf6049e8a9ddd346229f3a6c7da594689dbbd23aac858c03c5426e36daf24f65bbec4d22460ce39cc3b088f09cf334d0a517c27f2c843513dd7c204fe70cb77cdbb80ed8370f4dea7f3b9c224de338bc024058bc6758c17a30646d2c2e9b3ff97adcb0b4f9e84ec2c9ff7f5efd5b10d79623e70f283d82204ebdfc41959d4e9fdd44c8a2d349d6d1a1b41d02050b27cdf8c4d34881e7fd44498ba8df72ed4451a3ca1e61163342ddb3d613341d5732b6dfa0d60c067637815a290b06a78f7c6e2beb0a0675d27ac92c7c2bfde1cf8ec7307425c175738e25d6e9112d43abde99c6bf99cb246dabf9b47435e5287bd43aba8ab2db39f89472dcc047f0b7cd198f745a7731e402850a0d133a2d416fedf6f4b39c726bffeacbf4b630c8bb90d0dd9d71c8a8fee326cadf3c5042cbb0bd719f671f670223fcbd75e23a36a6864a129e9a3795a26f78c944b1a1184a10864352542ba1ce02aaf9a55a67226c42ae948501da40e5af84c129cff1dd2a61499e87cd816f705abd14fbebeed687bdd7c72670cc9621a97b3ad6186001c69706c6551f1a052219d596793ad3ca19b793838ab85fc40fe91aacf96d0de014b151c1304f61f9232f4ca350289f28ba9c0f94a33d3387d363aa7bb5453b004afa547b2725e2c010d0a15848455719655e89c2287d47f8c37b2b8e6ff3e727a2f9414b270a256c5e4b2ab4fabe6d19c89d5f9c1b302af878bc631f1611f0118186a46b3422b8e120392c4b924a98b513ec025eb6a7ec6eef72245694d4d3fb85fa8e0f36c1a16b28144070fe4fc5a6a0f0441e6bd359cac50da17d9d594ed19277f9aa5988770f23974ce516023fae76671856a39c3dd47ea148cd98e0c7e4c701aa4c50583c87c571b249049705cbd079c7048ad4efc87b54f781c484db8ac9bb8d7cdee9f0f91a56bc58b6f667480e7d13e17f63f751156f0355d1165c20ad517396c3e374c71cd0644a1066993c7b54abcc9ee1045be272f215a3cf879c84cb74a6b78a4d5bc45583f938b187d19e999932c0f0c7b509e6a1430c66485d258d2c8186fcc6c9dfc1c0751a18d35915e74be415466c3ba0a029dd8a0ef38a71fa543e3cf23d306eaf3dbd49211898a1fdf4d0573e282eb49a0259c8be487985a1b433d3dc6961e27d98fa3fa50217a6639355cecf8cc6d9d30df4e43335ee21742bfea81dae93c35a7f7d3ee44a059eab066d05d0ba5c12a9a25af95030801e645d0c093f0ea8d4696c3c84c8a8827498df48be18003b6bec3c928654d9d17c8deb666caa3cf2ec78116c63ffba811114ce2c17157f9268931f0009580eb15895c06535aa04c553c068a9af3838c9625ce6f8979e245976a0918d1a0243c49dc4f23399205075b6a086ed0091a60e595b929a1684206e043f8f591199b34d68a460ef51daf6e9cedf7d1b7ddf306114b810b63ae6c0d5b3f96db9e327f8e80b66a97c3477408f6bec4379062937ae27808ef77c70791094192af20385226392f6791cf539ff38fe55f34a9f1fd8add80e64ddb11ad42ddd0e0c07ee27cda511e7afbb5ff43ceb12038708b3514dfd8c8011472ed316264f2679958f2ff6cb8b43173a90bdb2db953ef534a59206436d20c314b4f6aefe1bf9c0001158c42e7c03a815095f84284fab5c3ae14cfb7ac1c0ab573ac57501ff8df6aec6b1d04cf90abf27b48e24a229b57835024907851970eb6401737f83679b8d0189771d00cb0da83650d425e9cb29ea96251fcd133d64c97d0789e9ccc9ad214b71dc1c70cae7d87084067d3bc4c098465078e1c1ca7b86df52492b0b59d1344e31da00ddb3874ed49aaeaddda518447d1f7c64743cb733475d39d223015d01e6498dc6bb799b264682c9cb3d65171363a48a56c0fd2c28390cbdee091fa098ffb0e77cfd3b0490ebd977e4b4ee9d832620c280e38c5dccc502cb2fdc8b3be11217a7dcbef7e1bf4d3a6b0484d58de4c3b6a8c797c980136e79b8eb66759798bdf2ed0b8be5225396f01e58907cb3f4ffa6136f6b91105977e596265dfb5da0406e163a1ceeedbe5474e859385b7e0a359210b76ff8ff78c4f86fea364ccb10728633c925ea777df5a4101b53ecd3d812ca32fa9298aa55674f500f91d607bc71eafef04aa129cb3527437bd545da19854b2c5d2d849813ef860399e6cee4c1a29f5f2a3a568be1bc89570f7fcbc17ae4876aa4633a9a7fe672be08247e37a65e80634002392feacc68aeae89c4884b0278ef9c20170c363dcaa237d07df57024fc57d7be655d1b791402a7bde99cbc16dfe14990b54bbbcad19a4c98ae5b56664e19aa8c4a35d9013c425b9ac8cfb4e83c4e55043f86d93bbdb37b989e0080e748d90b598d439c09a778f1e9bc69e237dccb9be49949ff04b0c54b359e88bbe22773b8815341cbb86b2182386183665392bc13c69dff35ec278a0ea95fd5149a6488db43b20f3a0881aa4a80754100b6048c763746ad8b32ec530e364cacd3e96a8e60779640c05fc6d3785f3d32429dbee578b20a4c8005fb9d457b623b88df371c79573844c0c87eaba6c29b461ac3eba6e443aa42efe32f09da761b59c3045ca46a6f70e3d0d0ba98a8d44e69cdcb7e4e767e6602adf155517b7736e6d4bcde945f6707ef7dbb4448defc90153bc19dde19a13aec3c6ec2400e008f1deaedf0dfbffd17041f56787f77f2b0f2d976e3b28de7437d7d373a0f665df8cab6fd76020acea066cc5b0589f1e1afb16324719e9a0886b67ca9c79681108a5568931e59c8d7e92934d97c957939d322", 0x1000, 0x6}, {&(0x7f0000000080)="8e5df9e7adf25c94931ed0451e3f8bab85851240b2885c48d38956b714c724e2aa64b802f40b8ee71a3fc73e622d78a924a24b3925fb133226ec94cadba3a59bda3f31d73192af7422d1b1459d561ec36de8ec87b76972757bc0d064a3c477eefa0097010124ecff951e5ca193a638f2f15416a8d57f79abe242d1f6ed7bdb2c72f0691178472294a09787d012fb82ca4309c7bcc3a0a8c40b6470f8704bfd370a90fbea72c4e49375ee0ca5b25c1d5ea6bee84cf29f708cd582", 0xba, 0xd962}], 0x10080, &(0x7f00000001c0)=ANY=[@ANYBLOB="3ea8ffffff6e34c1581d499b1b667ee19f3d334b800ad8fb07a0bcd73a019c7ec1eb71af5faacfc181f2736b14766d93c1139b89c14cb63e39ba994444a4ba092e664d6eb415eadde1a77ba98ef78967f8691c6d8800000000000000b924fd37846744d5e21dfb8dc7f1fb7879f843bd22b6ca657b63022b2d020fae016a1212750ace7d172a87fedd0a392bf7476f992267dd3acb13d87793a9d950c9fecee6e267241b089dbc0fe27fde04983fa043a5caa8d268c6edca8d09e129eaff1d332cd690e26c42c9bbdcd961cd6897654bb882aec89800661f6ce364"], 0x0) syz_mount_image$v7(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0xda1c, 0x3, &(0x7f0000000140)=[{&(0x7f0000001400)="1f06cd849afd", 0x6}, {&(0x7f0000000400)="ef6996153c19fae38e2aa1e1160d05db4d6094b83bf7633d42c566128824d6475f539221b8c48fb4760995c2bba438f7ab32ddfd4723c6567c331b6de341cea2e70228da2f6aaf6766e1e623bdae0484b551e769a0ca5ee89586a68aedb6d793da44c2c84dc25a26afc897b8d866b27059486dadba4f72a5e50d4f49c86e1a01775d00537e5e493974a6eefcfad41ecc12ac86f66da9e3a23b32980d3bd06bb4db988c4d7c01e99ce612bbd335b8ff8046a01cc8310e6e54e592f5cf0b8d95ee1b44a45778bac3506de11af082ef51b19ad28bdb434fd8c182f3f5a7b5c6d106cc40ab2912b23fc2df709f8bbc6728a21c4401c993eb1be02e157a1f098b9d1494665ef73af077932ced858923cf9298c864769d87ad120e157cb4a970e19025406f7a7ebd609ef63bebc00c2b3926b715a5c38e7b9b2c89b679bf8bc9d2e51044f1308887f866e135a355dedeff7d06e5c9042766246071e7fb55f832ff3b814167bfb3950b575139bb202f8a0cfef85d746b234e3db1c5681faf9d027bc0edd3bb95b27c6b57416161df7b160cab5922fcd4e69f0ffd19ee2f354bf6e1811028a73fa4c7b2c7222ee6b81e1f7c82f411236c15a33316b0c0c8bd208c38ac0a0f2eba5b8f6f709ccd8eb6981b45b390014d6b90ec429567f509bb59215920e4610ff55d8c88ed2ee04561de933d7e3b7942bc6bf976560439ce6b9f23bd684d8f1cda2025347fc1192106ce35b1611d8d4048a1c831def36f586076f33447d9bb5c040e2457bf0d90dfbfbe712ca531ce047adfeeb6d1e9f373f6510815abeb9ca81bb29b204d88a714207d7416c48480d1c6b3a2df088ef007117e7459dd6c707cde41406008ef9c88dc6b0538da89e2d51ffbabf8489a17a0cda95460545e4bf09623e7ddf127cefde26a423a726c1fb0b8dcd543c1d3747dcec2bce4af935c4ad603504f7663fbd452f2fafa6636621011e06f259b5da9d470a6d5f6105d39d3ecbad7fd5ac579588195873fa806527ddc74ab011555a91cd87f0635472bee02a0e9ee367c090ee406b52e3f263391e7056206702b286179529caffff25ad3058f386de3123c16f5a1a058223eafedabe40b2e948864540ef1125ccaa07c623298c05b8c814cd48949e26545e6e1ac4737485efd1942018686758542327172792d8c912e78b05a93ffb2b831b8c8309e72ae9db6007c9d21332a09122b59eadfc800a41a73347c7591344d06f2a6d1e61965ee536e1d6b50324d4c965d1bf85c54dd5b49ee8485d7adf8e27b1869040f7f12bf1467a8a18d89ac3d274bb75e503840d43c24f677ca5cacc139eb945c61723c27b1c15e5e50cc85f2367ca79d22c4a6ecc777d518ca04fab2d3ef6dd2a4f63af789c3c3e429f68311472c7bc1e72f58e0024277b78897ee8cb18f6927c3e83ff9ec506a394330fc97af504fdad18ccc15ce93590e1a97721831f4037d401a336b8394d305d4162ed8042c4ddda807747b9f3056f30ba70c570f5ba1c9cec38502f1f4775590e36a3c862947f0a2a4c4d04b2cf98762651ab3037dacb32ee52703e832b27ec533236f217e47e50abe98e31d78199da4f069dc6a30b99932809132820de28ddcec856994e0ae02d5f53ebdae61fffd2b0fa479f1c72c1f723c43942d33e2f87c29b50e8d66b5121fc11a320c9d0ebcc10bfec202accb882403da20ddcb14fe8848d0069fa65b103ba2b29d2fa05de73bbbd2bdccbf5e7dbd1d6f9e35618e75e573595b06323a5e69c8de17e9b091c0c69438be83b44c2b7ac4059ba1d6b7f5864b54d33b45ecb4fec6398f704f4b3f8b362af7fde6b35febb2fcf2b02b3c2e7fc06c68298f2ed669faf231c6490d2c87699d6e810b7fcab91db37591f5da72cb8bad429e3a4aa469b7b2bc7ffb025b5b4612aa62babb2ff604aa35fc738d73daff141aa55e51b14366520a162449a820668b45aed06cf3ca16ed2d6b81cc288fb64c347ce692eb31f3dc1eb3cee26cd6bf51cb4f758df53a1d533bd7f0628584a094e6ab6339a64dffce710ddd8e75f82ee1e7c656975385ce5fd033883b30f0eb1410ee5b96aa5125a8f49311488a8fbd95d7f945774229a091060c4d0bae1a8808681be7b7bbd29b79b98dbae76622de55d4736f364add7b87f37e91511f4a72d160093b129d63bb9942bf974d8251330d8dbfcfa14d263beeea50ceae9b0b10286073a584d523929ec36a854307327a7240589761d2cda4f27bf4892e37220a7be59bfccc67fa12fdb6b808ac620aba175fd208620d8ca9b19e0ce934468b58ddc1fbb1958cbcc31978c85682a80a4c18450fa8dc92cc76d2d59ee92a1dbe4f3e8f72fbae15fb3e928c5dc274d8cf9b0d5c901db060afb6f6cd122a24724f41fbd8f596663099feee9e67d078c5eb9e5498645817688b7402b6a4bf5c53a81b9e03650e3ba1121db17c484c26df205ac77f40a7f4c92be3572a02769f257615262ab8a7474d37685e3f670b4b36bdbe01fa3048072af7152fa6ed6fb3638fd8ece33b2982560cf8ad94908d4e122a4835d40cd5c437a13edc770dd495d6ca2239ac331ae0dcf0d9d81e8aadb6e957decef520d22242f39330d325f8fa297a8cd5787293f5cb9bacbbdb2c864af5cb5bc9fe99e728472b00ae9e8c70fd32ae5e8d52a5bebc60d4c53821ee5728bf7cb64fdaa8ae11803eb8b6c9a30584026877b541d53d7f468cbfa8981fac16b1875bbdbf9bf1c66832aeb4238138353f637ddeac97dac11918617275c914857fb861ec5d92b0c65c344434eb12f54452c5ffb9f9f7b6095acede7f19dbed687db934614cd3d20206b7ff4a1dfe1575b6956d8e4366d39226bd08010af9e4e275e4c7e1769f469d826b8aa3352fca91cfd752a5ad5e6aee5429c5873d847be5ab9271c0b339d27c07246cc8e01dcbbd3efe3f58232fa380155c49336f89555e259360f933f1ab5d0a7d81dfe46c965bd0725f46e9ddd88ef4dd6d4dbe8e0c5e1d07cf6049e8a9ddd346229f3a6c7da594689dbbd23aac858c03c5426e36daf24f65bbec4d22460ce39cc3b088f09cf334d0a517c27f2c843513dd7c204fe70cb77cdbb80ed8370f4dea7f3b9c224de338bc024058bc6758c17a30646d2c2e9b3ff97adcb0b4f9e84ec2c9ff7f5efd5b10d79623e70f283d82204ebdfc41959d4e9fdd44c8a2d349d6d1a1b41d02050b27cdf8c4d34881e7fd44498ba8df72ed4451a3ca1e61163342ddb3d613341d5732b6dfa0d60c067637815a290b06a78f7c6e2beb0a0675d27ac92c7c2bfde1cf8ec7307425c175738e25d6e9112d43abde99c6bf99cb246dabf9b47435e5287bd43aba8ab2db39f89472dcc047f0b7cd198f745a7731e402850a0d133a2d416fedf6f4b39c726bffeacbf4b630c8bb90d0dd9d71c8a8fee326cadf3c5042cbb0bd719f671f670223fcbd75e23a36a6864a129e9a3795a26f78c944b1a1184a10864352542ba1ce02aaf9a55a67226c42ae948501da40e5af84c129cff1dd2a61499e87cd816f705abd14fbebeed687bdd7c72670cc9621a97b3ad6186001c69706c6551f1a052219d596793ad3ca19b793838ab85fc40fe91aacf96d0de014b151c1304f61f9232f4ca350289f28ba9c0f94a33d3387d363aa7bb5453b004afa547b2725e2c010d0a15848455719655e89c2287d47f8c37b2b8e6ff3e727a2f9414b270a256c5e4b2ab4fabe6d19c89d5f9c1b302af878bc631f1611f0118186a46b3422b8e120392c4b924a98b513ec025eb6a7ec6eef72245694d4d3fb85fa8e0f36c1a16b28144070fe4fc5a6a0f0441e6bd359cac50da17d9d594ed19277f9aa5988770f23974ce516023fae76671856a39c3dd47ea148cd98e0c7e4c701aa4c50583c87c571b249049705cbd079c7048ad4efc87b54f781c484db8ac9bb8d7cdee9f0f91a56bc58b6f667480e7d13e17f63f751156f0355d1165c20ad517396c3e374c71cd0644a1066993c7b54abcc9ee1045be272f215a3cf879c84cb74a6b78a4d5bc45583f938b187d19e999932c0f0c7b509e6a1430c66485d258d2c8186fcc6c9dfc1c0751a18d35915e74be415466c3ba0a029dd8a0ef38a71fa543e3cf23d306eaf3dbd49211898a1fdf4d0573e282eb49a0259c8be487985a1b433d3dc6961e27d98fa3fa50217a6639355cecf8cc6d9d30df4e43335ee21742bfea81dae93c35a7f7d3ee44a059eab066d05d0ba5c12a9a25af95030801e645d0c093f0ea8d4696c3c84c8a8827498df48be18003b6bec3c928654d9d17c8deb666caa3cf2ec78116c63ffba811114ce2c17157f9268931f0009580eb15895c06535aa04c553c068a9af3838c9625ce6f8979e245976a0918d1a0243c49dc4f23399205075b6a086ed0091a60e595b929a1684206e043f8f591199b34d68a460ef51daf6e9cedf7d1b7ddf306114b810b63ae6c0d5b3f96db9e327f8e80b66a97c3477408f6bec4379062937ae27808ef77c70791094192af20385226392f6791cf539ff38fe55f34a9f1fd8add80e64ddb11ad42ddd0e0c07ee27cda511e7afbb5ff43ceb12038708b3514dfd8c8011472ed316264f2679958f2ff6cb8b43173a90bdb2db953ef534a59206436d20c314b4f6aefe1bf9c0001158c42e7c03a815095f84284fab5c3ae14cfb7ac1c0ab573ac57501ff8df6aec6b1d04cf90abf27b48e24a229b57835024907851970eb6401737f83679b8d0189771d00cb0da83650d425e9cb29ea96251fcd133d64c97d0789e9ccc9ad214b71dc1c70cae7d87084067d3bc4c098465078e1c1ca7b86df52492b0b59d1344e31da00ddb3874ed49aaeaddda518447d1f7c64743cb733475d39d223015d01e6498dc6bb799b264682c9cb3d65171363a48a56c0fd2c28390cbdee091fa098ffb0e77cfd3b0490ebd977e4b4ee9d832620c280e38c5dccc502cb2fdc8b3be11217a7dcbef7e1bf4d3a6b0484d58de4c3b6a8c797c980136e79b8eb66759798bdf2ed0b8be5225396f01e58907cb3f4ffa6136f6b91105977e596265dfb5da0406e163a1ceeedbe5474e859385b7e0a359210b76ff8ff78c4f86fea364ccb10728633c925ea777df5a4101b53ecd3d812ca32fa9298aa55674f500f91d607bc71eafef04aa129cb3527437bd545da19854b2c5d2d849813ef860399e6cee4c1a29f5f2a3a568be1bc89570f7fcbc17ae4876aa4633a9a7fe672be08247e37a65e80634002392feacc68aeae89c4884b0278ef9c20170c363dcaa237d07df57024fc57d7be655d1b791402a7bde99cbc16dfe14990b54bbbcad19a4c98ae5b56664e19aa8c4a35d9013c425b9ac8cfb4e83c4e55043f86d93bbdb37b989e0080e748d90b598d439c09a778f1e9bc69e237dccb9be49949ff04b0c54b359e88bbe22773b8815341cbb86b2182386183665392bc13c69dff35ec278a0ea95fd5149a6488db43b20f3a0881aa4a80754100b6048c763746ad8b32ec530e364cacd3e96a8e60779640c05fc6d3785f3d32429dbee578b20a4c8005fb9d457b623b88df371c79573844c0c87eaba6c29b461ac3eba6e443aa42efe32f09da761b59c3045ca46a6f70e3d0d0ba98a8d44e69cdcb7e4e767e6602adf155517b7736e6d4bcde945f6707ef7dbb4448defc90153bc19dde19a13aec3c6ec2400e008f1deaedf0dfbffd17041f56787f77f2b0f2d976e3b28de7437d7d373a0f665df8cab6fd76020acea066cc5b0589f1e1afb16324719e9a0886b67ca9c79681108a5568931e59c8d7e92934d97c957939d322", 0x1000, 0x6}, {&(0x7f0000000080)="8e5df9e7adf25c94931ed0451e3f8bab85851240b2885c48d38956b714c724e2aa64b802f40b8ee71a3fc73e622d78a924a24b3925fb133226ec94cadba3a59bda3f31d73192af7422d1b1459d561ec36de8ec87b76972757bc0d064a3c477eefa0097010124ecff951e5ca193a638f2f15416a8d57f79abe242d1f6ed7bdb2c72f0691178472294a09787d012fb82ca4309c7bcc3a0a8c40b6470f8704bfd370a90fbea72c4e49375ee0ca5b25c1d5ea6bee84cf29f708cd582", 0xba, 0xd962}], 0x10080, &(0x7f00000001c0)=ANY=[@ANYBLOB="3ea8ffffff6e34c1581d499b1b667ee19f3d334b800ad8fb07a0bcd73a019c7ec1eb71af5faacfc181f2736b14766d93c1139b89c14cb63e39ba994444a4ba092e664d6eb415eadde1a77ba98ef78967f8691c6d8800000000000000b924fd37846744d5e21dfb8dc7f1fb7879f843bd22b6ca657b63022b2d020fae016a1212750ace7d172a87fedd0a392bf7476f992267dd3acb13d87793a9d950c9fecee6e267241b089dbc0fe27fde04983fa043a5caa8d268c6edca8d09e129eaff1d332cd690e26c42c9bbdcd961cd6897654bb882aec89800661f6ce364"], 0x0) (async) 03:37:58 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x6b, 0x11, 0xe}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0xac, &(0x7f0000000200)=""/4096, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) r0 = socket$nl_route(0x10, 0x3, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000002c0)={'erspan0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000002700)=@newlink={0x48, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @erspan={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_ERSPAN_VER={0x5, 0x16, 0x2}, @IFLA_GRE_ERSPAN_DIR={0x5, 0x17, 0x2}]}}}]}, 0x48}}, 0x0) sendmsg$xdp(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000040)={0x2c, 0x5, r2, 0xb}, 0x10, &(0x7f0000000100)=[{&(0x7f0000000080)="b55dd636b977a38234fe80bacb0641", 0xf}, {&(0x7f0000001200)="a535e53bf8dd1f834473789ea5536123df6adfd980077db1a498fdc6d1b38c70bdcd72634f7e80accd87374fe7d42154d0a465963089f3f7ed5bd55e91af8928ed728c700f7011c4781e9c9abae7de84a546e0ac363a0a2130a305794885f843cfcc7cafa2669a70d394defc4e1919ff30875ecbc840880a259b0542100459c5b367017f94fad35aeb4d585a3bc456db20106415ac2fd08ec1623c7b411df080051dc49e0594718ec1fa26fa0326ed2d3b64f8ef367f174c52f33e91ca84549aa8dd3c58ef02dafad43f8f383921fea4eacd0f9389651e493b6bc397afb5feef6a9838464564ceb6490f161156feb348b2284090f01c5f26bc55384d8a1b2cbb6a33dab21a1d4382e2c381973a64685bc7015eefa9d205707d2a5d439c0970465f2133bbe0116201245ef84e4e54d7739e4ea5efeb30c0e9ddaded7b3b04ea263154da6825ea7c5a8aac724519e365780c051d75fcda68b11f8a8d87b4dbf957139f553dadb53bb314ac757ca8b4c37f6eaf0200d13debda2739ea1062da7e5541de6c879e4ad0dd033df6a9f0d57be29be6bbaa91fd5c7b6de48376c89debedef76cc2a9ac79397f3fc10b8b8530c48dadcdcfffcbf156db1e11fe0e971240a1de6f8ae3061258604552486fba468c2b8d01749ee19e5b7f0cda45e8dd63809dc3f60e0a5ddb1c0e65a9533ddf529e4e3aa3a3fa5b8d4f3491f2f0c20a767d6412c7c7712e271c6150e77013723496bb9a8e9b30d86e72cdd8fa08c4b03d44d46f01fafbf7e0302dd86d74a52b181358e801cdfecd1351c9c4e8ceeadfeec29a55300c1b768155d2a5062998af061c15debcc7eea5ae9fd1455b2b4e954f60badf24016531c5ead24982933db15ffd8c1f378d5442a67e04b127246303425804de012527e51eab8615f89d1e4832e4ffaa7749d119241be39d89b875879fe69542856cb1aa3c1d49a0a7e3e5da7229034cf230364a4e9c43af975583eb096db15578b7f659730e8028fdd6efa027154927cb1c0eeb86c4a220997358b546a1c2aba4fab43c173d1044827df22e3b1581a40550d10756b732322d6d650ce752e02a74940d4174695ee701933330ed4a33b391bb2f62a2ec4b954a041858cbef248f500d9b6e780bb6c6cc8daae4aa8be1a5683a914ddc73e6ea11e86ff51a0eccdc7c76244bb877e2bb35fe2ed60479e52e5e4f1dd178fd1b3639dedb5b7abccf4389de69b2edccbc095eded1852afbe0c0ce2e9e8588cdbd881dbc63c4b5c5efaf4af59e7a72c8b3e4360c09a08a8c4cff3d0fe823f3ac8664edac4d6cfaa60a3d40f9a878eeccb6aac1eb46abef10a6f719e53a58254e15f2791321956ff3530890dd0b8a057fe70af751d0d0130058b18575dbc51715821eca040487957b232ff04500bbf966f8718b3870b07360502e564e1a9a03de1b588bfef7d0ed1a0cee66befd5a40c5f6f33db8e2a5c17500adea745ffe984f7770d5102a55719f28933e84b141bb13319dedb9be6ee4e77c25f3feff29b9e708810ca55b0e65484fe7b372986c69dad9903d4fc7b2835849708076c1a18aed19e5bc08089553688cace5cf7d34fdda5e02a64d511fe236474deebaa6d825ab95b612239f0ed9ff6af2cbba168ec5b6962afcc2e78be81eadf17d49b2a1cc3c8d9ca320ebf86324d18d0b48866979d6518c9e865b43791084b7052faf4718b00211d60080861c99ffdaf87f26f032f7879885a6c48182fc029a85f51fb1f81a310e3f5a55133827ee69d6ad6aea60ad2b7abbe85c477c85259a79c15e24c7dcf48239f0b0109718a2e59b07e846b74d7eb33c61c969f9e0570f2e9d093be684758e48b193fc1382da8965d0ddd2fd28787557c4b0516abab6e3bf4d6038066d33cb11466f0500a7931120b82b0666da3b9b0f0ed39623e6fc55489479ff239c0d06fda25caf157382ce048db8460ae9c41b88ef38e5ef871c2e6805221021397f9806ce961d0f06b5a74b7a192ed3ec726233cd08398acb94c32d5d07e2f2ac90a8035cc7f18aa4fb1a6791956b29bee7c39ad1f6e06258432fcc1929ff66950c9b5b69d1d60038540e957ee28d03d4c960e0a795ab81fd5abdf99704bfcdf07fa554f97b8a4772ab5d80247f827aabfe771a490adfaf75171b69bec16e96f7021926f94546fd76b26694123a4cf18e77c66d70ac9f313e0fcccac5601d84cd3fe7c66e07296d4ce8f7dc3a270ebbcd9f7ce02991b6fc6c345fff31a5e4e87f4732896c4c45dc9deab738bff9599f0edebf0391f6e27550c5e96f3b423ed47222b78a06dfb0a020d5630435eebac51a8f4abfe0581e2426116d32548c5085825aa92ba344ba85182a5aa31946ed2352d75d51c52d8b047b3cb9963a93d305dc7d8f179edb6d81dab35835c5c961cddc4cddf7cb1f5b59d4158b813933105833a4a3dba3774a58fef528ef394e17c9b497b2e8ac89c40c478632b94c470838a98aeb847fb67f9aece026780025ca66641b6c684c755398f56418a742c64bbf0848a197f6316e0470f21263f0284b34f873909f724cbe57723db796435952fcf3a05dc6fe06c9292109084bf1c593151c65c59e8aff8a256fe77eecfbec1f18fccbcec7454cc9dedad61b0d6a1c169213f9f31ad5a3b8caf238547886e4c136938118bfc3b28dfb284650f14781f97c43256f194370c991073ff4000d71c54f3aa8d80c43dc6ba0feaf774e10378988fe07a26dec04af754c0bd9a813515d4a572df8a3c0ca2e22979c5d61c1410abd41777c8deb34ff548e2ffbecbfb4ecfddad34a80447a34cedc922a19497f4dfa1c5f2d93049966d1652d5d3e11597f41395cae718ec988dab1fec1bcd26b1af4ab0bcea89cb9313b3fb01d837fe32877070c1ec9203df008941fdbba3cbde00aa6dbd3839ee6a3b64790ce3b8def8ed03183df0a71484cf6bb80d33678c06d27c66481056c9998b683ef029f40a1839394b1cabf0a05370cc0cd67936c7e66bb1763e617c224ec3ef5f63fc9ded8b30d942d20ec602ca13f8d68cc76b2d3d65fbe59fe996c52e3cbfae51126616516c6bc3afbdd107cde1689ff0c2e271c3d92dea798f19dfad8d7e55eaea8e4051008c030811eba31d13d5ff33499916ce05c2916218a9aa34f8ee870fb98a3f0257ceff8f1736d9be51039e13421db6a7a078d15832ad862ae5ad039d48e95aa04d054c58ad0d7cf1e8efbcfc076850e7cc22896ae639f09ce04077b850c50b570f7622a236d740a4b1bfe87e5e34ce1b0f4b3e503e9d87b87d42e1fa104ed5d0623af5aa7870ae93f92bb6080077995b94377e46c7b843554947cfe3a1f7d80f916b2a1f900bbdc2475a6ba5702b51b17e7af012a07346dae3c60e974ba59a83d7f03c8fbec4930295d31086a2ff21a0dbb7134bca3292e84137d44ff0fd005c0d9f00c20eca0258c14d4f32102ebf47a332c71c986ccaa923dfdf8ebf81a36352a6ead7ede3e57d9b3adf05c18c4fa9723f2b35b56b2630cc365b46bcb7e629383ed31d5e53d289e67c54972431aad6c78a25f1244e4273cec502de141a3a0a9a4b05511d7073413ad0a5787e4b62f2302d8072366d587345a8ac567d3c7d248d3e0113a6f3dcd2c559064ed465d5b62b27eeeb80e92635ec94bea74a59839df8bd7fe6548641d3a64664838ea843b472272ccedbc1061baa4b0189ea150e8e6e2902665eb451d1006834eab1c8a8875a422814a85c9fd176425c44dc6f5dd822ef3bdca4a453476324c3c93a16849a2e44ae74c9ac2fcf660fe0f33e81f80fa4f3f404f2dfb76154fa4407b67d03d2d873e81018d8638ec1ff3d79271b47f981ef4f730d38c03a7630b659c587670f14c8e44b540f31a96cfa9edca3ae188083b5113afbb8353a28a2c323b2e9f44b241eddbcb324820f4894ce66fd3a8316428a39e2c32c1b23dc6eb5c5c185dd133885c4946afd1d01bf8fba8f06be9c627f3335915dd98a6b4944dcf6f0940b82e71fa11abd5127d4c14d68bfd814672c842bb605215aa778398aa701c500002316c916b194dbb02681aae3ac6de94890b9bf7fdadb57b2ee0a664809f13afddbb1f894e89f4f503111782085afbd1fb8fd7ce45eece80050905fc1ba79aa8a6d23613f7a7a2c5dd08a451ed41710e7e6d523ee26e4773f28fb1d17e06bd8dc8c47233abcbc363400a923dee6fe8e8d943d0393791cd69aabe82da5aea578ccc5737101f0e65413a30184c701ff5f0b3fff5058a210e711c67d7d8041dbc44ef3379701dc6d8da07771fdf2b420b24602eb25e0ec87b57d435c98c7de95bd82264909a7d14f8dd53f03bcfd754664e92fb9235cb178507ab93b9e957b1c56680fa1ab68ebfc840a57a2a48b98add6be43c1bb3cff6e90da0d5116e48cf183eb2fb7aa1cdb5463ce763d3c69bb1cff0b9b6e1c1b3322081ceaf6262262f8cfdc79bd3931b64733caf897b7bcc6456f5f8a1ab30c3bdc7b21158b18c6f5ea84734bdfeb686448131eece44f060c13fc48832ba2479400bb000316eec9ad7c5bc45a0d02f1cae7eb92e974fda702f67a674bb6498999700e073568dd0e8faea716e7d765183cd5bba711ee4571821d0251eeb5ae4da694399b77c8c44d021783fa3983aec5214f3fb778d55e71bfc2d3d4f3e72c9bf4bb24eff471b605a83124841f76d435f9c4ea433f439a11eff9dcb60315987db50a10c84c70b915c2fdae74fdf89e6fb0c1a9fae7b3da7a382934d6ebc5b3e564a432bf32f966c83d82a222e3619f78f024f19f23a21f7de1c774992dbaf08ddf077087aae5f3012a41f912442032b186303f09db7ab1b5292094315badf3ca8f90d19f143d73adac5b51f246a9bbcec98c0450e262f3d89f0952b1f87696f189bff08b58768c51cc0c14205f4c4154dc6fb0e281adfa9b3696c5eb7e198ddccd219ada9d50bd06993cf35618434a3229e8c14019ad8863bd4cce601364bbc40425d50c3870b0ffeb2da870744ff428c8d3f20925bde6986512fe69cf5c72d4aa988e68b296ed3edd979f5f1b1621e9572aef2498184f9c0437bfb9c222094d52cf5f952c6ce848b668c6a22974178864091eb4c9d038ba142208ed744e50417f98d2707865341b56fd78270e82c68f53f145aa3130ec1ae8efc8a40e09428bffa6a134fcbc6afd129f499be33761c2dc6dddb08a66e269488f2a29cc677de429d7abf9457a0f2cd27f88a4d30615dfc7149a2942b9c80c5a831a95b301e6bb3c5a6612a1f8477fc922f48268a2927246ec8d67c994e0486dcb18b08e7b687577e48b9bd9a7cf5c9305733ea8b84b432301ec9271540c834c089c7d70cc50850ea50ad6cb32737e4e42c01940ffcc1f0c1743c1f18877bc13e7752b9c1797882984d3f52014869315c0d75877d24d3cbc952a78ddb03def3458ffea1665a0bb5a6632248c7626df4aac4da690273a45230d77708371de6b66b9b9b557d8c2bd1d9da5957c8e1e3ad1981c417122147190bf504b46d6d6f4de29d16b0e3b1dba4b77e1391ce735944c0d74e71ae23e3b50e9eae07896cd59f7ef554db17bb417cded362920447ca566f70328216ad72da5d2d292ac1ff448560656746a87ec7a83fad3cd23a881058efda5fdf75279d6df2df98ab4c07529463ebc213c59307279b674374cbc950a8a66de5cd0c12ceea6b7ed66158a5df97c2837cfeb9c83dbd3f5a101cfe501b9df9dfae2272c9a1a1212f5ec39be0a1387a1f4b88fd6f155defda39c387ed943c82807d578dd6c74f7d96754a31ab0bc2adaab557204ae1a5e5670c7c89ab6d6", 0x1000}], 0x2, 0x0, 0x0, 0x4000080}, 0x20000841) bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x6b, 0x11, 0xe}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0xac, &(0x7f0000000200)=""/4096, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) (async) socket$nl_route(0x10, 0x3, 0x0) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)) (async) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000002c0)={'erspan0\x00'}) (async) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000002700)=@newlink={0x48, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @erspan={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_ERSPAN_VER={0x5, 0x16, 0x2}, @IFLA_GRE_ERSPAN_DIR={0x5, 0x17, 0x2}]}}}]}, 0x48}}, 0x0) (async) sendmsg$xdp(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000040)={0x2c, 0x5, r2, 0xb}, 0x10, &(0x7f0000000100)=[{&(0x7f0000000080)="b55dd636b977a38234fe80bacb0641", 0xf}, {&(0x7f0000001200)="a535e53bf8dd1f834473789ea5536123df6adfd980077db1a498fdc6d1b38c70bdcd72634f7e80accd87374fe7d42154d0a465963089f3f7ed5bd55e91af8928ed728c700f7011c4781e9c9abae7de84a546e0ac363a0a2130a305794885f843cfcc7cafa2669a70d394defc4e1919ff30875ecbc840880a259b0542100459c5b367017f94fad35aeb4d585a3bc456db20106415ac2fd08ec1623c7b411df080051dc49e0594718ec1fa26fa0326ed2d3b64f8ef367f174c52f33e91ca84549aa8dd3c58ef02dafad43f8f383921fea4eacd0f9389651e493b6bc397afb5feef6a9838464564ceb6490f161156feb348b2284090f01c5f26bc55384d8a1b2cbb6a33dab21a1d4382e2c381973a64685bc7015eefa9d205707d2a5d439c0970465f2133bbe0116201245ef84e4e54d7739e4ea5efeb30c0e9ddaded7b3b04ea263154da6825ea7c5a8aac724519e365780c051d75fcda68b11f8a8d87b4dbf957139f553dadb53bb314ac757ca8b4c37f6eaf0200d13debda2739ea1062da7e5541de6c879e4ad0dd033df6a9f0d57be29be6bbaa91fd5c7b6de48376c89debedef76cc2a9ac79397f3fc10b8b8530c48dadcdcfffcbf156db1e11fe0e971240a1de6f8ae3061258604552486fba468c2b8d01749ee19e5b7f0cda45e8dd63809dc3f60e0a5ddb1c0e65a9533ddf529e4e3aa3a3fa5b8d4f3491f2f0c20a767d6412c7c7712e271c6150e77013723496bb9a8e9b30d86e72cdd8fa08c4b03d44d46f01fafbf7e0302dd86d74a52b181358e801cdfecd1351c9c4e8ceeadfeec29a55300c1b768155d2a5062998af061c15debcc7eea5ae9fd1455b2b4e954f60badf24016531c5ead24982933db15ffd8c1f378d5442a67e04b127246303425804de012527e51eab8615f89d1e4832e4ffaa7749d119241be39d89b875879fe69542856cb1aa3c1d49a0a7e3e5da7229034cf230364a4e9c43af975583eb096db15578b7f659730e8028fdd6efa027154927cb1c0eeb86c4a220997358b546a1c2aba4fab43c173d1044827df22e3b1581a40550d10756b732322d6d650ce752e02a74940d4174695ee701933330ed4a33b391bb2f62a2ec4b954a041858cbef248f500d9b6e780bb6c6cc8daae4aa8be1a5683a914ddc73e6ea11e86ff51a0eccdc7c76244bb877e2bb35fe2ed60479e52e5e4f1dd178fd1b3639dedb5b7abccf4389de69b2edccbc095eded1852afbe0c0ce2e9e8588cdbd881dbc63c4b5c5efaf4af59e7a72c8b3e4360c09a08a8c4cff3d0fe823f3ac8664edac4d6cfaa60a3d40f9a878eeccb6aac1eb46abef10a6f719e53a58254e15f2791321956ff3530890dd0b8a057fe70af751d0d0130058b18575dbc51715821eca040487957b232ff04500bbf966f8718b3870b07360502e564e1a9a03de1b588bfef7d0ed1a0cee66befd5a40c5f6f33db8e2a5c17500adea745ffe984f7770d5102a55719f28933e84b141bb13319dedb9be6ee4e77c25f3feff29b9e708810ca55b0e65484fe7b372986c69dad9903d4fc7b2835849708076c1a18aed19e5bc08089553688cace5cf7d34fdda5e02a64d511fe236474deebaa6d825ab95b612239f0ed9ff6af2cbba168ec5b6962afcc2e78be81eadf17d49b2a1cc3c8d9ca320ebf86324d18d0b48866979d6518c9e865b43791084b7052faf4718b00211d60080861c99ffdaf87f26f032f7879885a6c48182fc029a85f51fb1f81a310e3f5a55133827ee69d6ad6aea60ad2b7abbe85c477c85259a79c15e24c7dcf48239f0b0109718a2e59b07e846b74d7eb33c61c969f9e0570f2e9d093be684758e48b193fc1382da8965d0ddd2fd28787557c4b0516abab6e3bf4d6038066d33cb11466f0500a7931120b82b0666da3b9b0f0ed39623e6fc55489479ff239c0d06fda25caf157382ce048db8460ae9c41b88ef38e5ef871c2e6805221021397f9806ce961d0f06b5a74b7a192ed3ec726233cd08398acb94c32d5d07e2f2ac90a8035cc7f18aa4fb1a6791956b29bee7c39ad1f6e06258432fcc1929ff66950c9b5b69d1d60038540e957ee28d03d4c960e0a795ab81fd5abdf99704bfcdf07fa554f97b8a4772ab5d80247f827aabfe771a490adfaf75171b69bec16e96f7021926f94546fd76b26694123a4cf18e77c66d70ac9f313e0fcccac5601d84cd3fe7c66e07296d4ce8f7dc3a270ebbcd9f7ce02991b6fc6c345fff31a5e4e87f4732896c4c45dc9deab738bff9599f0edebf0391f6e27550c5e96f3b423ed47222b78a06dfb0a020d5630435eebac51a8f4abfe0581e2426116d32548c5085825aa92ba344ba85182a5aa31946ed2352d75d51c52d8b047b3cb9963a93d305dc7d8f179edb6d81dab35835c5c961cddc4cddf7cb1f5b59d4158b813933105833a4a3dba3774a58fef528ef394e17c9b497b2e8ac89c40c478632b94c470838a98aeb847fb67f9aece026780025ca66641b6c684c755398f56418a742c64bbf0848a197f6316e0470f21263f0284b34f873909f724cbe57723db796435952fcf3a05dc6fe06c9292109084bf1c593151c65c59e8aff8a256fe77eecfbec1f18fccbcec7454cc9dedad61b0d6a1c169213f9f31ad5a3b8caf238547886e4c136938118bfc3b28dfb284650f14781f97c43256f194370c991073ff4000d71c54f3aa8d80c43dc6ba0feaf774e10378988fe07a26dec04af754c0bd9a813515d4a572df8a3c0ca2e22979c5d61c1410abd41777c8deb34ff548e2ffbecbfb4ecfddad34a80447a34cedc922a19497f4dfa1c5f2d93049966d1652d5d3e11597f41395cae718ec988dab1fec1bcd26b1af4ab0bcea89cb9313b3fb01d837fe32877070c1ec9203df008941fdbba3cbde00aa6dbd3839ee6a3b64790ce3b8def8ed03183df0a71484cf6bb80d33678c06d27c66481056c9998b683ef029f40a1839394b1cabf0a05370cc0cd67936c7e66bb1763e617c224ec3ef5f63fc9ded8b30d942d20ec602ca13f8d68cc76b2d3d65fbe59fe996c52e3cbfae51126616516c6bc3afbdd107cde1689ff0c2e271c3d92dea798f19dfad8d7e55eaea8e4051008c030811eba31d13d5ff33499916ce05c2916218a9aa34f8ee870fb98a3f0257ceff8f1736d9be51039e13421db6a7a078d15832ad862ae5ad039d48e95aa04d054c58ad0d7cf1e8efbcfc076850e7cc22896ae639f09ce04077b850c50b570f7622a236d740a4b1bfe87e5e34ce1b0f4b3e503e9d87b87d42e1fa104ed5d0623af5aa7870ae93f92bb6080077995b94377e46c7b843554947cfe3a1f7d80f916b2a1f900bbdc2475a6ba5702b51b17e7af012a07346dae3c60e974ba59a83d7f03c8fbec4930295d31086a2ff21a0dbb7134bca3292e84137d44ff0fd005c0d9f00c20eca0258c14d4f32102ebf47a332c71c986ccaa923dfdf8ebf81a36352a6ead7ede3e57d9b3adf05c18c4fa9723f2b35b56b2630cc365b46bcb7e629383ed31d5e53d289e67c54972431aad6c78a25f1244e4273cec502de141a3a0a9a4b05511d7073413ad0a5787e4b62f2302d8072366d587345a8ac567d3c7d248d3e0113a6f3dcd2c559064ed465d5b62b27eeeb80e92635ec94bea74a59839df8bd7fe6548641d3a64664838ea843b472272ccedbc1061baa4b0189ea150e8e6e2902665eb451d1006834eab1c8a8875a422814a85c9fd176425c44dc6f5dd822ef3bdca4a453476324c3c93a16849a2e44ae74c9ac2fcf660fe0f33e81f80fa4f3f404f2dfb76154fa4407b67d03d2d873e81018d8638ec1ff3d79271b47f981ef4f730d38c03a7630b659c587670f14c8e44b540f31a96cfa9edca3ae188083b5113afbb8353a28a2c323b2e9f44b241eddbcb324820f4894ce66fd3a8316428a39e2c32c1b23dc6eb5c5c185dd133885c4946afd1d01bf8fba8f06be9c627f3335915dd98a6b4944dcf6f0940b82e71fa11abd5127d4c14d68bfd814672c842bb605215aa778398aa701c500002316c916b194dbb02681aae3ac6de94890b9bf7fdadb57b2ee0a664809f13afddbb1f894e89f4f503111782085afbd1fb8fd7ce45eece80050905fc1ba79aa8a6d23613f7a7a2c5dd08a451ed41710e7e6d523ee26e4773f28fb1d17e06bd8dc8c47233abcbc363400a923dee6fe8e8d943d0393791cd69aabe82da5aea578ccc5737101f0e65413a30184c701ff5f0b3fff5058a210e711c67d7d8041dbc44ef3379701dc6d8da07771fdf2b420b24602eb25e0ec87b57d435c98c7de95bd82264909a7d14f8dd53f03bcfd754664e92fb9235cb178507ab93b9e957b1c56680fa1ab68ebfc840a57a2a48b98add6be43c1bb3cff6e90da0d5116e48cf183eb2fb7aa1cdb5463ce763d3c69bb1cff0b9b6e1c1b3322081ceaf6262262f8cfdc79bd3931b64733caf897b7bcc6456f5f8a1ab30c3bdc7b21158b18c6f5ea84734bdfeb686448131eece44f060c13fc48832ba2479400bb000316eec9ad7c5bc45a0d02f1cae7eb92e974fda702f67a674bb6498999700e073568dd0e8faea716e7d765183cd5bba711ee4571821d0251eeb5ae4da694399b77c8c44d021783fa3983aec5214f3fb778d55e71bfc2d3d4f3e72c9bf4bb24eff471b605a83124841f76d435f9c4ea433f439a11eff9dcb60315987db50a10c84c70b915c2fdae74fdf89e6fb0c1a9fae7b3da7a382934d6ebc5b3e564a432bf32f966c83d82a222e3619f78f024f19f23a21f7de1c774992dbaf08ddf077087aae5f3012a41f912442032b186303f09db7ab1b5292094315badf3ca8f90d19f143d73adac5b51f246a9bbcec98c0450e262f3d89f0952b1f87696f189bff08b58768c51cc0c14205f4c4154dc6fb0e281adfa9b3696c5eb7e198ddccd219ada9d50bd06993cf35618434a3229e8c14019ad8863bd4cce601364bbc40425d50c3870b0ffeb2da870744ff428c8d3f20925bde6986512fe69cf5c72d4aa988e68b296ed3edd979f5f1b1621e9572aef2498184f9c0437bfb9c222094d52cf5f952c6ce848b668c6a22974178864091eb4c9d038ba142208ed744e50417f98d2707865341b56fd78270e82c68f53f145aa3130ec1ae8efc8a40e09428bffa6a134fcbc6afd129f499be33761c2dc6dddb08a66e269488f2a29cc677de429d7abf9457a0f2cd27f88a4d30615dfc7149a2942b9c80c5a831a95b301e6bb3c5a6612a1f8477fc922f48268a2927246ec8d67c994e0486dcb18b08e7b687577e48b9bd9a7cf5c9305733ea8b84b432301ec9271540c834c089c7d70cc50850ea50ad6cb32737e4e42c01940ffcc1f0c1743c1f18877bc13e7752b9c1797882984d3f52014869315c0d75877d24d3cbc952a78ddb03def3458ffea1665a0bb5a6632248c7626df4aac4da690273a45230d77708371de6b66b9b9b557d8c2bd1d9da5957c8e1e3ad1981c417122147190bf504b46d6d6f4de29d16b0e3b1dba4b77e1391ce735944c0d74e71ae23e3b50e9eae07896cd59f7ef554db17bb417cded362920447ca566f70328216ad72da5d2d292ac1ff448560656746a87ec7a83fad3cd23a881058efda5fdf75279d6df2df98ab4c07529463ebc213c59307279b674374cbc950a8a66de5cd0c12ceea6b7ed66158a5df97c2837cfeb9c83dbd3f5a101cfe501b9df9dfae2272c9a1a1212f5ec39be0a1387a1f4b88fd6f155defda39c387ed943c82807d578dd6c74f7d96754a31ab0bc2adaab557204ae1a5e5670c7c89ab6d6", 0x1000}], 0x2, 0x0, 0x0, 0x4000080}, 0x20000841) (async) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff00", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 5: syz_mount_image$ntfs3(&(0x7f0000000580), &(0x7f0000000100)='./file0\x00', 0x404603, 0x14, &(0x7f0000000bc0)=[{&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x736, 0x7ff}, {&(0x7f0000000dc0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600800000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b000000000000000180014000000c140b0b80800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002000000004ede8aba7cb37f4a5a8d7e31811fcfb64415d99576ce776f8484ab8f3e8faaa0bb741558a875ac23bdf1790bc8ea1f926c924deee4d3e970d8a34c7f7c35dcc900275045d5448c9410c0c64d2b88b225a7e11c06cc105cc4d1b072cebcc40ff8e24b93990c60cd8caf713d4725b501cb8741618ac4026b90ba90a4ab8b4ede1bbfea80596137c56c483915190428b2c91137ad", 0x3a8, 0xf35}, {&(0x7f0000000140)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000003c0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000001c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300003000000000000000000020000e538000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4ce0100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000e10004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000080)="000000000000000000a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29", 0x47, 0x49e0}, {&(0x7f0000000940)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c000000180000000000000000000000030100000000000080000000188a5808f1141c06a3a26b1c603a9168", 0x1f4, 0x4be0}, {&(0x7f0000002a40)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000002640)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147269c404cd254655548ba4c3cfd75928869c6bc328be1f037332b1d425fae96bd6425bc7495e2aa2ca9713c6f438948b7159fdeb9dcf6a153ca9802e8298ef5dbd8acb5fd90f12f67895ab87248b1e3d8db44be7c5164fa59062ee61c908d42f9ba0fbc3cbbb38300f99df17f85574db86d882337a2c4549f180dd22488e54cb84549f8437e5c2ec88fdd46acdef932970a2aa17cb548b1a719fe757ed14e4df4107611af7866b9385a0ddfa898b595f6f58bb59fd8e3c86200d40ead72c975728843da707a4de82e034ef55c9a09520d986deb4d481ff9dbbd0fd6b989b7063b32ae16014997aa8786b7c168e6e58ad8fe6204c51dcae8e3288c00535dba5acab1905176c14facb31c54e0f507ce6d6652d7bd179c770104000000dbc524b8588b4e8d9daf", 0x27a, 0x57e0}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe0}, {&(0x7f0000011520)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67de}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f0000000340)="00643122b5590d927bd4442eb1f9c054623e4be77a286170369ee388e5f8b284635c1d55c62d1937a0e902a637c17c3592bea76f54ba91adce10f40dce9acb00c2f058cb4f3055ce64749dac95e084ba", 0x50, 0x46080}, {&(0x7f00000007c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f00000104a0)="00000000000000270000000000000000000000000000000000000000000002", 0x1f, 0x4045de}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) sendto$inet(0xffffffffffffffff, &(0x7f0000001180)="b4fe7ede1bcb4390ca10d21f1843225d6ea9c5db324ba5e59b14236a50cf64af81a1b51051382873d9603aadfb9397ea0afc058c59fcbf1ae526f2658f676567002fc68e0337c1d9e781af08fe1a1f12b430785888fc9e59bab6d8a709f79e9bf5549ae464521345f74b54bd63aae5859ca61eed71da54bff879428d217969c147b78e3ea95ad0638c1a89b4193b3ecc4ccc5bcd86f4dca201eb95affce34771dfb05998dff7b10bb47a6193e25178a031d0", 0xb2, 0x40000, &(0x7f0000000000)={0x2, 0x4e21, @rand_addr=0x64010101}, 0x10) 03:37:58 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 1: syz_mount_image$v7(&(0x7f0000000000), &(0x7f0000000040)='./file0\x00', 0xda1c, 0x3, &(0x7f0000000140)=[{&(0x7f0000001400)="1f06cd849afd", 0x6}, {&(0x7f0000000400)="ef6996153c19fae38e2aa1e1160d05db4d6094b83bf7633d42c566128824d6475f539221b8c48fb4760995c2bba438f7ab32ddfd4723c6567c331b6de341cea2e70228da2f6aaf6766e1e623bdae0484b551e769a0ca5ee89586a68aedb6d793da44c2c84dc25a26afc897b8d866b27059486dadba4f72a5e50d4f49c86e1a01775d00537e5e493974a6eefcfad41ecc12ac86f66da9e3a23b32980d3bd06bb4db988c4d7c01e99ce612bbd335b8ff8046a01cc8310e6e54e592f5cf0b8d95ee1b44a45778bac3506de11af082ef51b19ad28bdb434fd8c182f3f5a7b5c6d106cc40ab2912b23fc2df709f8bbc6728a21c4401c993eb1be02e157a1f098b9d1494665ef73af077932ced858923cf9298c864769d87ad120e157cb4a970e19025406f7a7ebd609ef63bebc00c2b3926b715a5c38e7b9b2c89b679bf8bc9d2e51044f1308887f866e135a355dedeff7d06e5c9042766246071e7fb55f832ff3b814167bfb3950b575139bb202f8a0cfef85d746b234e3db1c5681faf9d027bc0edd3bb95b27c6b57416161df7b160cab5922fcd4e69f0ffd19ee2f354bf6e1811028a73fa4c7b2c7222ee6b81e1f7c82f411236c15a33316b0c0c8bd208c38ac0a0f2eba5b8f6f709ccd8eb6981b45b390014d6b90ec429567f509bb59215920e4610ff55d8c88ed2ee04561de933d7e3b7942bc6bf976560439ce6b9f23bd684d8f1cda2025347fc1192106ce35b1611d8d4048a1c831def36f586076f33447d9bb5c040e2457bf0d90dfbfbe712ca531ce047adfeeb6d1e9f373f6510815abeb9ca81bb29b204d88a714207d7416c48480d1c6b3a2df088ef007117e7459dd6c707cde41406008ef9c88dc6b0538da89e2d51ffbabf8489a17a0cda95460545e4bf09623e7ddf127cefde26a423a726c1fb0b8dcd543c1d3747dcec2bce4af935c4ad603504f7663fbd452f2fafa6636621011e06f259b5da9d470a6d5f6105d39d3ecbad7fd5ac579588195873fa806527ddc74ab011555a91cd87f0635472bee02a0e9ee367c090ee406b52e3f263391e7056206702b286179529caffff25ad3058f386de3123c16f5a1a058223eafedabe40b2e948864540ef1125ccaa07c623298c05b8c814cd48949e26545e6e1ac4737485efd1942018686758542327172792d8c912e78b05a93ffb2b831b8c8309e72ae9db6007c9d21332a09122b59eadfc800a41a73347c7591344d06f2a6d1e61965ee536e1d6b50324d4c965d1bf85c54dd5b49ee8485d7adf8e27b1869040f7f12bf1467a8a18d89ac3d274bb75e503840d43c24f677ca5cacc139eb945c61723c27b1c15e5e50cc85f2367ca79d22c4a6ecc777d518ca04fab2d3ef6dd2a4f63af789c3c3e429f68311472c7bc1e72f58e0024277b78897ee8cb18f6927c3e83ff9ec506a394330fc97af504fdad18ccc15ce93590e1a97721831f4037d401a336b8394d305d4162ed8042c4ddda807747b9f3056f30ba70c570f5ba1c9cec38502f1f4775590e36a3c862947f0a2a4c4d04b2cf98762651ab3037dacb32ee52703e832b27ec533236f217e47e50abe98e31d78199da4f069dc6a30b99932809132820de28ddcec856994e0ae02d5f53ebdae61fffd2b0fa479f1c72c1f723c43942d33e2f87c29b50e8d66b5121fc11a320c9d0ebcc10bfec202accb882403da20ddcb14fe8848d0069fa65b103ba2b29d2fa05de73bbbd2bdccbf5e7dbd1d6f9e35618e75e573595b06323a5e69c8de17e9b091c0c69438be83b44c2b7ac4059ba1d6b7f5864b54d33b45ecb4fec6398f704f4b3f8b362af7fde6b35febb2fcf2b02b3c2e7fc06c68298f2ed669faf231c6490d2c87699d6e810b7fcab91db37591f5da72cb8bad429e3a4aa469b7b2bc7ffb025b5b4612aa62babb2ff604aa35fc738d73daff141aa55e51b14366520a162449a820668b45aed06cf3ca16ed2d6b81cc288fb64c347ce692eb31f3dc1eb3cee26cd6bf51cb4f758df53a1d533bd7f0628584a094e6ab6339a64dffce710ddd8e75f82ee1e7c656975385ce5fd033883b30f0eb1410ee5b96aa5125a8f49311488a8fbd95d7f945774229a091060c4d0bae1a8808681be7b7bbd29b79b98dbae76622de55d4736f364add7b87f37e91511f4a72d160093b129d63bb9942bf974d8251330d8dbfcfa14d263beeea50ceae9b0b10286073a584d523929ec36a854307327a7240589761d2cda4f27bf4892e37220a7be59bfccc67fa12fdb6b808ac620aba175fd208620d8ca9b19e0ce934468b58ddc1fbb1958cbcc31978c85682a80a4c18450fa8dc92cc76d2d59ee92a1dbe4f3e8f72fbae15fb3e928c5dc274d8cf9b0d5c901db060afb6f6cd122a24724f41fbd8f596663099feee9e67d078c5eb9e5498645817688b7402b6a4bf5c53a81b9e03650e3ba1121db17c484c26df205ac77f40a7f4c92be3572a02769f257615262ab8a7474d37685e3f670b4b36bdbe01fa3048072af7152fa6ed6fb3638fd8ece33b2982560cf8ad94908d4e122a4835d40cd5c437a13edc770dd495d6ca2239ac331ae0dcf0d9d81e8aadb6e957decef520d22242f39330d325f8fa297a8cd5787293f5cb9bacbbdb2c864af5cb5bc9fe99e728472b00ae9e8c70fd32ae5e8d52a5bebc60d4c53821ee5728bf7cb64fdaa8ae11803eb8b6c9a30584026877b541d53d7f468cbfa8981fac16b1875bbdbf9bf1c66832aeb4238138353f637ddeac97dac11918617275c914857fb861ec5d92b0c65c344434eb12f54452c5ffb9f9f7b6095acede7f19dbed687db934614cd3d20206b7ff4a1dfe1575b6956d8e4366d39226bd08010af9e4e275e4c7e1769f469d826b8aa3352fca91cfd752a5ad5e6aee5429c5873d847be5ab9271c0b339d27c07246cc8e01dcbbd3efe3f58232fa380155c49336f89555e259360f933f1ab5d0a7d81dfe46c965bd0725f46e9ddd88ef4dd6d4dbe8e0c5e1d07cf6049e8a9ddd346229f3a6c7da594689dbbd23aac858c03c5426e36daf24f65bbec4d22460ce39cc3b088f09cf334d0a517c27f2c843513dd7c204fe70cb77cdbb80ed8370f4dea7f3b9c224de338bc024058bc6758c17a30646d2c2e9b3ff97adcb0b4f9e84ec2c9ff7f5efd5b10d79623e70f283d82204ebdfc41959d4e9fdd44c8a2d349d6d1a1b41d02050b27cdf8c4d34881e7fd44498ba8df72ed4451a3ca1e61163342ddb3d613341d5732b6dfa0d60c067637815a290b06a78f7c6e2beb0a0675d27ac92c7c2bfde1cf8ec7307425c175738e25d6e9112d43abde99c6bf99cb246dabf9b47435e5287bd43aba8ab2db39f89472dcc047f0b7cd198f745a7731e402850a0d133a2d416fedf6f4b39c726bffeacbf4b630c8bb90d0dd9d71c8a8fee326cadf3c5042cbb0bd719f671f670223fcbd75e23a36a6864a129e9a3795a26f78c944b1a1184a10864352542ba1ce02aaf9a55a67226c42ae948501da40e5af84c129cff1dd2a61499e87cd816f705abd14fbebeed687bdd7c72670cc9621a97b3ad6186001c69706c6551f1a052219d596793ad3ca19b793838ab85fc40fe91aacf96d0de014b151c1304f61f9232f4ca350289f28ba9c0f94a33d3387d363aa7bb5453b004afa547b2725e2c010d0a15848455719655e89c2287d47f8c37b2b8e6ff3e727a2f9414b270a256c5e4b2ab4fabe6d19c89d5f9c1b302af878bc631f1611f0118186a46b3422b8e120392c4b924a98b513ec025eb6a7ec6eef72245694d4d3fb85fa8e0f36c1a16b28144070fe4fc5a6a0f0441e6bd359cac50da17d9d594ed19277f9aa5988770f23974ce516023fae76671856a39c3dd47ea148cd98e0c7e4c701aa4c50583c87c571b249049705cbd079c7048ad4efc87b54f781c484db8ac9bb8d7cdee9f0f91a56bc58b6f667480e7d13e17f63f751156f0355d1165c20ad517396c3e374c71cd0644a1066993c7b54abcc9ee1045be272f215a3cf879c84cb74a6b78a4d5bc45583f938b187d19e999932c0f0c7b509e6a1430c66485d258d2c8186fcc6c9dfc1c0751a18d35915e74be415466c3ba0a029dd8a0ef38a71fa543e3cf23d306eaf3dbd49211898a1fdf4d0573e282eb49a0259c8be487985a1b433d3dc6961e27d98fa3fa50217a6639355cecf8cc6d9d30df4e43335ee21742bfea81dae93c35a7f7d3ee44a059eab066d05d0ba5c12a9a25af95030801e645d0c093f0ea8d4696c3c84c8a8827498df48be18003b6bec3c928654d9d17c8deb666caa3cf2ec78116c63ffba811114ce2c17157f9268931f0009580eb15895c06535aa04c553c068a9af3838c9625ce6f8979e245976a0918d1a0243c49dc4f23399205075b6a086ed0091a60e595b929a1684206e043f8f591199b34d68a460ef51daf6e9cedf7d1b7ddf306114b810b63ae6c0d5b3f96db9e327f8e80b66a97c3477408f6bec4379062937ae27808ef77c70791094192af20385226392f6791cf539ff38fe55f34a9f1fd8add80e64ddb11ad42ddd0e0c07ee27cda511e7afbb5ff43ceb12038708b3514dfd8c8011472ed316264f2679958f2ff6cb8b43173a90bdb2db953ef534a59206436d20c314b4f6aefe1bf9c0001158c42e7c03a815095f84284fab5c3ae14cfb7ac1c0ab573ac57501ff8df6aec6b1d04cf90abf27b48e24a229b57835024907851970eb6401737f83679b8d0189771d00cb0da83650d425e9cb29ea96251fcd133d64c97d0789e9ccc9ad214b71dc1c70cae7d87084067d3bc4c098465078e1c1ca7b86df52492b0b59d1344e31da00ddb3874ed49aaeaddda518447d1f7c64743cb733475d39d223015d01e6498dc6bb799b264682c9cb3d65171363a48a56c0fd2c28390cbdee091fa098ffb0e77cfd3b0490ebd977e4b4ee9d832620c280e38c5dccc502cb2fdc8b3be11217a7dcbef7e1bf4d3a6b0484d58de4c3b6a8c797c980136e79b8eb66759798bdf2ed0b8be5225396f01e58907cb3f4ffa6136f6b91105977e596265dfb5da0406e163a1ceeedbe5474e859385b7e0a359210b76ff8ff78c4f86fea364ccb10728633c925ea777df5a4101b53ecd3d812ca32fa9298aa55674f500f91d607bc71eafef04aa129cb3527437bd545da19854b2c5d2d849813ef860399e6cee4c1a29f5f2a3a568be1bc89570f7fcbc17ae4876aa4633a9a7fe672be08247e37a65e80634002392feacc68aeae89c4884b0278ef9c20170c363dcaa237d07df57024fc57d7be655d1b791402a7bde99cbc16dfe14990b54bbbcad19a4c98ae5b56664e19aa8c4a35d9013c425b9ac8cfb4e83c4e55043f86d93bbdb37b989e0080e748d90b598d439c09a778f1e9bc69e237dccb9be49949ff04b0c54b359e88bbe22773b8815341cbb86b2182386183665392bc13c69dff35ec278a0ea95fd5149a6488db43b20f3a0881aa4a80754100b6048c763746ad8b32ec530e364cacd3e96a8e60779640c05fc6d3785f3d32429dbee578b20a4c8005fb9d457b623b88df371c79573844c0c87eaba6c29b461ac3eba6e443aa42efe32f09da761b59c3045ca46a6f70e3d0d0ba98a8d44e69cdcb7e4e767e6602adf155517b7736e6d4bcde945f6707ef7dbb4448defc90153bc19dde19a13aec3c6ec2400e008f1deaedf0dfbffd17041f56787f77f2b0f2d976e3b28de7437d7d373a0f665df8cab6fd76020acea066cc5b0589f1e1afb16324719e9a0886b67ca9c79681108a5568931e59c8d7e92934d97c957939d322", 0x1000, 0x6}, {&(0x7f0000000080)="8e5df9e7adf25c94931ed0451e3f8bab85851240b2885c48d38956b714c724e2aa64b802f40b8ee71a3fc73e622d78a924a24b3925fb133226ec94cadba3a59bda3f31d73192af7422d1b1459d561ec36de8ec87b76972757bc0d064a3c477eefa0097010124ecff951e5ca193a638f2f15416a8d57f79abe242d1f6ed7bdb2c72f0691178472294a09787d012fb82ca4309c7bcc3a0a8c40b6470f8704bfd370a90fbea72c4e49375ee0ca5b25c1d5ea6bee84cf29f708cd582", 0xba, 0xd962}], 0x10080, &(0x7f00000001c0)=ANY=[@ANYBLOB="3ea8ffffff6e34c1581d499b1b667ee19f3d334b800ad8fb07a0bcd73a019c7ec1eb71af5faacfc181f2736b14766d93c1139b89c14cb63e39ba994444a4ba092e664d6eb415eadde1a77ba98ef78967f8691c6d8800000000000000b924fd37846744d5e21dfb8dc7f1fb7879f843bd22b6ca657b63022b2d020fae016a1212750ace7d172a87fedd0a392bf7476f992267dd3acb13d87793a9d950c9fecee6e267241b089dbc0fe27fde04983fa043a5caa8d268c6edca8d09e129eaff1d332cd690e26c42c9bbdcd961cd6897654bb882aec89800661f6ce364"], 0x0) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) getpeername(r0, &(0x7f0000000100)=@phonet, &(0x7f0000000000)=0x80) write$binfmt_misc(r0, &(0x7f0000000180)={'syz1', "9d5f87f12b33453d52cb1a13065e82b501b698caf55b3ca7dbe0cb99a90b87d3e04c68134f1e"}, 0x2a) bind$bt_hci(r1, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) setsockopt$sock_int(r1, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r1, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x2021, 0x0) write$binfmt_misc(r0, &(0x7f00000000c0)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a', @ANYRESDEC=r1, @ANYRES8=r0, @ANYRES32=r1], 0xd) 03:37:58 executing program 5: syz_mount_image$ntfs3(&(0x7f0000000580), &(0x7f0000000100)='./file0\x00', 0x404603, 0x14, &(0x7f0000000bc0)=[{&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x736, 0x7ff}, {&(0x7f0000000dc0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600800000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b000000000000000180014000000c140b0b80800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002000000004ede8aba7cb37f4a5a8d7e31811fcfb64415d99576ce776f8484ab8f3e8faaa0bb741558a875ac23bdf1790bc8ea1f926c924deee4d3e970d8a34c7f7c35dcc900275045d5448c9410c0c64d2b88b225a7e11c06cc105cc4d1b072cebcc40ff8e24b93990c60cd8caf713d4725b501cb8741618ac4026b90ba90a4ab8b4ede1bbfea80596137c56c483915190428b2c91137ad", 0x3a8, 0xf35}, {&(0x7f0000000140)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000003c0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000001c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300003000000000000000000020000e538000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4ce0100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000e10004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000080)="000000000000000000a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29", 0x47, 0x49e0}, {&(0x7f0000000940)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c000000180000000000000000000000030100000000000080000000188a5808f1141c06a3a26b1c603a9168", 0x1f4, 0x4be0}, {&(0x7f0000002a40)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000002640)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147269c404cd254655548ba4c3cfd75928869c6bc328be1f037332b1d425fae96bd6425bc7495e2aa2ca9713c6f438948b7159fdeb9dcf6a153ca9802e8298ef5dbd8acb5fd90f12f67895ab87248b1e3d8db44be7c5164fa59062ee61c908d42f9ba0fbc3cbbb38300f99df17f85574db86d882337a2c4549f180dd22488e54cb84549f8437e5c2ec88fdd46acdef932970a2aa17cb548b1a719fe757ed14e4df4107611af7866b9385a0ddfa898b595f6f58bb59fd8e3c86200d40ead72c975728843da707a4de82e034ef55c9a09520d986deb4d481ff9dbbd0fd6b989b7063b32ae16014997aa8786b7c168e6e58ad8fe6204c51dcae8e3288c00535dba5acab1905176c14facb31c54e0f507ce6d6652d7bd179c770104000000dbc524b8588b4e8d9daf", 0x27a, 0x57e0}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe0}, {&(0x7f0000011520)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67de}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f0000000340)="00643122b5590d927bd4442eb1f9c054623e4be77a286170369ee388e5f8b284635c1d55c62d1937a0e902a637c17c3592bea76f54ba91adce10f40dce9acb00c2f058cb4f3055ce64749dac95e084ba", 0x50, 0x46080}, {&(0x7f00000007c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f00000104a0)="00000000000000270000000000000000000000000000000000000000000002", 0x1f, 0x4045de}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) (async) sendto$inet(0xffffffffffffffff, &(0x7f0000001180)="b4fe7ede1bcb4390ca10d21f1843225d6ea9c5db324ba5e59b14236a50cf64af81a1b51051382873d9603aadfb9397ea0afc058c59fcbf1ae526f2658f676567002fc68e0337c1d9e781af08fe1a1f12b430785888fc9e59bab6d8a709f79e9bf5549ae464521345f74b54bd63aae5859ca61eed71da54bff879428d217969c147b78e3ea95ad0638c1a89b4193b3ecc4ccc5bcd86f4dca201eb95affce34771dfb05998dff7b10bb47a6193e25178a031d0", 0xb2, 0x40000, &(0x7f0000000000)={0x2, 0x4e21, @rand_addr=0x64010101}, 0x10) 03:37:58 executing program 1: syz_mount_image$hfs(&(0x7f0000000080), &(0x7f0000000000)='./file1\x00', 0x241, 0x3, &(0x7f0000000440)=[{&(0x7f00000003c0)="f334193b3f", 0x5}, {&(0x7f00000000c0)="e4e1", 0x2, 0x5}, {&(0x7f00000002c0)="753035a40608a5222a4a088d782c46d304f9388907668ddff0e45bb90fa18f9782af3d8bf4f263a184c22f0bbf2867d6d6874a23693ee7062b93b40a9c9a599747d2d647e656d1fa33e2a863a18a0b6befa70830b6992f3659ae78a8e610258cd5ecc50487ca6c4caf240d11c96c640ff1e8d5b42ccf428bdc65cef2e924f01a4cb9e049a3f651ae40f67c956867f3a454df4a33587876cc7cbca541f253fec231ad3973a36137d022095523b1a0ef066dcd9b49b7771c4a53644c6d6f9f85f45f07d0a72b09a8a8c39e90ace85a961bb6", 0xd1, 0x7}], 0x800001, &(0x7f0000000500)=ANY=[@ANYBLOB="66696c655f756d61736b3d30303030303030303030303030303030303030303132362c73657373696f6e3d3078303030303030303030303030303032392c747970653d55e07dce2c73657373696f6e3d3078666666666666666666666666666330322c747970653df4ed12f02c66696c655f756d61736b3d30303030303030303030303030303030303030303137372c66696c655f756d61736b3d3030303030303030303030303030303030303030303133372c66696c655f756d61736b3d30303030303032303030303030303030303030323033372c646f6e745f61707072616973652c00"/245], 0x20) write$vhost_msg(0xffffffffffffffff, &(0x7f0000000600)={0x1, {&(0x7f0000000100)=""/162, 0xa2, &(0x7f00000001c0)=""/136, 0x2, 0x2}}, 0x48) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000040)) 03:37:58 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x12, 0x4, &(0x7f0000000000)=@framed={{}, [@call={0x6b, 0x11, 0xe}]}, &(0x7f00000000c0)='GPL\x00', 0x4, 0xac, &(0x7f0000000200)=""/4096, 0x0, 0x0, '\x00', 0x0, 0xf, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) (async, rerun: 64) r0 = socket$nl_route(0x10, 0x3, 0x0) (async, rerun: 64) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000002c0)={'erspan0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000002700)=@newlink={0x48, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @erspan={{0xb}, {0x18, 0x2, 0x0, 0x1, [@IFLA_GRE_COLLECT_METADATA={0x4}, @IFLA_GRE_ERSPAN_VER={0x5, 0x16, 0x2}, @IFLA_GRE_ERSPAN_DIR={0x5, 0x17, 0x2}]}}}]}, 0x48}}, 0x0) sendmsg$xdp(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000040)={0x2c, 0x5, r2, 0xb}, 0x10, &(0x7f0000000100)=[{&(0x7f0000000080)="b55dd636b977a38234fe80bacb0641", 0xf}, {&(0x7f0000001200)="a535e53bf8dd1f834473789ea5536123df6adfd980077db1a498fdc6d1b38c70bdcd72634f7e80accd87374fe7d42154d0a465963089f3f7ed5bd55e91af8928ed728c700f7011c4781e9c9abae7de84a546e0ac363a0a2130a305794885f843cfcc7cafa2669a70d394defc4e1919ff30875ecbc840880a259b0542100459c5b367017f94fad35aeb4d585a3bc456db20106415ac2fd08ec1623c7b411df080051dc49e0594718ec1fa26fa0326ed2d3b64f8ef367f174c52f33e91ca84549aa8dd3c58ef02dafad43f8f383921fea4eacd0f9389651e493b6bc397afb5feef6a9838464564ceb6490f161156feb348b2284090f01c5f26bc55384d8a1b2cbb6a33dab21a1d4382e2c381973a64685bc7015eefa9d205707d2a5d439c0970465f2133bbe0116201245ef84e4e54d7739e4ea5efeb30c0e9ddaded7b3b04ea263154da6825ea7c5a8aac724519e365780c051d75fcda68b11f8a8d87b4dbf957139f553dadb53bb314ac757ca8b4c37f6eaf0200d13debda2739ea1062da7e5541de6c879e4ad0dd033df6a9f0d57be29be6bbaa91fd5c7b6de48376c89debedef76cc2a9ac79397f3fc10b8b8530c48dadcdcfffcbf156db1e11fe0e971240a1de6f8ae3061258604552486fba468c2b8d01749ee19e5b7f0cda45e8dd63809dc3f60e0a5ddb1c0e65a9533ddf529e4e3aa3a3fa5b8d4f3491f2f0c20a767d6412c7c7712e271c6150e77013723496bb9a8e9b30d86e72cdd8fa08c4b03d44d46f01fafbf7e0302dd86d74a52b181358e801cdfecd1351c9c4e8ceeadfeec29a55300c1b768155d2a5062998af061c15debcc7eea5ae9fd1455b2b4e954f60badf24016531c5ead24982933db15ffd8c1f378d5442a67e04b127246303425804de012527e51eab8615f89d1e4832e4ffaa7749d119241be39d89b875879fe69542856cb1aa3c1d49a0a7e3e5da7229034cf230364a4e9c43af975583eb096db15578b7f659730e8028fdd6efa027154927cb1c0eeb86c4a220997358b546a1c2aba4fab43c173d1044827df22e3b1581a40550d10756b732322d6d650ce752e02a74940d4174695ee701933330ed4a33b391bb2f62a2ec4b954a041858cbef248f500d9b6e780bb6c6cc8daae4aa8be1a5683a914ddc73e6ea11e86ff51a0eccdc7c76244bb877e2bb35fe2ed60479e52e5e4f1dd178fd1b3639dedb5b7abccf4389de69b2edccbc095eded1852afbe0c0ce2e9e8588cdbd881dbc63c4b5c5efaf4af59e7a72c8b3e4360c09a08a8c4cff3d0fe823f3ac8664edac4d6cfaa60a3d40f9a878eeccb6aac1eb46abef10a6f719e53a58254e15f2791321956ff3530890dd0b8a057fe70af751d0d0130058b18575dbc51715821eca040487957b232ff04500bbf966f8718b3870b07360502e564e1a9a03de1b588bfef7d0ed1a0cee66befd5a40c5f6f33db8e2a5c17500adea745ffe984f7770d5102a55719f28933e84b141bb13319dedb9be6ee4e77c25f3feff29b9e708810ca55b0e65484fe7b372986c69dad9903d4fc7b2835849708076c1a18aed19e5bc08089553688cace5cf7d34fdda5e02a64d511fe236474deebaa6d825ab95b612239f0ed9ff6af2cbba168ec5b6962afcc2e78be81eadf17d49b2a1cc3c8d9ca320ebf86324d18d0b48866979d6518c9e865b43791084b7052faf4718b00211d60080861c99ffdaf87f26f032f7879885a6c48182fc029a85f51fb1f81a310e3f5a55133827ee69d6ad6aea60ad2b7abbe85c477c85259a79c15e24c7dcf48239f0b0109718a2e59b07e846b74d7eb33c61c969f9e0570f2e9d093be684758e48b193fc1382da8965d0ddd2fd28787557c4b0516abab6e3bf4d6038066d33cb11466f0500a7931120b82b0666da3b9b0f0ed39623e6fc55489479ff239c0d06fda25caf157382ce048db8460ae9c41b88ef38e5ef871c2e6805221021397f9806ce961d0f06b5a74b7a192ed3ec726233cd08398acb94c32d5d07e2f2ac90a8035cc7f18aa4fb1a6791956b29bee7c39ad1f6e06258432fcc1929ff66950c9b5b69d1d60038540e957ee28d03d4c960e0a795ab81fd5abdf99704bfcdf07fa554f97b8a4772ab5d80247f827aabfe771a490adfaf75171b69bec16e96f7021926f94546fd76b26694123a4cf18e77c66d70ac9f313e0fcccac5601d84cd3fe7c66e07296d4ce8f7dc3a270ebbcd9f7ce02991b6fc6c345fff31a5e4e87f4732896c4c45dc9deab738bff9599f0edebf0391f6e27550c5e96f3b423ed47222b78a06dfb0a020d5630435eebac51a8f4abfe0581e2426116d32548c5085825aa92ba344ba85182a5aa31946ed2352d75d51c52d8b047b3cb9963a93d305dc7d8f179edb6d81dab35835c5c961cddc4cddf7cb1f5b59d4158b813933105833a4a3dba3774a58fef528ef394e17c9b497b2e8ac89c40c478632b94c470838a98aeb847fb67f9aece026780025ca66641b6c684c755398f56418a742c64bbf0848a197f6316e0470f21263f0284b34f873909f724cbe57723db796435952fcf3a05dc6fe06c9292109084bf1c593151c65c59e8aff8a256fe77eecfbec1f18fccbcec7454cc9dedad61b0d6a1c169213f9f31ad5a3b8caf238547886e4c136938118bfc3b28dfb284650f14781f97c43256f194370c991073ff4000d71c54f3aa8d80c43dc6ba0feaf774e10378988fe07a26dec04af754c0bd9a813515d4a572df8a3c0ca2e22979c5d61c1410abd41777c8deb34ff548e2ffbecbfb4ecfddad34a80447a34cedc922a19497f4dfa1c5f2d93049966d1652d5d3e11597f41395cae718ec988dab1fec1bcd26b1af4ab0bcea89cb9313b3fb01d837fe32877070c1ec9203df008941fdbba3cbde00aa6dbd3839ee6a3b64790ce3b8def8ed03183df0a71484cf6bb80d33678c06d27c66481056c9998b683ef029f40a1839394b1cabf0a05370cc0cd67936c7e66bb1763e617c224ec3ef5f63fc9ded8b30d942d20ec602ca13f8d68cc76b2d3d65fbe59fe996c52e3cbfae51126616516c6bc3afbdd107cde1689ff0c2e271c3d92dea798f19dfad8d7e55eaea8e4051008c030811eba31d13d5ff33499916ce05c2916218a9aa34f8ee870fb98a3f0257ceff8f1736d9be51039e13421db6a7a078d15832ad862ae5ad039d48e95aa04d054c58ad0d7cf1e8efbcfc076850e7cc22896ae639f09ce04077b850c50b570f7622a236d740a4b1bfe87e5e34ce1b0f4b3e503e9d87b87d42e1fa104ed5d0623af5aa7870ae93f92bb6080077995b94377e46c7b843554947cfe3a1f7d80f916b2a1f900bbdc2475a6ba5702b51b17e7af012a07346dae3c60e974ba59a83d7f03c8fbec4930295d31086a2ff21a0dbb7134bca3292e84137d44ff0fd005c0d9f00c20eca0258c14d4f32102ebf47a332c71c986ccaa923dfdf8ebf81a36352a6ead7ede3e57d9b3adf05c18c4fa9723f2b35b56b2630cc365b46bcb7e629383ed31d5e53d289e67c54972431aad6c78a25f1244e4273cec502de141a3a0a9a4b05511d7073413ad0a5787e4b62f2302d8072366d587345a8ac567d3c7d248d3e0113a6f3dcd2c559064ed465d5b62b27eeeb80e92635ec94bea74a59839df8bd7fe6548641d3a64664838ea843b472272ccedbc1061baa4b0189ea150e8e6e2902665eb451d1006834eab1c8a8875a422814a85c9fd176425c44dc6f5dd822ef3bdca4a453476324c3c93a16849a2e44ae74c9ac2fcf660fe0f33e81f80fa4f3f404f2dfb76154fa4407b67d03d2d873e81018d8638ec1ff3d79271b47f981ef4f730d38c03a7630b659c587670f14c8e44b540f31a96cfa9edca3ae188083b5113afbb8353a28a2c323b2e9f44b241eddbcb324820f4894ce66fd3a8316428a39e2c32c1b23dc6eb5c5c185dd133885c4946afd1d01bf8fba8f06be9c627f3335915dd98a6b4944dcf6f0940b82e71fa11abd5127d4c14d68bfd814672c842bb605215aa778398aa701c500002316c916b194dbb02681aae3ac6de94890b9bf7fdadb57b2ee0a664809f13afddbb1f894e89f4f503111782085afbd1fb8fd7ce45eece80050905fc1ba79aa8a6d23613f7a7a2c5dd08a451ed41710e7e6d523ee26e4773f28fb1d17e06bd8dc8c47233abcbc363400a923dee6fe8e8d943d0393791cd69aabe82da5aea578ccc5737101f0e65413a30184c701ff5f0b3fff5058a210e711c67d7d8041dbc44ef3379701dc6d8da07771fdf2b420b24602eb25e0ec87b57d435c98c7de95bd82264909a7d14f8dd53f03bcfd754664e92fb9235cb178507ab93b9e957b1c56680fa1ab68ebfc840a57a2a48b98add6be43c1bb3cff6e90da0d5116e48cf183eb2fb7aa1cdb5463ce763d3c69bb1cff0b9b6e1c1b3322081ceaf6262262f8cfdc79bd3931b64733caf897b7bcc6456f5f8a1ab30c3bdc7b21158b18c6f5ea84734bdfeb686448131eece44f060c13fc48832ba2479400bb000316eec9ad7c5bc45a0d02f1cae7eb92e974fda702f67a674bb6498999700e073568dd0e8faea716e7d765183cd5bba711ee4571821d0251eeb5ae4da694399b77c8c44d021783fa3983aec5214f3fb778d55e71bfc2d3d4f3e72c9bf4bb24eff471b605a83124841f76d435f9c4ea433f439a11eff9dcb60315987db50a10c84c70b915c2fdae74fdf89e6fb0c1a9fae7b3da7a382934d6ebc5b3e564a432bf32f966c83d82a222e3619f78f024f19f23a21f7de1c774992dbaf08ddf077087aae5f3012a41f912442032b186303f09db7ab1b5292094315badf3ca8f90d19f143d73adac5b51f246a9bbcec98c0450e262f3d89f0952b1f87696f189bff08b58768c51cc0c14205f4c4154dc6fb0e281adfa9b3696c5eb7e198ddccd219ada9d50bd06993cf35618434a3229e8c14019ad8863bd4cce601364bbc40425d50c3870b0ffeb2da870744ff428c8d3f20925bde6986512fe69cf5c72d4aa988e68b296ed3edd979f5f1b1621e9572aef2498184f9c0437bfb9c222094d52cf5f952c6ce848b668c6a22974178864091eb4c9d038ba142208ed744e50417f98d2707865341b56fd78270e82c68f53f145aa3130ec1ae8efc8a40e09428bffa6a134fcbc6afd129f499be33761c2dc6dddb08a66e269488f2a29cc677de429d7abf9457a0f2cd27f88a4d30615dfc7149a2942b9c80c5a831a95b301e6bb3c5a6612a1f8477fc922f48268a2927246ec8d67c994e0486dcb18b08e7b687577e48b9bd9a7cf5c9305733ea8b84b432301ec9271540c834c089c7d70cc50850ea50ad6cb32737e4e42c01940ffcc1f0c1743c1f18877bc13e7752b9c1797882984d3f52014869315c0d75877d24d3cbc952a78ddb03def3458ffea1665a0bb5a6632248c7626df4aac4da690273a45230d77708371de6b66b9b9b557d8c2bd1d9da5957c8e1e3ad1981c417122147190bf504b46d6d6f4de29d16b0e3b1dba4b77e1391ce735944c0d74e71ae23e3b50e9eae07896cd59f7ef554db17bb417cded362920447ca566f70328216ad72da5d2d292ac1ff448560656746a87ec7a83fad3cd23a881058efda5fdf75279d6df2df98ab4c07529463ebc213c59307279b674374cbc950a8a66de5cd0c12ceea6b7ed66158a5df97c2837cfeb9c83dbd3f5a101cfe501b9df9dfae2272c9a1a1212f5ec39be0a1387a1f4b88fd6f155defda39c387ed943c82807d578dd6c74f7d96754a31ab0bc2adaab557204ae1a5e5670c7c89ab6d6", 0x1000}], 0x2, 0x0, 0x0, 0x4000080}, 0x20000841) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff00", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 5: syz_mount_image$ntfs3(&(0x7f0000000580), &(0x7f0000000100)='./file0\x00', 0x404603, 0x14, &(0x7f0000000bc0)=[{&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x736, 0x7ff}, {&(0x7f0000000dc0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600800000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b000000000000000180014000000c140b0b80800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002000000004ede8aba7cb37f4a5a8d7e31811fcfb64415d99576ce776f8484ab8f3e8faaa0bb741558a875ac23bdf1790bc8ea1f926c924deee4d3e970d8a34c7f7c35dcc900275045d5448c9410c0c64d2b88b225a7e11c06cc105cc4d1b072cebcc40ff8e24b93990c60cd8caf713d4725b501cb8741618ac4026b90ba90a4ab8b4ede1bbfea80596137c56c483915190428b2c91137ad", 0x3a8, 0xf35}, {&(0x7f0000000140)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000003c0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000001c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300003000000000000000000020000e538000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4ce0100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000e10004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000080)="000000000000000000a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29", 0x47, 0x49e0}, {&(0x7f0000000940)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c000000180000000000000000000000030100000000000080000000188a5808f1141c06a3a26b1c603a9168", 0x1f4, 0x4be0}, {&(0x7f0000002a40)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000002640)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147269c404cd254655548ba4c3cfd75928869c6bc328be1f037332b1d425fae96bd6425bc7495e2aa2ca9713c6f438948b7159fdeb9dcf6a153ca9802e8298ef5dbd8acb5fd90f12f67895ab87248b1e3d8db44be7c5164fa59062ee61c908d42f9ba0fbc3cbbb38300f99df17f85574db86d882337a2c4549f180dd22488e54cb84549f8437e5c2ec88fdd46acdef932970a2aa17cb548b1a719fe757ed14e4df4107611af7866b9385a0ddfa898b595f6f58bb59fd8e3c86200d40ead72c975728843da707a4de82e034ef55c9a09520d986deb4d481ff9dbbd0fd6b989b7063b32ae16014997aa8786b7c168e6e58ad8fe6204c51dcae8e3288c00535dba5acab1905176c14facb31c54e0f507ce6d6652d7bd179c770104000000dbc524b8588b4e8d9daf", 0x27a, 0x57e0}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe0}, {&(0x7f0000011520)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67de}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f0000000340)="00643122b5590d927bd4442eb1f9c054623e4be77a286170369ee388e5f8b284635c1d55c62d1937a0e902a637c17c3592bea76f54ba91adce10f40dce9acb00c2f058cb4f3055ce64749dac95e084ba", 0x50, 0x46080}, {&(0x7f00000007c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f00000104a0)="00000000000000270000000000000000000000000000000000000000000002", 0x1f, 0x4045de}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) sendto$inet(0xffffffffffffffff, &(0x7f0000001180)="b4fe7ede1bcb4390ca10d21f1843225d6ea9c5db324ba5e59b14236a50cf64af81a1b51051382873d9603aadfb9397ea0afc058c59fcbf1ae526f2658f676567002fc68e0337c1d9e781af08fe1a1f12b430785888fc9e59bab6d8a709f79e9bf5549ae464521345f74b54bd63aae5859ca61eed71da54bff879428d217969c147b78e3ea95ad0638c1a89b4193b3ecc4ccc5bcd86f4dca201eb95affce34771dfb05998dff7b10bb47a6193e25178a031d0", 0xb2, 0x40000, &(0x7f0000000000)={0x2, 0x4e21, @rand_addr=0x64010101}, 0x10) syz_mount_image$ntfs3(&(0x7f0000000580), &(0x7f0000000100)='./file0\x00', 0x404603, 0x14, &(0x7f0000000bc0)=[{&(0x7f000003c0c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x736, 0x7ff}, {&(0x7f0000000dc0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600800000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b000000000000000180014000000c140b0b80800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002000000004ede8aba7cb37f4a5a8d7e31811fcfb64415d99576ce776f8484ab8f3e8faaa0bb741558a875ac23bdf1790bc8ea1f926c924deee4d3e970d8a34c7f7c35dcc900275045d5448c9410c0c64d2b88b225a7e11c06cc105cc4d1b072cebcc40ff8e24b93990c60cd8caf713d4725b501cb8741618ac4026b90ba90a4ab8b4ede1bbfea80596137c56c483915190428b2c91137ad", 0x3a8, 0xf35}, {&(0x7f0000000140)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f0000010120)="46494c453000030000000000000000000100010038000100980100000004000000000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f0030000000000113f040000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000001000000000000020000000000000002000000000000000110102", 0x18b, 0x4000}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x41e0}, {&(0x7f00000003c0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000001c0)="000000000000000000000000000000000000000000000000000000000000020046494c45300003000000000000000000020000e538000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4ce0100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000e10004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000080)="000000000000000000a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29", 0x47, 0x49e0}, {&(0x7f0000000940)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c000000180000000000000000000000030100000000000080000000188a5808f1141c06a3a26b1c603a9168", 0x1f4, 0x4be0}, {&(0x7f0000002a40)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a000000000000110146", 0x1d3, 0x4fe0}, {&(0x7f00000005c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a00000005000000001044000000005000000000000000000000000000000000048000000000000000010000000000000001000000000000000100000000000002400490033003000110145", 0x1eb, 0x53e0}, {&(0x7f0000002640)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147269c404cd254655548ba4c3cfd75928869c6bc328be1f037332b1d425fae96bd6425bc7495e2aa2ca9713c6f438948b7159fdeb9dcf6a153ca9802e8298ef5dbd8acb5fd90f12f67895ab87248b1e3d8db44be7c5164fa59062ee61c908d42f9ba0fbc3cbbb38300f99df17f85574db86d882337a2c4549f180dd22488e54cb84549f8437e5c2ec88fdd46acdef932970a2aa17cb548b1a719fe757ed14e4df4107611af7866b9385a0ddfa898b595f6f58bb59fd8e3c86200d40ead72c975728843da707a4de82e034ef55c9a09520d986deb4d481ff9dbbd0fd6b989b7063b32ae16014997aa8786b7c168e6e58ad8fe6204c51dcae8e3288c00535dba5acab1905176c14facb31c54e0f507ce6d6652d7bd179c770104000000dbc524b8588b4e8d9daf", 0x27a, 0x57e0}, {&(0x7f0000011040)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe01000000000000480000000000000000f01f000000000000f01f00000000000000000000000000240042006100640002ff01", 0x18b, 0x5fe0}, {&(0x7f0000011520)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67de}, {&(0x7f0000013b20)="d000000020000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc380}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec40d0000ab2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c0000000000050000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6cd, 0x45000}, {&(0x7f0000000340)="00643122b5590d927bd4442eb1f9c054623e4be77a286170369ee388e5f8b284635c1d55c62d1937a0e902a637c17c3592bea76f54ba91adce10f40dce9acb00c2f058cb4f3055ce64749dac95e084ba", 0x50, 0x46080}, {&(0x7f00000007c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f111200010100000000000512000000000018009f01120001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x15b, 0x48000}, {&(0x7f00000104a0)="00000000000000270000000000000000000000000000000000000000000002", 0x1f, 0x4045de}], 0x2, &(0x7f0000003580)=ANY=[], 0x1) (async) sendto$inet(0xffffffffffffffff, &(0x7f0000001180)="b4fe7ede1bcb4390ca10d21f1843225d6ea9c5db324ba5e59b14236a50cf64af81a1b51051382873d9603aadfb9397ea0afc058c59fcbf1ae526f2658f676567002fc68e0337c1d9e781af08fe1a1f12b430785888fc9e59bab6d8a709f79e9bf5549ae464521345f74b54bd63aae5859ca61eed71da54bff879428d217969c147b78e3ea95ad0638c1a89b4193b3ecc4ccc5bcd86f4dca201eb95affce34771dfb05998dff7b10bb47a6193e25178a031d0", 0xb2, 0x40000, &(0x7f0000000000)={0x2, 0x4e21, @rand_addr=0x64010101}, 0x10) (async) 03:37:58 executing program 1: syz_mount_image$hfs(&(0x7f0000000080), &(0x7f0000000000)='./file1\x00', 0x241, 0x3, &(0x7f0000000440)=[{&(0x7f00000003c0)="f334193b3f", 0x5}, {&(0x7f00000000c0)="e4e1", 0x2, 0x5}, {&(0x7f00000002c0)="753035a40608a5222a4a088d782c46d304f9388907668ddff0e45bb90fa18f9782af3d8bf4f263a184c22f0bbf2867d6d6874a23693ee7062b93b40a9c9a599747d2d647e656d1fa33e2a863a18a0b6befa70830b6992f3659ae78a8e610258cd5ecc50487ca6c4caf240d11c96c640ff1e8d5b42ccf428bdc65cef2e924f01a4cb9e049a3f651ae40f67c956867f3a454df4a33587876cc7cbca541f253fec231ad3973a36137d022095523b1a0ef066dcd9b49b7771c4a53644c6d6f9f85f45f07d0a72b09a8a8c39e90ace85a961bb6", 0xd1, 0x7}], 0x800001, &(0x7f0000000500)=ANY=[@ANYBLOB="66696c655f756d61736b3d30303030303030303030303030303030303030303132362c73657373696f6e3d3078303030303030303030303030303032392c747970653d55e07dce2c73657373696f6e3d3078666666666666666666666666666330322c747970653df4ed12f02c66696c655f756d61736b3d30303030303030303030303030303030303030303137372c66696c655f756d61736b3d3030303030303030303030303030303030303030303133372c66696c655f756d61736b3d30303030303032303030303030303030303030323033372c646f6e745f61707072616973652c00"/245], 0x20) write$vhost_msg(0xffffffffffffffff, &(0x7f0000000600)={0x1, {&(0x7f0000000100)=""/162, 0xa2, &(0x7f00000001c0)=""/136, 0x2, 0x2}}, 0x48) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000040)) syz_mount_image$hfs(&(0x7f0000000080), &(0x7f0000000000)='./file1\x00', 0x241, 0x3, &(0x7f0000000440)=[{&(0x7f00000003c0)="f334193b3f", 0x5}, {&(0x7f00000000c0)="e4e1", 0x2, 0x5}, {&(0x7f00000002c0)="753035a40608a5222a4a088d782c46d304f9388907668ddff0e45bb90fa18f9782af3d8bf4f263a184c22f0bbf2867d6d6874a23693ee7062b93b40a9c9a599747d2d647e656d1fa33e2a863a18a0b6befa70830b6992f3659ae78a8e610258cd5ecc50487ca6c4caf240d11c96c640ff1e8d5b42ccf428bdc65cef2e924f01a4cb9e049a3f651ae40f67c956867f3a454df4a33587876cc7cbca541f253fec231ad3973a36137d022095523b1a0ef066dcd9b49b7771c4a53644c6d6f9f85f45f07d0a72b09a8a8c39e90ace85a961bb6", 0xd1, 0x7}], 0x800001, &(0x7f0000000500)=ANY=[@ANYBLOB="66696c655f756d61736b3d30303030303030303030303030303030303030303132362c73657373696f6e3d3078303030303030303030303030303032392c747970653d55e07dce2c73657373696f6e3d3078666666666666666666666666666330322c747970653df4ed12f02c66696c655f756d61736b3d30303030303030303030303030303030303030303137372c66696c655f756d61736b3d3030303030303030303030303030303030303030303133372c66696c655f756d61736b3d30303030303032303030303030303030303030323033372c646f6e745f61707072616973652c00"/245], 0x20) (async) write$vhost_msg(0xffffffffffffffff, &(0x7f0000000600)={0x1, {&(0x7f0000000100)=""/162, 0xa2, &(0x7f00000001c0)=""/136, 0x2, 0x2}}, 0x48) (async) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000040)) (async) 03:37:58 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff00", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) getpeername(r0, &(0x7f0000000100)=@phonet, &(0x7f0000000000)=0x80) (async) write$binfmt_misc(r0, &(0x7f0000000180)={'syz1', "9d5f87f12b33453d52cb1a13065e82b501b698caf55b3ca7dbe0cb99a90b87d3e04c68134f1e"}, 0x2a) bind$bt_hci(r1, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) (async) setsockopt$sock_int(r1, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r1, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) (async) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) (async) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x2021, 0x0) (async) write$binfmt_misc(r0, &(0x7f00000000c0)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a', @ANYRESDEC=r1, @ANYRES8=r0, @ANYRES32=r1], 0xd) 03:37:58 executing program 5: syz_emit_ethernet(0x13a, &(0x7f00000002c0)={@local, @random="0259c6e749eb", @void, {@ipv4={0x800, @tcp={{0x5, 0x4, 0x0, 0x0, 0x12c, 0x0, 0x0, 0x0, 0x21, 0x0, @remote={0xac, 0x14, 0x15}, @local}, {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x6, 0xa, 0x0, 0x0, 0x0, 0x0, {[@exp_smc={0xfe, 0x6}, @nop, @generic={0x5, 0xd, "f5ba0b1ab615e76a8b25cf"}]}}, {"f0a10d416de34bd509bb75904d5ca076e8ffc9545abec642fbf85a07aaf4052b0351f18882f513351927b2304937cb9cc721375198fd1fd18c18b8ede95925b7247aa008ab88c1bb36a9df5671a4574ff9f51a447e670265c42f4d202eace2fab92fd2e3902e778448de52797fb41c02c32a73e9d34198039b1152a69ad589165a6dee60b1fcd60845313dea4feefa2e5b958279e436f91856d350cc8ae07c5c2f081f066571b57ba2676d0eaf80eba5a8ed6a72658beceaf61b073bc42d70925a15425dc2f410f8168964f7d55ae1f8a11b32ea6661c25ee0de013a14e6f572b031a88fe84cb6693f33969c31571cd0"}}}}}}, 0x0) syz_emit_ethernet(0x6e, &(0x7f0000000000)={@random="2d8b013d021f", @empty, @val={@void, {0x8100, 0x3, 0x1, 0x3}}, {@generic={0x809b, "8b643da4baebbb1a4866d77d8fa9dcd6e7ec28089243c36fc3031b928fa3b2cb27a8f8cec70d1a9f9b57b5dd4d987a2ec7a5cb5df9993e65d859d0884de4f4bb3476d366da20df9c2c0a295ada6af55cc7928e0b0f4835430eb87674"}}}, &(0x7f0000000080)={0x0, 0x3, [0xbe6, 0x430, 0xe32, 0xc8b]}) syz_emit_ethernet(0x9d, &(0x7f00000000c0)={@local, @empty, @void, {@llc_tr={0x11, {@llc={0x7e, 0x3f, "b2", "354f3674f08c27a23f6c5bd150a9143a9513bb43fa93621e5fd35f8aa0704a56834e8f9a673c3fd8190c0a02234c23944c8880e76b171dac40eb873ab1da1bac304600295e67b663f0ad1f0f33ee825e2e847babf654d21e69fd0e983a12d775101173445c9f41e9504b6112a4da9b6752227f50e2cd58a2c76a37966a05e2727b0aaebbbaf22a0f9f5bff40"}}}}}, &(0x7f0000000180)={0x1, 0x2, [0xdda, 0xb50, 0xf47, 0x9b5]}) syz_emit_ethernet(0x63, &(0x7f0000000200)={@multicast, @random="adcad878e851", @void, {@llc={0x4, {@snap={0x0, 0x1, "6d9c", "e1da3c", 0x88ca, "6e4c82c3df21275fbd177d97cee522e3367fa198bc2268490937da3899cb36a78f8c55fb0e6a0f75293f709074ffbfd7abb830ee02666082aed34f3ccbe8d6174d42a0037153f80486495829"}}}}}, &(0x7f0000000280)={0x0, 0x1, [0xba1, 0xe32, 0x454, 0xfb0]}) [ 1490.266216][T19521] dccp_v4_rcv: dropped packet with invalid checksum 03:37:58 executing program 4: getsockname$qrtr(0xffffffffffffffff, &(0x7f0000000040), &(0x7f0000000080)=0xc) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000300)={0xd, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3}]}, &(0x7f00000000c0)='GPL\x00', 0x5, 0xad, &(0x7f0000000100)=""/173, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f00000001c0), 0x2844c0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) getdents64(r1, 0xfffffffffffffffe, 0x29) getsockopt$ax25_int(r1, 0x101, 0x8, &(0x7f00000025c0), &(0x7f0000002600)=0x4) sendmsg$qrtr(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000004c00)=[{&(0x7f0000000200)="c1c8041820eba100fa58fe91c76fe5787771ac57c678434af8e13b4b46ce2e64f630173f6cc8a405fd0fc36af556a2b40639de787c8062f5461fbd88c890da9f599d1c0ce05766ff9e2f25de99b590aac44ea655c551b033e025b7307805cd0ad5017b4bef6d1ee3ba98f15c3df933aee40ee7d674792596e5803ed3357c23", 0x7f}, {&(0x7f0000000280)="4937426c646c3019c6460ee1d89650e053e358827540fc737644c29d19540ebd48d1", 0x22}, {&(0x7f0000000380)="e21cd51e03dfc9a51fe37ee6a66faef1717e46932826ec324c61d76bf856aeba0b3858ef85b10e39c6469dd42a0f6305c7dfd8f63d44242979beeb20b354349704b31e234a0c8b679f5223eb7edc185f28f0784bcee51ab2575e4369539e832102882bcc453e7b73e957848622b6c6811d8e1993d029e4b0569b8be23c1616c38921cfd61974173a3d9f14eb62b64d02c0ec32a310776a3ebd9645752e626660db8c1479b5781edd8b1b0db5e9f9168087431bd48cd59dddb1159c7c4b2897e45c52d56e0e36ce793792c27cff45c33a418c3b9e805ae2f62a005ee4c6046d03d9565ba98512f29e5f", 0xe9}, {&(0x7f0000000480)="c2eeb7a4b028c62350adec3da9587dcff99a46e98acb5a6cf26df96c05f091981bc7bc4cb9c71d8efda1daabcd4b7d98f8b9649a2a3088591bc91aa5c223532d4af5f94af38a119bb8adb9e3b1a4b311cc0476b8a9e190952117f07a9b7e6d067f0ac4fc5f9e6af55072baa29600eaed8f998265313ecb5c77e7f27cbda34a82d34cb9330236faf5645368aa7835591016325d91d3", 0x95}, {&(0x7f0000000540)="e0a12bd14e3a934aec5b3d19a5bd37836296fe05bc6ec48ad19d52c7542c706c701c3ea147e1c7d680dfe17dad3c6b983b73099d9f532026d6d59a167bdf41ac9cfbbb165522c1f342c36be2dc3e8e20b4dc65337068a902e8c8eac8385050a594d6fc97fd64dfd7614767634af914e47216ec92f7fdd298751a54b642df4da4bc053d9702f7fed2944b4a79c9b0838ae5f83a0442076cdc8789e5a00652b97acbf6d48890db33540c71defb80ab6f5c8f98ec7701e46c8a70b659657a0c5058aa9986503492f797694f79b7b51c57d458bf31458958c63e22cbf4a61834bd6dd41917d98614e6905c3d8bf4e377d2f383631a3fde950f43d88206c56c5b257fa7738c2ff1150a831f7a372571ac76f3e205caa48f3a5a469e20f242cdc3e18190edfe9e58e05a4266e9fc7bb8cc783f528ace96008b4a1a750400e306d909b0d6b7e6f3f524d942dc9c57b8a5947212d580ac11b1e105fd095987f404ac15a795cc17a2d384530cb835caabb56af4601dfe15b92d43d90d39c8a842ef5e72ca5c90f378ad05b2bb928c9adbf95db4da7a5ae3efac9e7349fb2c2fa7cc9f1e91c1b471729705836b224bc4272d42f039d4aeedff89efc0f9587a75b852dc55f56f81364c2d8d7a2f79275a0a8d402fa10697d72fa8b161f031b038038310894a41512b37361af1e106df17ad6e36c3ba0eaec5e52504addf49c1d8b6256cd0edbd9e08dc6331c25939d1ccf94f7ef6de2d60563ed3a426d6879633e1060142980bd2806622fc41da50631d51e137b931f34b90949e43cde9dce84f2db98329ef2744078c394b0e1e672f38021a01ce6e033f625e284e34f0753a2d2b385c3153b30151fb4c442bf25847732cb23b2f773e94d1d311970e25a90bfc1fd825d7647c5ca05d9af51a5aec1a46567f5af6ae3d662e93ccce2b88912da216bb3b0a50d5357039126e91b60d660f0ce65ac0d26e26e8e1da40076b330c14fc777de88410d045eb6368c62241bfddbfb167c1c70b5c132e49ff25ef49cddd9deadbe5eca7432ed926a683f63b7c2902b4069a6e437c566e3ea3f7796beb801eff27b18fb1e33756c15858ba5128bd596194c96086aa150ac1cfbc3210933647069fd6a177b3b08ad0ca3b9025004ee8fe5ed59a573d1809bfe93b63a5440a35859ea48d4b0b2516a985d32a2767dd32a58b77ac534184e521488fe6a06df4a45d3f8175e18f6e537432d2546bad5f9ed7af4f14597da6e135a68bca134a8940f093bcc0643c322ab46bda740ea587b4eb506529ef4bf2a1e9e5108f5eedfe4d2f880acd65235924b7a6110824e8e548ab2e4ddfd18147211a176b9b0f955b14b8fb01559f85c9bb662e4dc0a0feb7c9676cde0583258a732e3c76ffebe902cd1d23311d58ffd4c133fbbbb87be4a9d7fb9fb560468b33db789af07f236b24f5a1d2985c23b4eeee73c20f19c42f13ad60f060853e9ee2c0458152b135c6e00f36b68a38e1bdf642973bff355a6b9dc4883641dc384ee2593b32bb6d415e04d2f888a917ec82744e24b0ca4242bdf2786c4959b33c11f04a1b56641dec001d029f7679344a5c1ee716e4a2c8b86d674322541eaed638ce41f89b095aeb9e8e66a01a475be6d9e4c9de7681dc2e309c6b77a9c4b00bf5d1d06d8154b65d5dd3403815408c6ef6d72cedf70477be97f0184efef70d0cc7828273ec96864352131ea4dc8100e1227c9366460ac4e282c10d4fe8723fe97059da537453f6cc9d1d8fef3ed15b61248224694997631a3140812714d26e838692a0905f834ce51efb651205ef8a96b6c445490950fee532780a5061a506820b96c82e7b2d4225d82b8a2a48757056848945290ba4937112869176f77d9595f5eb3f41bc2a49033708889f6d22e820662809ffbf28f7e96a60b8d893f6ec9343f1b3f11b29352ec2dbf29f1dd80a967467b1a27411b645a9597e9769d6ffdf5f66dfb7d216b25beeb46ee3f9f5956287c29f0c332b2f5b39878cc575b49e98ffe3a3b21ada2621386522091b3610bb300c7a5641ab7c1d3a9079ccafc193cef2dcf8747cdda5e4b33b4e58cf74d89d7b1af6b546400133a3f1ebcef4f1da7e8703b23af2111d0f6cc2b1a00ca8d77c1c9b0d462de9629c535209df5468c0a654c66b0a79d9f650197f6f0931e23792ddab4a46a168a835cb67a6935fe5c00cddd8df5db5a560934146310651b7448b4cc7fcf77c3bce41dca292f7084ef896e0f7b8829f0b8f7d74dfa4b5a714d69469b71f3bfc75a62eac0e042755ce69735341a0a4f03f4b630e60028b71ef1aa1813165750034ee6441703ce200a216a87834ad33f526467d26b8903521a2b8bdd5a2fd1ab608701ef9b23ca425d62ee445e0fed1c7a16d8d5f0b80146e8da0210d4e07547c5c1de313b0d16b62cf7321ac7a27d1bb5e977c3a3d30ef45e40cefecdaf3dc174595124cf75ea2777e4a106cbc1291bea02ba0c10991051550d8b46250e229bbce3f4dacd73a5a65bdb3cd4ded088e9ae346c06f938a1e20e1d7b77d80b3630ef0988d4032cd6e003feefe145f1e36dd27abfb49ea0b831560c6e389713f25677987e3544e961a7991a1b5e4271a714a72076b5e6c91d1c864b01d19056101190225c1bdf507b88716985d2709477fbe495bc52912210917e0642038998aaaf4ee247edb18b06431777225374a60e0a2435ac790cc9a855771f99a32be5eb8d888985903b72f87b3b737aea815e4ba45000ba8268152aac60df7940d4fe0befabf8ad7ee18e4130b5b20e313c03f227db28ae0be064fef446c65e7895e1d9be371a441d6b9d599c645c36c55cb91c6f3caa084c7bada58980ce0d1d30bc846bdeefb65274ece07bab4e9d7970602fc03e1ef77b3cee055917679e4d9c843493a17018150e8603ae0b3b0ca9476f53041b3d54bc98e8b9de2d9dc69190b146476de5a4eed34b80074efdf4de73bac31368489f3a506efa3c2510ebd50f16d485bac0f5abe684ce639880a05e3850fdadb0f533f412dff399abfa975087150e8e7677f262cd0a581eed7ed42f817f63f4f558266c50d1f021c7502beec3441dc1b7185376a23c3a3d35007da92eb40fdc367060c39a76dd79c894ca066c850e12feb2fb8b72aa9a87830814bd6aef3d0fd46229838f0a3550326fca215783540576c17cb50fbe950915a15de1c369212c229eecbf966eef73c7e02980f53e648ce64e89a37045eff2fc6f126b2d1dc90e72a7b5b71a7633d945ad5f6259e5a7f5820c50327853a43250598255e019afea8d2933cbf81d8a51eeda39ca487530d75d6c522422731021b2dea48262c9dd305a27f1c587e3ace504ca3419dc965670076d135cae0615560761e5bab597f082ca26c7eee49876cc81140888597e81ecb739c93710e9b007889bebdd527a72d109363c8113853bae1b5bb76b4383d5db9d738d6b55c279893bd2be7e607a68c4f23dde4a3fbf48b07846e20e0f3ed5900e929c4014060f5ee34e673aaae470f2b8ab058cad834c088dd50bae46058e7bf22c5feb1e955d4cd754b34ec7559d884b134a897ea8040c18bf5489c7aef6a9b5a82f28229eda2ae732dabadf30d2b48d90d0f1b8aae250d265bfe75928fd7507202697355bb6f98b53ee8b765c1d831e200840a77747eaf8aec21847c9d7d704d136af5941b9eebe159f968354d46d7165b8ddc1d80ca0ffcfebd54ef735bc10007a66b2686f4823a233a48a0c56849f0ed8403ab35f3cbd95af824eea2ba1f2d23bd674e83672078dbd4fe7bc829d1a1be6522fcab7dd955f3d8c9ea8c1d0c6be150fdc938c8aac002a2b2606a74e143cadedda5ffe9e9a17b7cd8544f01395e7d9b4cefe22e14128952a5f0cec86853296af10179fab497aaeee4fb962f76aab1dd2970592398751f49d1daa0a83c41888a0bd1eb714ad03438682e51744909e89ecb5a8e5491c8658833dc78b3d2a166bb99f000892bfa149373fed43c177791c43ac43227558f7131ad68638d1d720b3b5a17abbe9595575361eca5184449ad517ff3c706d9c5690957178e5fa65f180dd0e48c571ded7a684c4f7d1babbfb093913b1caf910022b18e31805b863d5b784ece641b4f583049d9a21f1d890ff3150a3eee5bf863ffb9f9beed4a8cb369e23f3ff4a155c3157f5c51883d0097c3008d54ffc7abc39e1a0466be91bf8b8739cf379789144d02a06b17c86aeab37895be3ffa5f6008fd26d5585c7ba3a5dd6ce4d35caa3f559a0fe98e0e993b05e79a798d01f284725580168b29a7c2da72c2157c2b3bd853ebd3810e375a7f75183de732697f2f76b71b3f0fbba09726ed8c9abfe696d800e9457c2136789dfc6667fcf9e5eebe126ebe41bb0dffc7c8d05b9d6e85bb05a64a5592065023afe271bd24b0eb7933e0c944c9bac529ca78f1443c00348891cf0d0583478129b929519b36be863aca4a98285c597ac6f4b8cecc1d40612ad6edff98441e08d0cd88a7cfce093dfcd08e41e8ae9a7a51ff8a93fe8d7ebc9ee5e5858335963b5d989f1e5f775adedf83aebc7eb5a99860545b249f1d0e1e0ec4a981f20978c27f92c732f260552c1ac338884a40307f125ad8377c40f432c638bb00211578127ca9c76344ba673b7c221a2a998ab2b7df3afa6b0997250bdb47784a1e6aa2a93512a42a6f8b4d45d5fcdbf59e34eb83199d4a53f6e3e61c5321abf28f6f8f10f4fe15c23a7b7cedfaa862528f364be99fcbc667586976f49986680152bad8eb84a978a5faccf6911d3024ef1b3033ae8d65386d7d8e0f223649681932721a2f0e33b317bc9fca55c651f75740e2fbfa54cb1fe5ea8b3748b235dede0c263096913e867c08914f68b7ba471eac00a7ab2543d9c302e67ac7d29127e1a3d453b3be9aaddb13f1558495634eefdd9ac3f6e2bcb0acef4303b1fbcdfe1709cd33c5431f05eeb6db3abdb00ee65b0f2389d348bded3f80c1c4717b73f48162ec604e09214eed42ba2f4f2b293774fae002c29e2f12aaa284af09903f379a86ea13efb877fefaf85d96edb69fe5924f85283469c19addf9a723d75923ff7b60b5fc556dcc15df1135dd467d5b1ed2c8e8cb0ab49adc81a70ed7262c5042713c1d44e525a4b261e0e56a68780cdbe817dee380ad5e1c3aba77f7326a701cf8712a678d2e027e7554aff78e52ad008359412dbbc735213fb17b85612dc63a3dd462187497513187e1e4712607c4a39d1fc833305e5a0fe21a77160b6d5d049db1b250cb5b07b496e7b2d2f3fbb35b6bab5d997d7e378bf2171325de1664705472241cedaf0b0e4be3adca3e7c456527746247fabafbeed10cf63c65939d0e7f9f2e2b59a1d164bc0d89ffc1410ab4dc2ffd67b14d93b44c7bc076cd3511aebba9901c605b3e4e7221fd638e8d3ffcb65030837444139b9d18067ca4b16020d89bc747a8c630f38d3e4fd43e9b91ac49bc91340eb0450492200668a37f385c40e840fa47b47bfd203c0f495449477adcfceed5241f1f0fbcf906f145aff156fa53ba87199251888cc608bccc2e4565ba2c5cad812a785574593bcc4baffe9f8ff2e85221badcf85bbb2d6980098f18c9731f4bb73f5db889f057d80bac6fc5f658f8b3b7dad6ff09ae1109333c914c20cee461de3093753124f7d5083c63cd8ddec58ca8b1314f4891e268eb2f0dbcb1366e1e71b9cff1f9d61af67c745b24724da4f9d9384078f7635c5ef320dbbcbb7f47da519d7a9466a38851d15369eb57b183b0264bfb6fc73dd0450c3184008c566d87fe1d0beb3db525ae5e5b8b5705", 0x1000}, {&(0x7f0000001540)="c6934902517953c42cb398bb30fc259b9065b46f734e02c04fb18f130e361cdf3d2ffe33464d505593cdb7ac5621ea039977c725a0a5eb18da9381e200c70fde8d9b1d1a081a90f3a7e49583a67f7ceef0da2d2f8234eadf15ef2dc1c67029b21b4d405867aa368249a6ced06877bef306bb965e9f69925496d04c0055e7b704715cf2be996f5bbf51178758ddd43b786116f711b980a54373a4598abe4b36718fe0ae09c9e11c8627b53ce726cf0c8154ded27000c4174396b16a4b90134fe3b5c2ea57d3dd4840fd4118f9433a81d557334822926e7967cb5024796d6ed012355951107c19757b4c85aed596b54b012e5dd7ed86db63ae5b70a2d873b0735a360a2b56ceeb80642ba4c1b3cb67cb7dafc2821a0f48b5b958c9c2175b5e287f3c61c9717dfd4dc40259666c420b9dce2dd1e44aaf06c31d8aa47c7356e73d4b5ed7c539479d087aa61a8f3732304a8322a037bb330f9634a408056d1f6dc724b420ceba6dd208287aa79c777e58a438636151d2796d12da0181020eb9a87206a781b9b79aaeb3e79edd4a28fd43bcdc24906bafb89f60a16f436e81ac975b540bb29e83d7c23c7172b80a14b71af9b79c0836236204ae68352555ccd90e212e3b30d62e2b2e2d984d26ca34beb05f0623137a74472bb653ec6d060e513ced39b02e3351d1a377ada35d9d454851cfae42c9ce833574ee7eb7b0523cb35c42f3b260ac1f7f69434fde692d530fe2cee41306fb242de8e1fcd886c833007061a5b6f03b7a7d6ba6a9d934857d96a239791cb6f63014054e1f176b45be1ec6bcc4192840ac887f4bd04e0ea408c9c36e3b6869c303ef6c4c67d5327294bab62510176ba3893586d3c2e83cc3356a4408578a689041096f9258da0abbaaae9b37e2686195971fc9c3a5a7b92e592fa3ab0c7d6ea6595c86c78e7a1fc04bef0c21497742ab74c94892088504c6140128854c2e38e221b7c1a15261a07ad184e0cd1404dc619ecd9887f80f03f6bd44980227ead28f7697be82c3699a271f1b76b4d06315d213e4a3eb086a74c6e4e28cb44e4fa73fedd276e7eb51fce85c907ec35f8ff1d2976552fa1534f497790cc0de96d185d0ade397adda0148b4bd675ec584a6fe5dcf027529df3df17f0c6d8246b9d8fe13cde8f7d272f9feaef3eb67b46fd36dc7734989819ba5c640dc7469c7eb21f115c787ec2ea741f1e618b83c1ea44694c091ee6fd1770b96e53efc8634d5d39a86b2d1ea402c8caa541e9492c345b954da0e3f573395b24176feb54c6965b44cac449ee3e74d4a232c84406def0ae343a8edf765006ea90a56f37c3a9044eaaefede835f7d37108b72e581c84c3a6cfdf24ff3c0ea1cfafd18f8292918307556afda0bdf7288791112af66b69eaaa9a38929244ba521a1b4c32463d752d961cfc48ab245445a4bd8f6727b3ee1bf01ee2a17af0fe859a45c119f7689356067c515359c13ba2f3b89c071882dee1ac7a8b3fbdb112ffb00cb7c726dc765e8972173a5fab9c8164c44ffd1485bbcf6e70c50e47160a476d09743f645bb15f738a1f1fde73808384bf802f439b65d7a4bce119531cb3b0c106e45f5fa872132ab42b9ed7ad06ca9fed4cae6ae5e2bebc60e14041e789319601228ebc0ce0cdffbaf84ee138d764b01f7ff95c47210838df4f835c4eab4365cef2cf548aea95773a747975a43ccd5a01b9f11a9a24ba8b08e37336557226574d4c0dc2a8a20d6a3fd3ffbbf8618c526b5a8c693610b80920aedcfa3ce851a41a86b425312c21c1850fde6b0ecda204061ffb3318521c91b0c438dd2454dca5f12ecf79a018a10f7e310e2d851614afa1e2d9580449e3a3cc963e3cd230bc9333147050a8a55d9ec561e4bba5ed5999527eb98e82297c8fe69355748e5c2328a1228e25efcaa0c9d26f9225a584bf673b8f3d374081aa5e90b39564fe14d3c2de3710eb5174c2fff1b7cf52cdea53c55c42cac54bf0bc8310811bc63a3afaa9b7de03869f51703ead9dcfdfbf1ea8d170f051352753ddf4dc322ce7894281c1141d473fe8b5d3274a3bc8021f291f5274207e4326653efec343835072bbbd86c85599b97de771e423640091da583af10c8f3556feecfd92b7d0b7e53f31bca069db35e13fcc6c0cd3f4f8cb28a1ccf3d6d2cabaf421ca65fc13ef54cb05b832a97557cedc1c90b781aebc7ed4f7c5e55d2f76ec0e73bf70dea3304a2c36d5c48121656be99751490eca36fc240ac85db46e1aebca834fe7d768043965f7f764d584b4f6f3bfbf997c2f3e89c8c400e0b8085a4213fbcacfbc83da83143b2f05384576a5daa68826afe40d66a0a1189c6ed55f93ca43114d7b21757065bdaa508d2369974b9a7a2e9a4ad0b752cb9fcef9a4f289425ebfe103abd4d5ea067ba255b054bce686c76803fc0090680cd741414360e2a5c06a8018538ed4b5cffa1636c38016b5398fe31a522b20573d5b9ac376c08fac2c93d2d573a5f81b1bfe4c138b3b4237bcdcb89af6b1f0cca3e1dc2053278d0248054b5c674137666c078be69637459599a904da65898381886fb9fc9a9fe1e386a7999b04d501e0fb5f03216af22f8e1bedef54ce6f28abb889311f0d9aab7ca19071e7ebb473e485aed2d468934c07ec44d4f7b5d3030707fc0d84d0c7cd491051705da50c62dea579f20f7781fa5ac50b4900bab16f9938dac0e8019d7affbe4a54bcee10efa76d445bb0ef35f84927d1e6af6fdd2b6dbf46fcdf36a1fbc0c81a50c1ffcf6f1375e440e177dad253e328925095d18a6aa97db73192f7a54e90d5581b99510eb54bdfa588523ec26778b05c47d7a65ccf19955658f198dc1771cca0643618556b41e70378c6fd5fd11c6b317095436506c3fd6f3c74c0629605a1b8eab7ee4b435e6505f977931032d56f4f871469505075ce8bbc64e95dbac4886c486dc5fc4f3f0f281f86541dd9657acb0dab96bf6a1bec5b9256b1e10c8bbe95c00ca39e6a6858e30c54eeca77e8ae7476d0b6ed25a18985b5af23977dc25240e8d70a9e08bf4aa572dc9f93e9e9c7d31f0a23d15aa48ac7118653807e1a45d9ec3104eda66efd5be25d6d870250f7591ee3da44ea6fbb08c9cbcaf07b891fa94ea399431365242c81842da5bb80518680007998331466ac594bc9fede2eb2d5163b28e5b589aea5fca848c24bd6b7854c28f001afcdd83e8ad7e5f90578b63b7dcd581c0a696a1279c298d466919066eb44fd7b10fb00d0b86b503fbe910d6eed456b2d6b7276432f8121b6e95d7da5a4eb5846481a9fa6495a5a38d0ad6587a315f92f205a8bf54f4c8bae974ab7a2ce638e1d399ad9d29ed015f03a6d48403ea393b1cb58680fe6dd98f99de944499c71fd70324c34894633d1f1027d33faebb8181d493d3d602bfce4b92126c73cb6726a9c266879373012ce732a818362e7e41c04dca9b7ac3213a5e19c5bf99aa84b59a0962fa01c698cf8ea28a2d2ef44c367ceca99429f715d17c2ecc06e076f11b6905b1f62a8fd495176b60cf0bf3b9c63483dad166613db4614b3d967b39fd79ab22e905a86a79a233880962b74635d08976ef429892db0d02f20e75f559b5ae8b5cb516639592bce699c70f26256baa400f1054bf258934db422d7236e04bedfd5c6e939a7d617266047ceb5894f05ea0d8227c01808782cb1a190f9bd5f4962c838c5a0e4f6d818931063eb2bd8e6b8e96f20ae42a99c3ff71ca5aeb8d582189a85b8c79474a7303eff4fa22ef17acd40ce97522df0d94414c671bcbb0f5518688317b8e9d5155a9f8da9831faa7c7ea9db259088cd842097d8955c811e8ea38620b9054a02e3f4a27d4ae1b9a75bd9b418ff12bc61484770d2c72749cffba08d70442f083e94e495953f0146de69bfcf5f95b4e5858ced3b508de00fb95f7dbdfcc86437ec776bb42ef9b343e494b541211bfc4cd41511359987ef4a584da1f3071a0ce354e8b15bb83090ae09349e0c1aff8df7cd86d179e9ee077262c042d72557a1a53e12821be2e5bc49992da4955f658f26502ed97236ff43f1a24f0799db6a565affee71223a67cc777aa7657d21a2d82aa79fbc7f24b0cac660c651d9e46ff156adf9dbee881a148c0e40af741cfc0be725a65e299c7cf5571a59b1155b5e4d9b884b1224b23bf96fd1087448b31f0cf82650b3e1ea455c51732899b844a5083f68e3746b0510e59b34b2306ede88c8ec27abdd928bb1947e3ba4cc1c005d7868e0434959ee06b202f1d808f9baadb45af5235e15bc5c7bb7c938f5d627c8dce4f8440007ccd3f0c7f3d5644a57a464964b8269080028945b9f4e455b70d13855c9dd0f39e86c77240dc00c7c8c49b97e306cab9e1c1637ffcfcfd4e91b8d987b312efd9776ea9d431ec60880743bbdc580843735f54a994c1133efc325a9ec36c083676a086263b75ebae6769df4e3741bd01d921999bd57c2636d20de97ec214665f958f01713118114d752df306249f9ebbe0eb5bb88193ade16765d46a3e20e5c06a5f841f6345d0457433d2b764613b50cc3b5abe958a933c0bd0e63f403d03ef3c455c56125383c11f8d8f2e7a1db98da8100b3c9cb1d4d5cc627a62d3d9357dadcd22de095f8f8e58ab3528b694234581fdbaac1c1581a409c01738799604fc2ebbf4f7c163437e2d10bc841aa7918ebe8ad19550f56975b85036cfe778a3034d652f1e23ba769026e5a838d99ae114de2011fa6471fbe4d7cb0bb41f81324f230dd2d6d06697f8f248ed0632e082e6a4e1566fa56a28c73f548e863aa4cec38663fb88e8de0d67500ef11f6c05be1c8f0f1f7accbf4f0aded909ad8386ccd2bd5d2aa37c69c506f78105c8fb9b817dfe337079975d1c3ebfcaa80d5a06c7c0790e471f51146ef6375dbec7d0400d7ce4da53c43a88364ae32ad9376763494e7372b721363f00ea0f25fd68eaba39cbe1875109bc1fb9a160668ca5985aba78762ab254fc80bccc169b2339d42e3f1816749c7750aefaa0e30d900fe13b454591a4bd50aa2d9dc5303bb1e6bbdea2431ad210b90ef4ecde027760407ba8dfd73f0f992a499b197063a1dcc49161367c2c097e7702dd0638512bbc2fc7ddce76b2bf8b312a81f28b8081a7516372b613abe9d48e5264f6f45b6ed5bc55b7208362722163eee3c16d6dba9bd8eaf2ca5e4389ec4042ddc2631e5d21777b09d5b2ba15d691bba9c016d3a374a1918a5185b47fc0aaa078661498af5b8c7c0d8a5af56cdd44aa83bea54602868465624a3b1fceb8dbe165526a2992fc8134d876841d6a018f3a25369db3c27911782465236f0c0e8d9e5d75d3f8f8a4c07c5019ce5ae3f98221ce6d2ecf536db14437159b64d1e234e7aa622331eb066159baeea9779b9400bd20f36fd4b6c5f4711c8b1280eb6352db3d69a895167af224becedf887628230c92b60c6b91a5da5d353688e84a4c35dc1d70e5d3de03b09ec7dfe4494ee887d6926b5fe3875473c3ea234f746d6ca847ab26fc4c97ba20e7686ee4cf9fe096f196e2230417f3f063e746df0e34087258585979bea38982518ef618c473a710fbb86de948c796fb115c1db3d2cc103a03b68e98e2de589322c3da7592865591103770585c86b68d6dfef32f3c4cdb83afd34bfef9d589c0283425d09e1a57a0baeecda2781ab16886f2f406933ce5ce4e89301577bd70fd9744f722809ab08bf663646d55fdc19f5bfece1702ca5d90df3e0d2cf87761c7b80bf88fa9abf0344856a09980f0b3d6a26737d383cb60cf88f46bd699aded2c57ba6afe85380d9a92", 0x1000}, {&(0x7f0000002540)="ce927f65ac5d8ab067d980e543c5331672f8363e3417adacb39a9e49b598e98781f617d8dedddff659e5c63836d1324f6d739635ae092fb4f331be16d5e4705737fe7e75ff89ab89b6e058ef8add74e59a65576f9843bf85eea75f510e71c9bc1a9a681ae4870a222142eaaaed02f1be1405f65dd9dfd3d073", 0x79}, {&(0x7f0000003a40)="6411b2e5d674ad7bed31f50dec7dcacbfeb704da9ff66a57b7299c01a5364701b609e0d3dede7ba46392ac27df80fb3064d0d9f0bcca786a7bb476717fc4e3f19baf893114d58e1bea06373bb6885e7e2c0b5f5bf550c1a4c58fb5cc0a3505c2e7123c9a9e252e96670b2dd7ef769e81e1afd12a8a4a54293f1dfab84c7c70b07d3f7a74a424c0503949a58c5f9b9fe460da9aa0389b9b7616d1c18aed50adf28da6f4d61186b47f0ae352c6a6f29e", 0xaf}, {&(0x7f0000003b00)="0be8a2fee871074cb0d1056b3204af1756cb897feb17f7d64e10f45eafb6089b894528776c52379a97d52f4ad2d7b77d9cec9f8daef38d9ac5bc03fb4f8474f5da6c3814aa24ee0ca5c512375da71067900f60a05438b3876bb0eabb276f90ec596c74b9758bebb533ea756bff43a2910aafe6d999656266c0404c7993f48c8af87f373f9335e17cb9afbe388f68bda35c8b57c0128984df7caa8f71875b60db6f642c42b395e3a2817189751b956912177915242cb088ca6f33b6f10e1f3397c3b8145b522f6559e0ceb47abd597c774e16cf9fa5526aeb4aa43877", 0xdc}, {&(0x7f0000003c00)="1b96bab51b4afa2574889998bad453b841b60c5524948187cb90ccd7f5b793d730ea8d152ee2a5c54a954b234fa7802ae147aa982e8a41481d9bfd41ce8d399201b4bb0af548ea4584b6fd274e72d8fec36d13c086ab139dbbd1e80dda1a14b88aa097826132c9e2e6234838172174de31dffc00c28a9a44ddf46286f581b9a1c4818eb3fdc6d0ef503c77877d9b819f68803abad402d200c643ad8a2d0f68e74f554c5ef59e32cd00b123f3f58d77db21137f15f4c2138e63dd283712681cf945315a9c1f79168b34658d15d120eb6c12c046d9d9bda1c6d8b06eee5441194d6eecb66f807be3da24cb156afdf3c429136ba2968fffb6c21181c04eafaa212a56670be047092107e05cca691c68b2d5054caa90433635005daf3f22f739015f179dab5c17c859113c989b02dcb79ea514ca88b343c449b1f32284c1c1d0892ffc0bd1f5ec57c95e43d6e879b17e0b780c7559e0cb468234eb111599c733d2b39964a6ae5bfdc2e45e45be39bbcca8bbac61b21e37e13cad34adca3ad7e65f51ea1981fbe93391e6f4aef9ceb9fa31d1f7900a0e9f15bda73e6031d53634a31d28ada9b22627396d979b72f85c05c6e6843cf5d90de92bcd92bdb41f4279016cb58d4c94bf18b0203429ef5f94ba7983895492faf1582c9ef6e54f483d41b1d7c57f35ff4f64a856f9c325d9ed97e3aa571ed38f08e6de4a9a65188ffef17f4e2192a3e129c5e1327bc13ff8de1768c587e2bfcbf3d08e00838beb3bf077c98d456a78ed43d919d881ce39b53d8ca3137690b3cf89c8502381704e8c11fcea3669ccdfe4067329a292c1d6fe7f1b4d017e13da719b3fc2b5a9e80f5f8fd7fa270fc62b742bc56cf6bc85aad06d1beb1469a5b9ca42dd848e752b1db3f04fa4d9a53a76e000dda6874280d11ae25711409895b2af852a7caf82f1f0c85cf28c3285b39b0057895a425d3b8880480f32678b3c6e305e3ac4f53f80a94c1271bd51871cbe570cd7cb12f0dbf5cc40b758334bb28e0f1e5a5d8d1597b0e5e04e5c3e0517078fc0c2477cdb6e6ccde3bfe0195800390a0222646e99a74d53e8557e3300a37cc92d3ab3defbbe580d1c75cca062a1a897a43d544510a4f85261fa11adf6e17edf45095cc36611a1bd5bdbe4db4e8b4352abe49ff288efbd8df656d911002dff334b6ca275ef96da4c80d525fea20c636fe4bc353b24521086a9a145a4698af3227bbd46a21173512bc842acff73ba576faa60c6c9a6fca7a10a6f7b03b11502d1939cefc126112efa6b8ff5b8a32eeebaa5498e9aa9c74293ea6b870e4c6a8b9f074f89bf856a6aa146676b98a8de936646d9bd465373d44fb41bc3cbcb32eac92e201e233afdb96519bb2c6ab2393af638498400bfbb15cdb3a008424cccad7842b041513c0f6569df111f53ce1026a6a47e6985dd0c44a30187dd09c702b360313b90fb0a0c9faa58af3b036ff67d89b25808469bb0dd9a861ee1822eaf3567af545e886e00048c0dda7e9a0188db703772a853a8b559dffe0cb2a95b848b93b6533b99b5aec9ab24da01312fd4bc071929b63cdb0726d83dff24479145ee8d34c5efb1fc634bee9d1266cd862855e7f309bdca2efdae41a391d0f16aeca79a48c4384798dfb1e42ead82f29364e48b99e4bf7031759e3ff756c65f858312f42dceec205c7fc6c1ae386c062126dc26dec90432a794cafa79418f7a5fd353be2cb2cf7acbfe43426ba0302c7185fc2da6b2ae944f58b0aab4be94d1a5281a3bd3dfd0c68091d5f725c4e0a1d7ff7c32a2bf5fc3432cd7c15c6b44a50669107d30ffc0c7c1658d8cb234ee68453532119af530cf7cb459b11b1600c31f2e4d89607d6bf922917d1e52de512d34bcbe53c20ce273201fe5e5db691983b209189c327eef83c115833d9edf260baa948e8db51bc2d5400301b200a30e02d5ab9de942cd08b2fa3314424e0a9f87e839dc92cb890bff56f5b5ace8afbf5dae04079bf04fcd23dbd0ba0a1c876d1e7dad3e537fe8b6c137566da83b08be831f939830f73b5aaf070bc11e151c54686be8f2f7b1630910736c057063f4dcd590154957e3256c15a6f8bf923d25410335b642fe1ef27c7576729f4eb1e6a3e241735690ca9573d5a57d531c3aaa77380094e2bf846279798ec324c063acd22c0c629e83822b7ee42eaece1e29c804ec839acf5656ed46143a95b541a77500b99b30fe6031b9186bcc3519736d4781b2fc5a2485d3e47d2bb4375e30be5b219efae1340103045e1e838588c5f6fabde793d8b0bd1b9c04cc9006b885c57be9ed0d5df5bfc94517cde1dfae5a613ca77ef852354f424a14a463d8ce9b612f8cce361da18ce6291279005a82c2876749c1e58a753e0d99a376d934afb917cf30c8a20841f5a6bb816c6f000192833c39ed57db9bb259ae7735b62de4fe1d3963e6ad597527bca0150673be5ba382c9c162fee6fc3c61a1ef9b13553963240d17abefdd518bc2573914552857cefb34d8374726feef748a06a44a44bd4a720009fcbb1289108e7182d5f95484d2f8cfb3f453e9897d4d865e2678f8a9485fb84363c0d758fb09256711137ed820e2d8a2713e985ea513e04e67c47de0ce31011926db1795f865a3abfebc892f84f59ffcf89d7714d7c163c8a24b5a47e5313b9fc451a455e0bcdc63c5311d926bb9b3e42e23406f90b4fa1493813b91c97162ffc6ad45dc96cdad433635e0f7207ab25dc18bf5716399c89d3298e53f5d2ca0eafbcafd27a8bcfc1c658b5c724e993ddadb5d3195f7106991c26f71b30236923e0e99f4c5de7f62617169cb703209bdc04b1f8aeb41b1c79f6bfb296b4452422770670581ed8c2ec5ca6bce5f55ea922c94592e30d0737818716ac3d192d6bab7f7cadf56f62acf390db00b62d267c76975e5ae0a3a749882f642ffc5e8c6d4a543099c406ca3b99c051e388be66ea0bc781a03d577ed859bde84b3cd890685bae4e49428283b87b6f4e5189a1a79a83919babed71a5adf1d3ac1e0499231c8cc095b3cfb96033f47f6501a7871ad3528235e20fbacce03f19e5be65f3ae1ba6c7f5f22a1a049cd66e1c99baeff11f214fc21d2cbaf7b4bd9f86e9410b67b9b5158a2bff77568f7e720b721ab3658e9887ed47bbb4244c0c8ac6b44e137c9822ae83952f05f3c283673a21dcc143fdd103761cf4408289406c44a3767d262968bf769c116d26ac341a0c57eecf3ab9c030cfadc438e8630a49eff1b8776251b5bcf9d9a23d78cf4e488726c5555cf10a80ed36691b0a5a204f03b940a7f0ccaae16ce5bd6c6da899ff5b59da347b28837a42a05d9a20e9255af5a589bb0f4854bab556b8e97cf279af107db81c8bedfbd010be3849db2412c0038a2620c1b82a5f52c43ce658cddb4168e46b34262e4bc20f2e4ba481d6266c0eef963d82af099e8fab61c04d23614041d33074112842bab17bec7b48198342a5fa969df002a18f013b6ca3053274995819d1805557894efcfb797b8d83099337bff06dc71f7add922295c771ea886fac9feb09bebaeb14e28a8e3a55951bbb7ae33e73d763fa4bd7c3e6511b66cca3ca44158e185bf5716eddb25af9a08f5da8504db18949598ce0a2284008aa29530fb726921b4fff6b900339134401db754fa256e8ce70e1f41029944111206146dbcacc7143dcd16cda1ba9c878e7af49a1f20e2f689d9f89ea9abf366d0d35dc17dbaae8642201aa5da863c010fe89905b5d86e578375d688e062d9ae6cec4edc0c9a75c9d484f88aa4367d42fe0ed3f715542e7a170828c6bd33515d02b96785f97ae0d179e668b4ebd02e0a896e1498b7eabd0ec7cc680f4040e6023b378c1942f9c4e2883a44d3aeebd1240f70610b76cb2f49cd2282ef2bca4d9bf82026ea4ef470b412991b0bfa1dd52a7a1046e1e129389155582e1170c9482c72bf3384535c32f92f8b3bc58f47eee05c8f6439d1b5f7d47dd617fad6e4508da68228adfb313a33021d146c49c565c9c1534f0175ddaa33a3dfe72f0cf092ce5c77905972c63aad69f845811046a16da519ca5ea5237e29aac9c4808fb78c064ad01ab9190c148d928de5f37bed3a799675725ddc0531d3a19eefb73ffd5dc8f6f4700b710b2d3d682b83aaee72127e5071dc8a71171a8194829bc6e57afd58cb9d048895b99be0024eac52cb96d560ef5769c1dd952ad456c591be1f7a67fd32245f1b7438b37bed84ce74f3c4dd99436738c5bca505df652d3070177d505d01c486ef51290d922e8a4274d4e5126bfd5ee015e4b1cc9aa4ac8216c21722a7608f146315e86a4b16800346cf377dcac5a6ea922ebc3c3323487b4f7c5a784107a624e6d6eaba4c4d11c5e7b16e9d28bd40b6a4ac020dac2baff63796a53d8471474d18ff257995e2552d10d7ef96eb20182e3e8d5a03b1ec0db5c2bf765858d970556e9ffd0503e902e0b25bb466270f40aaa0bdf424a8232a5bf015ffeec51c2ba66ecf4626e5d39757f0ead1329de6ad496a31df97154c876d86433284258465de9836382c584eab503c8181018bd2bf3823a977af25b9fbec55febefda6344d18e77b8c1b6df4716a6b445c7b77e5cc2915f4e29036f1c30dafd6cc734a859244455f326fda645db7d4a795bf4e6bd5bb9c437fa3249a5650ffa72642152464e3da8fc48245810d606de6f121ac157527cb4ed3f632187f904486b63ab90151c02d8bf29fc46e681b293a4d7e88b168b19ab20633886fcf01f1b1ff099548e32b04981db6204546bbf1556bd0b894b7292e4237b7ceee11669dd9201c08ab539d829bc053333c27d24509ad56b5e73ea9272396d282da01fdb697ab410daa37eda6d1f82827c53796a5b67bc8af186b2c1b4b7a79cac4bbc763e17da08e147607bb316b8c000d91087dcce4a0293f4ec383bcb561d721132cdff30e884c5ced79512fbd0441b29fee68433938931ca6aaf5ecac60bd0be429aa69a225726b56d89a202220f862756dfc21e94bc4bb621cb55d7ab4045dff249d4fa4ed8beb6f5d5055df60a67346a91c967c86326c8e26c16fba99d90a12cc7fe74dee54d075919c04014fe3b7e6f38408644f7e213a167dd291d205f29ed833a68bab804c385803c4c0986212b143d5d7c46a06f429f80fb664b85bccc85d7e0877133148a81b3f17ad83cd4ff25735d557eae1af96e6cb3ed7f3767bb8774e9f82ef5e5b0c258011dee31f93a0e8ae2534d4fe4e60db9aa9dfa554d6bc6f2d4bf4ff3af765842c41c40f5c1ff1cb9f527769c0a743b59415341d780dc353c8f4253c799a95bd6381c1b94ad901c687945a35978c068d37465466276c0e90046831fe54bfc214793b1292335563d5137b9b400b1fb5c1097ab8376c80cffbb12fa50fd0299afb53ed89d203b0ad3ba61f5030c04b239306c704051aa1609ca8db9323ba7f8575a24d8b288e4b757e11dc63c5d420fa8b857e943840a7c495c9507cafd510657f76b0426c3663aa7380c866da175608d49c8368e532b962b0eafc1ad98f6bd70388d438aa39692c35436f2a2329a7707469120ddf9b4ce036deeb0f11ec3270c372bede9c62df97e2b29c1e0aa1c70da7d786456652ee949299ae2ec91de2796474b85fffeb9b92adc4981bac93f12094c663f893fe6d858fa4bf6e7f141444c55054686759a0e0095d764ada24b843bce0fa5344934cd6b85d33d567e0cf7aad5f306e7b2c5f03b3467f31e016bfecde60f3b5dd56ee1cc6b6911b2a55812770f27507b845fe894dc895cfcf4e1eec1eb7084f60f416dc8d2f", 0x1000}], 0xa, &(0x7f0000002640)=ANY=[@ANYBLOB="f0000000000000000e01000003000000d7855f6714a8f6062cccc732420c458e8156a25dafca677040b8b894ad73b3f393695a8b5b997d7d52ec009a912c725ca4af1b6acea0770ea003b9eb5e0287e8caaca1414450035c78fc1db18a3dade658c484e00f08139ee3532f7efcc62a0246185d6187d1999ac0ca2b7d71e7ae18ec543e855a9af5bf921e9913be6551bdded90b93c5abf708af20727353fcb5c62ce493605ba1b3b0f4026adfa97a764ab2127d95ce86f417bb1b7387577192cd875792ede5845929400705326807513a1bb0a0578499533f8d056eb2f0a334cd683300df04658241e900000000000000e00000000000000016010000070000003bdc3b6f7f579c9a1e4b06e1c46b547109cac03c5861d5466878ba47fc2e473edf0645e5e3f28ea6d4aa172475bea62440fd063ed82931e3bb22a6f38b6d8f8aaacf0822c0eafe5c4217fe01a90b57dd029b5751eb669ab39695a3889010767c2ca5d25705a783e1117f81c6625e5c32f7d2548874b5d583d33ff73ba11695105f63bfdb5e9cdc29b83f25fa50d3e532b40141c0673d39e4dde6f8d9a31f7f912353a92425d409dc0a1055aa49df5f73bb1fbb0f5b75051d3312affa84de2eaff1f03bdfc0dcec7acba761866ed95cbde8000000000000000000000040000000caa10a23f2bd6e78c400dab4f25fc0c2bb39a1e8adf117757cb85c98ed179d01be7dd00c80c4472bb6575cd7ae7f73cc527a7e426f8592d45906d892b2f62ae3c1bac43a384200926fa7ce49dc9e27c377b12279fcf5dc2a563a298c244aaaa1cffe75877d2f88e4b3bec4963b2abbe9b2105c37e9fcdd79eb7d0599c45cfc860ccb2d9ac7ac895943aa7ba0aaf36e825b6083d47a6662c89a14c10d11ce855a9de7bdc447a096bc82805982606e8754c95bb4407c07c5df8485bdf7b8f2c029cb301b175571d62cf2188dba2d718e4d7fbe12533dd4760958557e533aea5fc4cab8b000000000000000020100007f000000b80c2218875893b6a871c0965349620ebef904dac2140c6b7792d164cc8636be444064b19d5fddba7d0d0c12c41fdf907d8db32d0be39aed7258b07da1954435ad59e91f259c2acfece9cc632da31130682278f71fb9c23c8128f5bd7f64f81411f679aa9075795fea2389f76a194cb220bc9b2ad276ad01b1e4ef61df27517afe95481bb75ba8db7dc77e770a03ff548be2b2c9ce923504d5f0cf89b45ae198101000000000000084000000030000003ec0f2603d366488e8e1bb18f0e319643b6bb1a39e62dbbf4c45ba28ba95b729f2fa18440cfdc14ddfa284e524372a6bd30ff34d8163c2c84c8b1a1a739788d52e9b24e4972f0de69f6a24ad06d4691a92e866f5cf668f321cd05f470a9f74bbd2fa9cd12878730c9497cd5cdb66f69fad61ace859c1717ed463779f3dc4aa9c8c2137b2b9ebbf8500cbeed743baa076e7b03144b103e326b1d80214bfa4fdc803f95d00090054696844952aba5ee29be351415b520220a40239d40c338ee3e3af6497dc2266de28d30e5bcd81a0bde4fc5498753c3f708e355f2bad2a9f6072a6ab9a800fff6b150ac4d414f496f21ac93df5da108019d20d68212a6ae38349bd2104339c501da5f8c663a91aca190faf007ab69a7578651b58898a62cc824028b21cd41c9a57b7e9a280e4b5dee061cac2f98dcb892d4a329260487b6062e655861f4f846a60a04237081fb438f4845c3a67517f5fdc963fe2149f4db1c8d89ced49e9c94acdf1fab6e420541c6dfa166fe159956f183c6848d74a64a0467a256a5865db1aeb3daef07acc1114f19cb51adb652348383f44131e2cabbac4f9cb66036c2f10c8aedf76019009f9b0950678efdea0c10c7682f09c28e162cfa231369aa36910fb257ec54de077aa20b4477ceace9a67a643da716d3987ffaec9f6c1737806b9cc23bc4142c59a9df811f04841dfb5bd5954353061ffe3e07fbf7df6e0060a78a291c92c21e466ec0c79073d86fc47ae47974f893bdd0905eea3061a19c769ba311490edce368b14b071a207d96e4e1a30a0d3a1fd28bf32a65ed9d4c5f8e2566bdf140025964d5150316f0ae001e7978fccfd13c02042990333454e9ba488e4e8c578fbfb0483661603444e91e84ca5091937b5de9eb60c4560f42eb4ee5657bdf7deec2efc828f0c198918b8dac89de237c8c80aee649aea1f38d9ff7395312ed8a968c0250115d456e1325bd3d3be43e47e3ebd0c307eb5838fa349175614cea10e504d788fd7027c04de1ff465db8fd088f5648aa52247add67f2ea4b95aeda70fc949b1f3277596792806247ce9e07dfcbe55026a9765fc0b4d484ae00927c199ca5b1b5dc67c6311be5132082b1da5cb9e38557249cfbbdd9f19a96326d61ba6ab56bd7ec6e9ebf79f905507d9496774bb9af9d6eb86571d3d87e86eba303b65a7b5f1beb24c709cceafd579fb287948362a8f7ad19b0e53743d7d52043d889261bddaeb5ca8b333bf0535190149031d01855dd005a73eb56123ad83a45df3bbb799947d966e1022eebc7f7783a2ef8a3f35a95ce475629fa9683c44283e246fd1e8be27581f465aa02b7ed271c76ebabd080ed6c9ee71442b1b251da1b03d9a625f12299d78ccf371fcdf866f5036e9e59ab118d55228e75d43fa0e50183dc002c2759f96bffcc7b2e452ecf29931ba2df5f56cb72141fc7d9535354497bff3fe4f5ffc1b2d6b74fa2be90cec80a9b236f33d7e2c68ad9aab62bb4304509c6a187fb0ff92fe1737c86db4100969b08c13e4ddbc2c8fe0ad6a18960ed3fd05a8b6813596cffc769f5f1c3da6c70f656bc6a699d23e72ca667cd5b94e1c8df2a6691a917c864aa24bda70842b999c8d11ce3ec6e0daffaecd4c876ef04b15d9f0ec381071817749458ed072c8b3453095b9df59c624f548e5e8e79ed5e363b6efafd583fbad16e56c80aa4fd4d4f53b382ff12a572b8c6495f544b362ba363f69b6c28b75edcc33c0d51368ca27bae7f27900151f6ffe6dfaa75f533644672f2317e21d4125eedb419f370b97f188e005cbf1260f89b6f7d6c72579831aca439a7b53f70b410e0273585169f4782816feb10b7fddb19ebd0fbd1182fdda8e8efaffae821581a96d8cb9a0c896d2d4d891cea324d2473fd596666c260efdb17979d6c5d80532c20908b38f947fef51f9c4feb9ebcdfbcb07c3e8a9fc46cd88a92fc7e2045f4ea18389b7afdee46bc15890dfbe8cdb4b4227416583d3ab02b54239678bbc8cc9c5f74e5da18e483ab389958be50ffcf8d99586cd773e2df8eeaad74aab9e0c1294911794be609afe5cabec1a3f4f5496bb6a59a9fefd54125c889cf50add8700debf239a2b5eb5acbd5441ee1493911c2b8195e383970c281a769e8c0d7eac8e7f215bb726d7d7d834f26e59c13e01b6878e85a9dc7c34d616f7b2ed8a187f2ed010970245f7eb4a888500a2892ac0fab2522e8f7d6e0aa5b6c2785dc4341d567d912e0c9c98f24d11777494b1c75767aa90cacfb3af19ae0f94db544443bb914307877bb85819a82e6ba66fcb31902673be869ee9c4d817af45f8135db506fa674002efd1b6e9c7773bdf22046031c8fc3c2eeb72f2e235072b710f8fbe1eda627aefaf1993dd15b342561d4548e91ca9726166f3b06245405b4016c07bdef86e79f4a30a1d053d5d5a707ee47ddd7edcfa0eec4e0c7c28f0021506abbbd69f380744c92e2997f0a06e57dbbbeab787afab0bab081ca9ca86ae4079ff85140966701065564b4a5158af2f7ee6d3a2a1d664094256fcba3a8f24a143dcbceb189cf30e30f9b15029114e27a318e2430b936506dcb5a8b2228af23bc32eff178d2e732842f74896c48ca93c7973e4a31bc378398e5fd3dd5a7d348f56b1f2ec4543eb3002db4ba0a18f1560cc7b54cc72891aceacf53c73e3ebc9e7fa67d7739e29e717d707dd3d002daef703923b66a4b776fd1372ce917756713a8da419e2da3588f5cfb409c5b70d99fa153462055eaff9e05cd528918e8e2d181cf54a7aab25b226f1fb73a0b33f045af9018e77aa0032619ea051eb8ee68d21538244cb7f0165b2bdca33783d8181e2d392870718c77a6cc79dd92c4c33d9d5e39848b37d7efd08ad3951565d541b3a2589fb7dee9eed3d88a3834439fc30fada1df2e63633edf9c7a3f0fb17e67b3ee0933053a782f59d0c2d4dc3adb2ae433181a0e221cbb600313a6a546f76cbe14f56c01b420ec356acd90470b03a2b3549f71f72233c1e30606537ac114ceb8d5195b3a974d3c8950d7e0f21b6984103eae4fb839d82201c14a4e087fc68ec6b712427d125f1577694461182f3c3a60bbc38b091e436e6829aab641ca2efca06ec54fc818c6b0057a97ecdb8d54ce8ee3f58f0f44965367599b4efd0bffa359ce34e8670ee6aac500fb6d38a4ff93717b8ae0788deea032233548a1862c9c5b026b3b30cc7bb305125b0ad688068f2917292b1616992b629865b7befdf8e89f61a2b81655df0e064fc5d9b9696b99431fba168f4ec68939147a6a9c0a2946caedf58fb71c33041da47d41f19ec1afb82ea9c69d08baec7bfcb36c43e631b0989ff1b392791cdd662094de435da1eb645e0d56bc982b31f29acf82456c9606aaa1c1d99c049884661865c20723b35ed2f6a0e80cc4568e2f98ebecf393305bfe51ccc2807160388fdd2bc560211eea4af9a703bb4ff981a9a6edddcd60f9cff1f7ea0dccb555d6f74e26e89be99d77f21b8de4141c4779b0232f51e6e48eaacb5699324627d6433e36ad628d2bb88e12f03bbc1249ad5818358ecf3d4b8fdf03aaaf315ac4055e8169401e5016ed40453553f968d4250b1ff052e7564761a6207c6d4980f10637313ffafec097d0ca6a5ec65a52d8b1016d15f6ffe4fd59b138e32891812f51fca3131999137a62fb6bf3023237a7229e3fea47a4d5d9a6efccf1571a38197061b8f5da56211713df1ec2147cfb7a58ed6839b5aa44189f558dbcedc5359686ff0a7cc303c5d52f95b44c80f03cff337810e0477583758b774cec29b61284e3a05ee26dc827cebe148f167bcae4ad2cd03ba373d11c678dccff3055a8c7ec3c2efc673734d8d103ad249179d13ff08748ecfda191a9a0b8565d1b66b87b5158d0da9804217d5078aee969a6417c2e59e8048884b5d243ba7f452532b8ce616f24c16ca696fe7985f09ad735a85fae227d783c2f81d88f139daf0a851c122f942a75b7dd2e74ab05e08a15fb6c8e27447d80dc8ee7fac04b3a98af472d693973761268732fa4d490cb3cb3d3a12f6fdf841fd86bbb1f4016cdfdc73e42feb36a27b08af52e3cdc58cff6e61c6d30c144e2fa1ead895429ffb330b17a2ad2da785f3d2e137f03afa1e27537c36d03fc2fb00384d76f0def2bfa73a9cc380c7003411c9e224904451533a5e6a2c6bedd615fad125eb1ae698f46a470ca0e33f17a92f0d071b72ece42f21b0c870240e31e3eb9cbe97c916ed7be5ee66b15e5d884ed5142cfa8b55cff9b4cfdf3738cd1ef8869b67507b4adac7700a62c26c2ec56e9b5304df4e6e13df568fc38fe08b7f308cbaf3a6407e83987e884d4f26da58529bbaf14bb7b760715b92cfe993859a9545da509c412f355c14723584184646a82b42e3f0c13b35e6e2ad45b597706919bbb9137b07b24b3a475ebe52e7524be50fd5fe6cbd20c905c0351c0a72723be7a2803624b659e72894c543fad6e47088612f51d7e2134e46a12071bdcf383dbe565242df87c6d60eac5adc9548c65f8c2d32d1dfad970ea87fd85ec03df2f0e333b6442f812ab24d224fd00dae02f4f1a5577787fd8c2389e18c8fdc5788ceee2ccb67ab5dfce23d0bef8c1cca8d7e228ab8ccfaf51c1049bfadfd6a815194095cda8c8431e40d44c7776b415f860824e6ad77e9cc672b23b8d7c6110d3efcc928d29016a6c64be2d35cea4f0da34e6ef6ff2e413451b956e19625614e2f4ee62276d30be6c23cc54211fe579fa913a73ec61d677248b923f3aed74d46fde4c7f0b48e4115fce32a3836d8d29bad62b52f852382629f1255e7bab9444dca792369d1ce1cf4af5aa3f66886dd2c6bb5e3421f531d6f67b8f0caf37c0cdc4b2b4896291dd083e6c6f7d19593475167709ee4de853c2dd0d289d9ea95ee8b46bea089b3ee83d4ae04ee85f3bc8dac73956bece20827fd47b7b2bc8416a41ac25024938f2f0dc99c885795f82f3d09ff0ec1c00e0358e6581b099088265c5b8d897e5ad82ebcd9e8dcb7835c707e318186a6d33fff1cc9833747a232a3d62f369c02f50c9992cf655c966bc578aa5025e72cd72fee03028bf66d929ccd0f5d3f863a0bb497f75822cc9e45474784bed77d24fb4e715f61b5bbf19522493624bda19a43a51699b24c0f2a2d5671437c0c6b801af593dcaf28db3ab9fbc6b85d1bddef70222c6301e63791dd350adf1ea61d15dd5a1d85d45520b535c6521963c701fabe93bc954da4c4cc620078945223f4578b7919df0cb9cca9a5174a2ab7ba802b57f75a8cef790b1ae7983d7c41d72ccd768720aba49db4c423a2fd2f00e75b38ec2207bf81e4704b77ff7fed888a4bb153e467112018e3297706b6fe7546bd651302ee8b1ebc66c8646d1d6f23bb19b6b12cb8dc54e8915b90e21cae712165ba5c176f81477bd05a97733f51d8232841596d94961ef3ee3d22faa1d0331f1314f73edb4c00e4c8015c1eb8989cdb6111f3d7af8d14686b8b4c43b1c8d553e0dafe87d3a3436ff983680064a9bd2de18847ba8fe300de6fc801f4677e8178d69352ab0c39a3fb0baf96a34bd35cac8ad4ef9e6460b4ba3d18270396590e6c8c3f8cb1660348101a63c7341df1c2776e3fc0dbfa2edd07c7b77b394ebe9237eae50b19ba2fdbefe305df7de9e6d81a70b0b17b7abd2c01cff2d5a0dc8a47bbfb959f44a4145afe40ab2daa802a9ab5cb9d574040762639d53a3ef40b5b38b4d3e1db71b5ebf8e610b5bf0b4d0866e6e5a243993f1c5bf1463fb2f95ca9b5e15ba26a9faf8c8b58d6164f4d70c822078d519d280000000000000019010000ff7f00002947bbd1897a5e33a74a84365138abcf41e0d32300000000280000000000000008010000fdffffff25255abcea22948975f01fefe8bdc1e24a5cf9b30000000020000000000000000d01000001000000d693e05a2fd7"], 0x13e8, 0x24008091}, 0x38) 03:37:58 executing program 1: syz_mount_image$hfs(&(0x7f0000000080), &(0x7f0000000000)='./file1\x00', 0x241, 0x3, &(0x7f0000000440)=[{&(0x7f00000003c0)="f334193b3f", 0x5}, {&(0x7f00000000c0)="e4e1", 0x2, 0x5}, {&(0x7f00000002c0)="753035a40608a5222a4a088d782c46d304f9388907668ddff0e45bb90fa18f9782af3d8bf4f263a184c22f0bbf2867d6d6874a23693ee7062b93b40a9c9a599747d2d647e656d1fa33e2a863a18a0b6befa70830b6992f3659ae78a8e610258cd5ecc50487ca6c4caf240d11c96c640ff1e8d5b42ccf428bdc65cef2e924f01a4cb9e049a3f651ae40f67c956867f3a454df4a33587876cc7cbca541f253fec231ad3973a36137d022095523b1a0ef066dcd9b49b7771c4a53644c6d6f9f85f45f07d0a72b09a8a8c39e90ace85a961bb6", 0xd1, 0x7}], 0x800001, &(0x7f0000000500)=ANY=[@ANYBLOB="66696c655f756d61736b3d30303030303030303030303030303030303030303132362c73657373696f6e3d3078303030303030303030303030303032392c747970653d55e07dce2c73657373696f6e3d3078666666666666666666666666666330322c747970653df4ed12f02c66696c655f756d61736b3d30303030303030303030303030303030303030303137372c66696c655f756d61736b3d3030303030303030303030303030303030303030303133372c66696c655f756d61736b3d30303030303032303030303030303030303030323033372c646f6e745f61707072616973652c00"/245], 0x20) write$vhost_msg(0xffffffffffffffff, &(0x7f0000000600)={0x1, {&(0x7f0000000100)=""/162, 0xa2, &(0x7f00000001c0)=""/136, 0x2, 0x2}}, 0x48) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000040)) syz_mount_image$hfs(&(0x7f0000000080), &(0x7f0000000000)='./file1\x00', 0x241, 0x3, &(0x7f0000000440)=[{&(0x7f00000003c0)="f334193b3f", 0x5}, {&(0x7f00000000c0)="e4e1", 0x2, 0x5}, {&(0x7f00000002c0)="753035a40608a5222a4a088d782c46d304f9388907668ddff0e45bb90fa18f9782af3d8bf4f263a184c22f0bbf2867d6d6874a23693ee7062b93b40a9c9a599747d2d647e656d1fa33e2a863a18a0b6befa70830b6992f3659ae78a8e610258cd5ecc50487ca6c4caf240d11c96c640ff1e8d5b42ccf428bdc65cef2e924f01a4cb9e049a3f651ae40f67c956867f3a454df4a33587876cc7cbca541f253fec231ad3973a36137d022095523b1a0ef066dcd9b49b7771c4a53644c6d6f9f85f45f07d0a72b09a8a8c39e90ace85a961bb6", 0xd1, 0x7}], 0x800001, &(0x7f0000000500)=ANY=[@ANYBLOB="66696c655f756d61736b3d30303030303030303030303030303030303030303132362c73657373696f6e3d3078303030303030303030303030303032392c747970653d55e07dce2c73657373696f6e3d3078666666666666666666666666666330322c747970653df4ed12f02c66696c655f756d61736b3d30303030303030303030303030303030303030303137372c66696c655f756d61736b3d3030303030303030303030303030303030303030303133372c66696c655f756d61736b3d30303030303032303030303030303030303030323033372c646f6e745f61707072616973652c00"/245], 0x20) (async) write$vhost_msg(0xffffffffffffffff, &(0x7f0000000600)={0x1, {&(0x7f0000000100)=""/162, 0xa2, &(0x7f00000001c0)=""/136, 0x2, 0x2}}, 0x48) (async) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, &(0x7f0000000040)) (async) 03:37:58 executing program 5: syz_emit_ethernet(0x13a, &(0x7f00000002c0)={@local, @random="0259c6e749eb", @void, {@ipv4={0x800, @tcp={{0x5, 0x4, 0x0, 0x0, 0x12c, 0x0, 0x0, 0x0, 0x21, 0x0, @remote={0xac, 0x14, 0x15}, @local}, {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x6, 0xa, 0x0, 0x0, 0x0, 0x0, {[@exp_smc={0xfe, 0x6}, @nop, @generic={0x5, 0xd, "f5ba0b1ab615e76a8b25cf"}]}}, {"f0a10d416de34bd509bb75904d5ca076e8ffc9545abec642fbf85a07aaf4052b0351f18882f513351927b2304937cb9cc721375198fd1fd18c18b8ede95925b7247aa008ab88c1bb36a9df5671a4574ff9f51a447e670265c42f4d202eace2fab92fd2e3902e778448de52797fb41c02c32a73e9d34198039b1152a69ad589165a6dee60b1fcd60845313dea4feefa2e5b958279e436f91856d350cc8ae07c5c2f081f066571b57ba2676d0eaf80eba5a8ed6a72658beceaf61b073bc42d70925a15425dc2f410f8168964f7d55ae1f8a11b32ea6661c25ee0de013a14e6f572b031a88fe84cb6693f33969c31571cd0"}}}}}}, 0x0) (async) syz_emit_ethernet(0x6e, &(0x7f0000000000)={@random="2d8b013d021f", @empty, @val={@void, {0x8100, 0x3, 0x1, 0x3}}, {@generic={0x809b, "8b643da4baebbb1a4866d77d8fa9dcd6e7ec28089243c36fc3031b928fa3b2cb27a8f8cec70d1a9f9b57b5dd4d987a2ec7a5cb5df9993e65d859d0884de4f4bb3476d366da20df9c2c0a295ada6af55cc7928e0b0f4835430eb87674"}}}, &(0x7f0000000080)={0x0, 0x3, [0xbe6, 0x430, 0xe32, 0xc8b]}) (async) syz_emit_ethernet(0x9d, &(0x7f00000000c0)={@local, @empty, @void, {@llc_tr={0x11, {@llc={0x7e, 0x3f, "b2", "354f3674f08c27a23f6c5bd150a9143a9513bb43fa93621e5fd35f8aa0704a56834e8f9a673c3fd8190c0a02234c23944c8880e76b171dac40eb873ab1da1bac304600295e67b663f0ad1f0f33ee825e2e847babf654d21e69fd0e983a12d775101173445c9f41e9504b6112a4da9b6752227f50e2cd58a2c76a37966a05e2727b0aaebbbaf22a0f9f5bff40"}}}}}, &(0x7f0000000180)={0x1, 0x2, [0xdda, 0xb50, 0xf47, 0x9b5]}) syz_emit_ethernet(0x63, &(0x7f0000000200)={@multicast, @random="adcad878e851", @void, {@llc={0x4, {@snap={0x0, 0x1, "6d9c", "e1da3c", 0x88ca, "6e4c82c3df21275fbd177d97cee522e3367fa198bc2268490937da3899cb36a78f8c55fb0e6a0f75293f709074ffbfd7abb830ee02666082aed34f3ccbe8d6174d42a0037153f80486495829"}}}}}, &(0x7f0000000280)={0x0, 0x1, [0xba1, 0xe32, 0x454, 0xfb0]}) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) getpeername(r0, &(0x7f0000000100)=@phonet, &(0x7f0000000000)=0x80) write$binfmt_misc(r0, &(0x7f0000000180)={'syz1', "9d5f87f12b33453d52cb1a13065e82b501b698caf55b3ca7dbe0cb99a90b87d3e04c68134f1e"}, 0x2a) bind$bt_hci(r1, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) setsockopt$sock_int(r1, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r1, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x2021, 0x0) write$binfmt_misc(r0, &(0x7f00000000c0)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a', @ANYRESDEC=r1, @ANYRES8=r0, @ANYRES32=r1], 0xd) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) (async) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) getpeername(r0, &(0x7f0000000100)=@phonet, &(0x7f0000000000)=0x80) (async) write$binfmt_misc(r0, &(0x7f0000000180)={'syz1', "9d5f87f12b33453d52cb1a13065e82b501b698caf55b3ca7dbe0cb99a90b87d3e04c68134f1e"}, 0x2a) (async) bind$bt_hci(r1, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) (async) setsockopt$sock_int(r1, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) (async) recvmmsg(r1, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) (async) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) (async) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) (async) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x2021, 0x0) (async) write$binfmt_misc(r0, &(0x7f00000000c0)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a', @ANYRESDEC=r1, @ANYRES8=r0, @ANYRES32=r1], 0xd) (async) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff0000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) [ 1490.320082][T19543] dccp_v4_rcv: dropped packet with invalid checksum 03:37:58 executing program 4: getsockname$qrtr(0xffffffffffffffff, &(0x7f0000000040), &(0x7f0000000080)=0xc) (async) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000300)={0xd, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3}]}, &(0x7f00000000c0)='GPL\x00', 0x5, 0xad, &(0x7f0000000100)=""/173, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f00000001c0), 0x2844c0, 0x0) (async) r1 = openat(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) getdents64(r1, 0xfffffffffffffffe, 0x29) (async) getsockopt$ax25_int(r1, 0x101, 0x8, &(0x7f00000025c0), &(0x7f0000002600)=0x4) sendmsg$qrtr(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000004c00)=[{&(0x7f0000000200)="c1c8041820eba100fa58fe91c76fe5787771ac57c678434af8e13b4b46ce2e64f630173f6cc8a405fd0fc36af556a2b40639de787c8062f5461fbd88c890da9f599d1c0ce05766ff9e2f25de99b590aac44ea655c551b033e025b7307805cd0ad5017b4bef6d1ee3ba98f15c3df933aee40ee7d674792596e5803ed3357c23", 0x7f}, {&(0x7f0000000280)="4937426c646c3019c6460ee1d89650e053e358827540fc737644c29d19540ebd48d1", 0x22}, {&(0x7f0000000380)="e21cd51e03dfc9a51fe37ee6a66faef1717e46932826ec324c61d76bf856aeba0b3858ef85b10e39c6469dd42a0f6305c7dfd8f63d44242979beeb20b354349704b31e234a0c8b679f5223eb7edc185f28f0784bcee51ab2575e4369539e832102882bcc453e7b73e957848622b6c6811d8e1993d029e4b0569b8be23c1616c38921cfd61974173a3d9f14eb62b64d02c0ec32a310776a3ebd9645752e626660db8c1479b5781edd8b1b0db5e9f9168087431bd48cd59dddb1159c7c4b2897e45c52d56e0e36ce793792c27cff45c33a418c3b9e805ae2f62a005ee4c6046d03d9565ba98512f29e5f", 0xe9}, {&(0x7f0000000480)="c2eeb7a4b028c62350adec3da9587dcff99a46e98acb5a6cf26df96c05f091981bc7bc4cb9c71d8efda1daabcd4b7d98f8b9649a2a3088591bc91aa5c223532d4af5f94af38a119bb8adb9e3b1a4b311cc0476b8a9e190952117f07a9b7e6d067f0ac4fc5f9e6af55072baa29600eaed8f998265313ecb5c77e7f27cbda34a82d34cb9330236faf5645368aa7835591016325d91d3", 0x95}, {&(0x7f0000000540)="e0a12bd14e3a934aec5b3d19a5bd37836296fe05bc6ec48ad19d52c7542c706c701c3ea147e1c7d680dfe17dad3c6b983b73099d9f532026d6d59a167bdf41ac9cfbbb165522c1f342c36be2dc3e8e20b4dc65337068a902e8c8eac8385050a594d6fc97fd64dfd7614767634af914e47216ec92f7fdd298751a54b642df4da4bc053d9702f7fed2944b4a79c9b0838ae5f83a0442076cdc8789e5a00652b97acbf6d48890db33540c71defb80ab6f5c8f98ec7701e46c8a70b659657a0c5058aa9986503492f797694f79b7b51c57d458bf31458958c63e22cbf4a61834bd6dd41917d98614e6905c3d8bf4e377d2f383631a3fde950f43d88206c56c5b257fa7738c2ff1150a831f7a372571ac76f3e205caa48f3a5a469e20f242cdc3e18190edfe9e58e05a4266e9fc7bb8cc783f528ace96008b4a1a750400e306d909b0d6b7e6f3f524d942dc9c57b8a5947212d580ac11b1e105fd095987f404ac15a795cc17a2d384530cb835caabb56af4601dfe15b92d43d90d39c8a842ef5e72ca5c90f378ad05b2bb928c9adbf95db4da7a5ae3efac9e7349fb2c2fa7cc9f1e91c1b471729705836b224bc4272d42f039d4aeedff89efc0f9587a75b852dc55f56f81364c2d8d7a2f79275a0a8d402fa10697d72fa8b161f031b038038310894a41512b37361af1e106df17ad6e36c3ba0eaec5e52504addf49c1d8b6256cd0edbd9e08dc6331c25939d1ccf94f7ef6de2d60563ed3a426d6879633e1060142980bd2806622fc41da50631d51e137b931f34b90949e43cde9dce84f2db98329ef2744078c394b0e1e672f38021a01ce6e033f625e284e34f0753a2d2b385c3153b30151fb4c442bf25847732cb23b2f773e94d1d311970e25a90bfc1fd825d7647c5ca05d9af51a5aec1a46567f5af6ae3d662e93ccce2b88912da216bb3b0a50d5357039126e91b60d660f0ce65ac0d26e26e8e1da40076b330c14fc777de88410d045eb6368c62241bfddbfb167c1c70b5c132e49ff25ef49cddd9deadbe5eca7432ed926a683f63b7c2902b4069a6e437c566e3ea3f7796beb801eff27b18fb1e33756c15858ba5128bd596194c96086aa150ac1cfbc3210933647069fd6a177b3b08ad0ca3b9025004ee8fe5ed59a573d1809bfe93b63a5440a35859ea48d4b0b2516a985d32a2767dd32a58b77ac534184e521488fe6a06df4a45d3f8175e18f6e537432d2546bad5f9ed7af4f14597da6e135a68bca134a8940f093bcc0643c322ab46bda740ea587b4eb506529ef4bf2a1e9e5108f5eedfe4d2f880acd65235924b7a6110824e8e548ab2e4ddfd18147211a176b9b0f955b14b8fb01559f85c9bb662e4dc0a0feb7c9676cde0583258a732e3c76ffebe902cd1d23311d58ffd4c133fbbbb87be4a9d7fb9fb560468b33db789af07f236b24f5a1d2985c23b4eeee73c20f19c42f13ad60f060853e9ee2c0458152b135c6e00f36b68a38e1bdf642973bff355a6b9dc4883641dc384ee2593b32bb6d415e04d2f888a917ec82744e24b0ca4242bdf2786c4959b33c11f04a1b56641dec001d029f7679344a5c1ee716e4a2c8b86d674322541eaed638ce41f89b095aeb9e8e66a01a475be6d9e4c9de7681dc2e309c6b77a9c4b00bf5d1d06d8154b65d5dd3403815408c6ef6d72cedf70477be97f0184efef70d0cc7828273ec96864352131ea4dc8100e1227c9366460ac4e282c10d4fe8723fe97059da537453f6cc9d1d8fef3ed15b61248224694997631a3140812714d26e838692a0905f834ce51efb651205ef8a96b6c445490950fee532780a5061a506820b96c82e7b2d4225d82b8a2a48757056848945290ba4937112869176f77d9595f5eb3f41bc2a49033708889f6d22e820662809ffbf28f7e96a60b8d893f6ec9343f1b3f11b29352ec2dbf29f1dd80a967467b1a27411b645a9597e9769d6ffdf5f66dfb7d216b25beeb46ee3f9f5956287c29f0c332b2f5b39878cc575b49e98ffe3a3b21ada2621386522091b3610bb300c7a5641ab7c1d3a9079ccafc193cef2dcf8747cdda5e4b33b4e58cf74d89d7b1af6b546400133a3f1ebcef4f1da7e8703b23af2111d0f6cc2b1a00ca8d77c1c9b0d462de9629c535209df5468c0a654c66b0a79d9f650197f6f0931e23792ddab4a46a168a835cb67a6935fe5c00cddd8df5db5a560934146310651b7448b4cc7fcf77c3bce41dca292f7084ef896e0f7b8829f0b8f7d74dfa4b5a714d69469b71f3bfc75a62eac0e042755ce69735341a0a4f03f4b630e60028b71ef1aa1813165750034ee6441703ce200a216a87834ad33f526467d26b8903521a2b8bdd5a2fd1ab608701ef9b23ca425d62ee445e0fed1c7a16d8d5f0b80146e8da0210d4e07547c5c1de313b0d16b62cf7321ac7a27d1bb5e977c3a3d30ef45e40cefecdaf3dc174595124cf75ea2777e4a106cbc1291bea02ba0c10991051550d8b46250e229bbce3f4dacd73a5a65bdb3cd4ded088e9ae346c06f938a1e20e1d7b77d80b3630ef0988d4032cd6e003feefe145f1e36dd27abfb49ea0b831560c6e389713f25677987e3544e961a7991a1b5e4271a714a72076b5e6c91d1c864b01d19056101190225c1bdf507b88716985d2709477fbe495bc52912210917e0642038998aaaf4ee247edb18b06431777225374a60e0a2435ac790cc9a855771f99a32be5eb8d888985903b72f87b3b737aea815e4ba45000ba8268152aac60df7940d4fe0befabf8ad7ee18e4130b5b20e313c03f227db28ae0be064fef446c65e7895e1d9be371a441d6b9d599c645c36c55cb91c6f3caa084c7bada58980ce0d1d30bc846bdeefb65274ece07bab4e9d7970602fc03e1ef77b3cee055917679e4d9c843493a17018150e8603ae0b3b0ca9476f53041b3d54bc98e8b9de2d9dc69190b146476de5a4eed34b80074efdf4de73bac31368489f3a506efa3c2510ebd50f16d485bac0f5abe684ce639880a05e3850fdadb0f533f412dff399abfa975087150e8e7677f262cd0a581eed7ed42f817f63f4f558266c50d1f021c7502beec3441dc1b7185376a23c3a3d35007da92eb40fdc367060c39a76dd79c894ca066c850e12feb2fb8b72aa9a87830814bd6aef3d0fd46229838f0a3550326fca215783540576c17cb50fbe950915a15de1c369212c229eecbf966eef73c7e02980f53e648ce64e89a37045eff2fc6f126b2d1dc90e72a7b5b71a7633d945ad5f6259e5a7f5820c50327853a43250598255e019afea8d2933cbf81d8a51eeda39ca487530d75d6c522422731021b2dea48262c9dd305a27f1c587e3ace504ca3419dc965670076d135cae0615560761e5bab597f082ca26c7eee49876cc81140888597e81ecb739c93710e9b007889bebdd527a72d109363c8113853bae1b5bb76b4383d5db9d738d6b55c279893bd2be7e607a68c4f23dde4a3fbf48b07846e20e0f3ed5900e929c4014060f5ee34e673aaae470f2b8ab058cad834c088dd50bae46058e7bf22c5feb1e955d4cd754b34ec7559d884b134a897ea8040c18bf5489c7aef6a9b5a82f28229eda2ae732dabadf30d2b48d90d0f1b8aae250d265bfe75928fd7507202697355bb6f98b53ee8b765c1d831e200840a77747eaf8aec21847c9d7d704d136af5941b9eebe159f968354d46d7165b8ddc1d80ca0ffcfebd54ef735bc10007a66b2686f4823a233a48a0c56849f0ed8403ab35f3cbd95af824eea2ba1f2d23bd674e83672078dbd4fe7bc829d1a1be6522fcab7dd955f3d8c9ea8c1d0c6be150fdc938c8aac002a2b2606a74e143cadedda5ffe9e9a17b7cd8544f01395e7d9b4cefe22e14128952a5f0cec86853296af10179fab497aaeee4fb962f76aab1dd2970592398751f49d1daa0a83c41888a0bd1eb714ad03438682e51744909e89ecb5a8e5491c8658833dc78b3d2a166bb99f000892bfa149373fed43c177791c43ac43227558f7131ad68638d1d720b3b5a17abbe9595575361eca5184449ad517ff3c706d9c5690957178e5fa65f180dd0e48c571ded7a684c4f7d1babbfb093913b1caf910022b18e31805b863d5b784ece641b4f583049d9a21f1d890ff3150a3eee5bf863ffb9f9beed4a8cb369e23f3ff4a155c3157f5c51883d0097c3008d54ffc7abc39e1a0466be91bf8b8739cf379789144d02a06b17c86aeab37895be3ffa5f6008fd26d5585c7ba3a5dd6ce4d35caa3f559a0fe98e0e993b05e79a798d01f284725580168b29a7c2da72c2157c2b3bd853ebd3810e375a7f75183de732697f2f76b71b3f0fbba09726ed8c9abfe696d800e9457c2136789dfc6667fcf9e5eebe126ebe41bb0dffc7c8d05b9d6e85bb05a64a5592065023afe271bd24b0eb7933e0c944c9bac529ca78f1443c00348891cf0d0583478129b929519b36be863aca4a98285c597ac6f4b8cecc1d40612ad6edff98441e08d0cd88a7cfce093dfcd08e41e8ae9a7a51ff8a93fe8d7ebc9ee5e5858335963b5d989f1e5f775adedf83aebc7eb5a99860545b249f1d0e1e0ec4a981f20978c27f92c732f260552c1ac338884a40307f125ad8377c40f432c638bb00211578127ca9c76344ba673b7c221a2a998ab2b7df3afa6b0997250bdb47784a1e6aa2a93512a42a6f8b4d45d5fcdbf59e34eb83199d4a53f6e3e61c5321abf28f6f8f10f4fe15c23a7b7cedfaa862528f364be99fcbc667586976f49986680152bad8eb84a978a5faccf6911d3024ef1b3033ae8d65386d7d8e0f223649681932721a2f0e33b317bc9fca55c651f75740e2fbfa54cb1fe5ea8b3748b235dede0c263096913e867c08914f68b7ba471eac00a7ab2543d9c302e67ac7d29127e1a3d453b3be9aaddb13f1558495634eefdd9ac3f6e2bcb0acef4303b1fbcdfe1709cd33c5431f05eeb6db3abdb00ee65b0f2389d348bded3f80c1c4717b73f48162ec604e09214eed42ba2f4f2b293774fae002c29e2f12aaa284af09903f379a86ea13efb877fefaf85d96edb69fe5924f85283469c19addf9a723d75923ff7b60b5fc556dcc15df1135dd467d5b1ed2c8e8cb0ab49adc81a70ed7262c5042713c1d44e525a4b261e0e56a68780cdbe817dee380ad5e1c3aba77f7326a701cf8712a678d2e027e7554aff78e52ad008359412dbbc735213fb17b85612dc63a3dd462187497513187e1e4712607c4a39d1fc833305e5a0fe21a77160b6d5d049db1b250cb5b07b496e7b2d2f3fbb35b6bab5d997d7e378bf2171325de1664705472241cedaf0b0e4be3adca3e7c456527746247fabafbeed10cf63c65939d0e7f9f2e2b59a1d164bc0d89ffc1410ab4dc2ffd67b14d93b44c7bc076cd3511aebba9901c605b3e4e7221fd638e8d3ffcb65030837444139b9d18067ca4b16020d89bc747a8c630f38d3e4fd43e9b91ac49bc91340eb0450492200668a37f385c40e840fa47b47bfd203c0f495449477adcfceed5241f1f0fbcf906f145aff156fa53ba87199251888cc608bccc2e4565ba2c5cad812a785574593bcc4baffe9f8ff2e85221badcf85bbb2d6980098f18c9731f4bb73f5db889f057d80bac6fc5f658f8b3b7dad6ff09ae1109333c914c20cee461de3093753124f7d5083c63cd8ddec58ca8b1314f4891e268eb2f0dbcb1366e1e71b9cff1f9d61af67c745b24724da4f9d9384078f7635c5ef320dbbcbb7f47da519d7a9466a38851d15369eb57b183b0264bfb6fc73dd0450c3184008c566d87fe1d0beb3db525ae5e5b8b5705", 0x1000}, {&(0x7f0000001540)="c6934902517953c42cb398bb30fc259b9065b46f734e02c04fb18f130e361cdf3d2ffe33464d505593cdb7ac5621ea039977c725a0a5eb18da9381e200c70fde8d9b1d1a081a90f3a7e49583a67f7ceef0da2d2f8234eadf15ef2dc1c67029b21b4d405867aa368249a6ced06877bef306bb965e9f69925496d04c0055e7b704715cf2be996f5bbf51178758ddd43b786116f711b980a54373a4598abe4b36718fe0ae09c9e11c8627b53ce726cf0c8154ded27000c4174396b16a4b90134fe3b5c2ea57d3dd4840fd4118f9433a81d557334822926e7967cb5024796d6ed012355951107c19757b4c85aed596b54b012e5dd7ed86db63ae5b70a2d873b0735a360a2b56ceeb80642ba4c1b3cb67cb7dafc2821a0f48b5b958c9c2175b5e287f3c61c9717dfd4dc40259666c420b9dce2dd1e44aaf06c31d8aa47c7356e73d4b5ed7c539479d087aa61a8f3732304a8322a037bb330f9634a408056d1f6dc724b420ceba6dd208287aa79c777e58a438636151d2796d12da0181020eb9a87206a781b9b79aaeb3e79edd4a28fd43bcdc24906bafb89f60a16f436e81ac975b540bb29e83d7c23c7172b80a14b71af9b79c0836236204ae68352555ccd90e212e3b30d62e2b2e2d984d26ca34beb05f0623137a74472bb653ec6d060e513ced39b02e3351d1a377ada35d9d454851cfae42c9ce833574ee7eb7b0523cb35c42f3b260ac1f7f69434fde692d530fe2cee41306fb242de8e1fcd886c833007061a5b6f03b7a7d6ba6a9d934857d96a239791cb6f63014054e1f176b45be1ec6bcc4192840ac887f4bd04e0ea408c9c36e3b6869c303ef6c4c67d5327294bab62510176ba3893586d3c2e83cc3356a4408578a689041096f9258da0abbaaae9b37e2686195971fc9c3a5a7b92e592fa3ab0c7d6ea6595c86c78e7a1fc04bef0c21497742ab74c94892088504c6140128854c2e38e221b7c1a15261a07ad184e0cd1404dc619ecd9887f80f03f6bd44980227ead28f7697be82c3699a271f1b76b4d06315d213e4a3eb086a74c6e4e28cb44e4fa73fedd276e7eb51fce85c907ec35f8ff1d2976552fa1534f497790cc0de96d185d0ade397adda0148b4bd675ec584a6fe5dcf027529df3df17f0c6d8246b9d8fe13cde8f7d272f9feaef3eb67b46fd36dc7734989819ba5c640dc7469c7eb21f115c787ec2ea741f1e618b83c1ea44694c091ee6fd1770b96e53efc8634d5d39a86b2d1ea402c8caa541e9492c345b954da0e3f573395b24176feb54c6965b44cac449ee3e74d4a232c84406def0ae343a8edf765006ea90a56f37c3a9044eaaefede835f7d37108b72e581c84c3a6cfdf24ff3c0ea1cfafd18f8292918307556afda0bdf7288791112af66b69eaaa9a38929244ba521a1b4c32463d752d961cfc48ab245445a4bd8f6727b3ee1bf01ee2a17af0fe859a45c119f7689356067c515359c13ba2f3b89c071882dee1ac7a8b3fbdb112ffb00cb7c726dc765e8972173a5fab9c8164c44ffd1485bbcf6e70c50e47160a476d09743f645bb15f738a1f1fde73808384bf802f439b65d7a4bce119531cb3b0c106e45f5fa872132ab42b9ed7ad06ca9fed4cae6ae5e2bebc60e14041e789319601228ebc0ce0cdffbaf84ee138d764b01f7ff95c47210838df4f835c4eab4365cef2cf548aea95773a747975a43ccd5a01b9f11a9a24ba8b08e37336557226574d4c0dc2a8a20d6a3fd3ffbbf8618c526b5a8c693610b80920aedcfa3ce851a41a86b425312c21c1850fde6b0ecda204061ffb3318521c91b0c438dd2454dca5f12ecf79a018a10f7e310e2d851614afa1e2d9580449e3a3cc963e3cd230bc9333147050a8a55d9ec561e4bba5ed5999527eb98e82297c8fe69355748e5c2328a1228e25efcaa0c9d26f9225a584bf673b8f3d374081aa5e90b39564fe14d3c2de3710eb5174c2fff1b7cf52cdea53c55c42cac54bf0bc8310811bc63a3afaa9b7de03869f51703ead9dcfdfbf1ea8d170f051352753ddf4dc322ce7894281c1141d473fe8b5d3274a3bc8021f291f5274207e4326653efec343835072bbbd86c85599b97de771e423640091da583af10c8f3556feecfd92b7d0b7e53f31bca069db35e13fcc6c0cd3f4f8cb28a1ccf3d6d2cabaf421ca65fc13ef54cb05b832a97557cedc1c90b781aebc7ed4f7c5e55d2f76ec0e73bf70dea3304a2c36d5c48121656be99751490eca36fc240ac85db46e1aebca834fe7d768043965f7f764d584b4f6f3bfbf997c2f3e89c8c400e0b8085a4213fbcacfbc83da83143b2f05384576a5daa68826afe40d66a0a1189c6ed55f93ca43114d7b21757065bdaa508d2369974b9a7a2e9a4ad0b752cb9fcef9a4f289425ebfe103abd4d5ea067ba255b054bce686c76803fc0090680cd741414360e2a5c06a8018538ed4b5cffa1636c38016b5398fe31a522b20573d5b9ac376c08fac2c93d2d573a5f81b1bfe4c138b3b4237bcdcb89af6b1f0cca3e1dc2053278d0248054b5c674137666c078be69637459599a904da65898381886fb9fc9a9fe1e386a7999b04d501e0fb5f03216af22f8e1bedef54ce6f28abb889311f0d9aab7ca19071e7ebb473e485aed2d468934c07ec44d4f7b5d3030707fc0d84d0c7cd491051705da50c62dea579f20f7781fa5ac50b4900bab16f9938dac0e8019d7affbe4a54bcee10efa76d445bb0ef35f84927d1e6af6fdd2b6dbf46fcdf36a1fbc0c81a50c1ffcf6f1375e440e177dad253e328925095d18a6aa97db73192f7a54e90d5581b99510eb54bdfa588523ec26778b05c47d7a65ccf19955658f198dc1771cca0643618556b41e70378c6fd5fd11c6b317095436506c3fd6f3c74c0629605a1b8eab7ee4b435e6505f977931032d56f4f871469505075ce8bbc64e95dbac4886c486dc5fc4f3f0f281f86541dd9657acb0dab96bf6a1bec5b9256b1e10c8bbe95c00ca39e6a6858e30c54eeca77e8ae7476d0b6ed25a18985b5af23977dc25240e8d70a9e08bf4aa572dc9f93e9e9c7d31f0a23d15aa48ac7118653807e1a45d9ec3104eda66efd5be25d6d870250f7591ee3da44ea6fbb08c9cbcaf07b891fa94ea399431365242c81842da5bb80518680007998331466ac594bc9fede2eb2d5163b28e5b589aea5fca848c24bd6b7854c28f001afcdd83e8ad7e5f90578b63b7dcd581c0a696a1279c298d466919066eb44fd7b10fb00d0b86b503fbe910d6eed456b2d6b7276432f8121b6e95d7da5a4eb5846481a9fa6495a5a38d0ad6587a315f92f205a8bf54f4c8bae974ab7a2ce638e1d399ad9d29ed015f03a6d48403ea393b1cb58680fe6dd98f99de944499c71fd70324c34894633d1f1027d33faebb8181d493d3d602bfce4b92126c73cb6726a9c266879373012ce732a818362e7e41c04dca9b7ac3213a5e19c5bf99aa84b59a0962fa01c698cf8ea28a2d2ef44c367ceca99429f715d17c2ecc06e076f11b6905b1f62a8fd495176b60cf0bf3b9c63483dad166613db4614b3d967b39fd79ab22e905a86a79a233880962b74635d08976ef429892db0d02f20e75f559b5ae8b5cb516639592bce699c70f26256baa400f1054bf258934db422d7236e04bedfd5c6e939a7d617266047ceb5894f05ea0d8227c01808782cb1a190f9bd5f4962c838c5a0e4f6d818931063eb2bd8e6b8e96f20ae42a99c3ff71ca5aeb8d582189a85b8c79474a7303eff4fa22ef17acd40ce97522df0d94414c671bcbb0f5518688317b8e9d5155a9f8da9831faa7c7ea9db259088cd842097d8955c811e8ea38620b9054a02e3f4a27d4ae1b9a75bd9b418ff12bc61484770d2c72749cffba08d70442f083e94e495953f0146de69bfcf5f95b4e5858ced3b508de00fb95f7dbdfcc86437ec776bb42ef9b343e494b541211bfc4cd41511359987ef4a584da1f3071a0ce354e8b15bb83090ae09349e0c1aff8df7cd86d179e9ee077262c042d72557a1a53e12821be2e5bc49992da4955f658f26502ed97236ff43f1a24f0799db6a565affee71223a67cc777aa7657d21a2d82aa79fbc7f24b0cac660c651d9e46ff156adf9dbee881a148c0e40af741cfc0be725a65e299c7cf5571a59b1155b5e4d9b884b1224b23bf96fd1087448b31f0cf82650b3e1ea455c51732899b844a5083f68e3746b0510e59b34b2306ede88c8ec27abdd928bb1947e3ba4cc1c005d7868e0434959ee06b202f1d808f9baadb45af5235e15bc5c7bb7c938f5d627c8dce4f8440007ccd3f0c7f3d5644a57a464964b8269080028945b9f4e455b70d13855c9dd0f39e86c77240dc00c7c8c49b97e306cab9e1c1637ffcfcfd4e91b8d987b312efd9776ea9d431ec60880743bbdc580843735f54a994c1133efc325a9ec36c083676a086263b75ebae6769df4e3741bd01d921999bd57c2636d20de97ec214665f958f01713118114d752df306249f9ebbe0eb5bb88193ade16765d46a3e20e5c06a5f841f6345d0457433d2b764613b50cc3b5abe958a933c0bd0e63f403d03ef3c455c56125383c11f8d8f2e7a1db98da8100b3c9cb1d4d5cc627a62d3d9357dadcd22de095f8f8e58ab3528b694234581fdbaac1c1581a409c01738799604fc2ebbf4f7c163437e2d10bc841aa7918ebe8ad19550f56975b85036cfe778a3034d652f1e23ba769026e5a838d99ae114de2011fa6471fbe4d7cb0bb41f81324f230dd2d6d06697f8f248ed0632e082e6a4e1566fa56a28c73f548e863aa4cec38663fb88e8de0d67500ef11f6c05be1c8f0f1f7accbf4f0aded909ad8386ccd2bd5d2aa37c69c506f78105c8fb9b817dfe337079975d1c3ebfcaa80d5a06c7c0790e471f51146ef6375dbec7d0400d7ce4da53c43a88364ae32ad9376763494e7372b721363f00ea0f25fd68eaba39cbe1875109bc1fb9a160668ca5985aba78762ab254fc80bccc169b2339d42e3f1816749c7750aefaa0e30d900fe13b454591a4bd50aa2d9dc5303bb1e6bbdea2431ad210b90ef4ecde027760407ba8dfd73f0f992a499b197063a1dcc49161367c2c097e7702dd0638512bbc2fc7ddce76b2bf8b312a81f28b8081a7516372b613abe9d48e5264f6f45b6ed5bc55b7208362722163eee3c16d6dba9bd8eaf2ca5e4389ec4042ddc2631e5d21777b09d5b2ba15d691bba9c016d3a374a1918a5185b47fc0aaa078661498af5b8c7c0d8a5af56cdd44aa83bea54602868465624a3b1fceb8dbe165526a2992fc8134d876841d6a018f3a25369db3c27911782465236f0c0e8d9e5d75d3f8f8a4c07c5019ce5ae3f98221ce6d2ecf536db14437159b64d1e234e7aa622331eb066159baeea9779b9400bd20f36fd4b6c5f4711c8b1280eb6352db3d69a895167af224becedf887628230c92b60c6b91a5da5d353688e84a4c35dc1d70e5d3de03b09ec7dfe4494ee887d6926b5fe3875473c3ea234f746d6ca847ab26fc4c97ba20e7686ee4cf9fe096f196e2230417f3f063e746df0e34087258585979bea38982518ef618c473a710fbb86de948c796fb115c1db3d2cc103a03b68e98e2de589322c3da7592865591103770585c86b68d6dfef32f3c4cdb83afd34bfef9d589c0283425d09e1a57a0baeecda2781ab16886f2f406933ce5ce4e89301577bd70fd9744f722809ab08bf663646d55fdc19f5bfece1702ca5d90df3e0d2cf87761c7b80bf88fa9abf0344856a09980f0b3d6a26737d383cb60cf88f46bd699aded2c57ba6afe85380d9a92", 0x1000}, {&(0x7f0000002540)="ce927f65ac5d8ab067d980e543c5331672f8363e3417adacb39a9e49b598e98781f617d8dedddff659e5c63836d1324f6d739635ae092fb4f331be16d5e4705737fe7e75ff89ab89b6e058ef8add74e59a65576f9843bf85eea75f510e71c9bc1a9a681ae4870a222142eaaaed02f1be1405f65dd9dfd3d073", 0x79}, {&(0x7f0000003a40)="6411b2e5d674ad7bed31f50dec7dcacbfeb704da9ff66a57b7299c01a5364701b609e0d3dede7ba46392ac27df80fb3064d0d9f0bcca786a7bb476717fc4e3f19baf893114d58e1bea06373bb6885e7e2c0b5f5bf550c1a4c58fb5cc0a3505c2e7123c9a9e252e96670b2dd7ef769e81e1afd12a8a4a54293f1dfab84c7c70b07d3f7a74a424c0503949a58c5f9b9fe460da9aa0389b9b7616d1c18aed50adf28da6f4d61186b47f0ae352c6a6f29e", 0xaf}, {&(0x7f0000003b00)="0be8a2fee871074cb0d1056b3204af1756cb897feb17f7d64e10f45eafb6089b894528776c52379a97d52f4ad2d7b77d9cec9f8daef38d9ac5bc03fb4f8474f5da6c3814aa24ee0ca5c512375da71067900f60a05438b3876bb0eabb276f90ec596c74b9758bebb533ea756bff43a2910aafe6d999656266c0404c7993f48c8af87f373f9335e17cb9afbe388f68bda35c8b57c0128984df7caa8f71875b60db6f642c42b395e3a2817189751b956912177915242cb088ca6f33b6f10e1f3397c3b8145b522f6559e0ceb47abd597c774e16cf9fa5526aeb4aa43877", 0xdc}, {&(0x7f0000003c00)="1b96bab51b4afa2574889998bad453b841b60c5524948187cb90ccd7f5b793d730ea8d152ee2a5c54a954b234fa7802ae147aa982e8a41481d9bfd41ce8d399201b4bb0af548ea4584b6fd274e72d8fec36d13c086ab139dbbd1e80dda1a14b88aa097826132c9e2e6234838172174de31dffc00c28a9a44ddf46286f581b9a1c4818eb3fdc6d0ef503c77877d9b819f68803abad402d200c643ad8a2d0f68e74f554c5ef59e32cd00b123f3f58d77db21137f15f4c2138e63dd283712681cf945315a9c1f79168b34658d15d120eb6c12c046d9d9bda1c6d8b06eee5441194d6eecb66f807be3da24cb156afdf3c429136ba2968fffb6c21181c04eafaa212a56670be047092107e05cca691c68b2d5054caa90433635005daf3f22f739015f179dab5c17c859113c989b02dcb79ea514ca88b343c449b1f32284c1c1d0892ffc0bd1f5ec57c95e43d6e879b17e0b780c7559e0cb468234eb111599c733d2b39964a6ae5bfdc2e45e45be39bbcca8bbac61b21e37e13cad34adca3ad7e65f51ea1981fbe93391e6f4aef9ceb9fa31d1f7900a0e9f15bda73e6031d53634a31d28ada9b22627396d979b72f85c05c6e6843cf5d90de92bcd92bdb41f4279016cb58d4c94bf18b0203429ef5f94ba7983895492faf1582c9ef6e54f483d41b1d7c57f35ff4f64a856f9c325d9ed97e3aa571ed38f08e6de4a9a65188ffef17f4e2192a3e129c5e1327bc13ff8de1768c587e2bfcbf3d08e00838beb3bf077c98d456a78ed43d919d881ce39b53d8ca3137690b3cf89c8502381704e8c11fcea3669ccdfe4067329a292c1d6fe7f1b4d017e13da719b3fc2b5a9e80f5f8fd7fa270fc62b742bc56cf6bc85aad06d1beb1469a5b9ca42dd848e752b1db3f04fa4d9a53a76e000dda6874280d11ae25711409895b2af852a7caf82f1f0c85cf28c3285b39b0057895a425d3b8880480f32678b3c6e305e3ac4f53f80a94c1271bd51871cbe570cd7cb12f0dbf5cc40b758334bb28e0f1e5a5d8d1597b0e5e04e5c3e0517078fc0c2477cdb6e6ccde3bfe0195800390a0222646e99a74d53e8557e3300a37cc92d3ab3defbbe580d1c75cca062a1a897a43d544510a4f85261fa11adf6e17edf45095cc36611a1bd5bdbe4db4e8b4352abe49ff288efbd8df656d911002dff334b6ca275ef96da4c80d525fea20c636fe4bc353b24521086a9a145a4698af3227bbd46a21173512bc842acff73ba576faa60c6c9a6fca7a10a6f7b03b11502d1939cefc126112efa6b8ff5b8a32eeebaa5498e9aa9c74293ea6b870e4c6a8b9f074f89bf856a6aa146676b98a8de936646d9bd465373d44fb41bc3cbcb32eac92e201e233afdb96519bb2c6ab2393af638498400bfbb15cdb3a008424cccad7842b041513c0f6569df111f53ce1026a6a47e6985dd0c44a30187dd09c702b360313b90fb0a0c9faa58af3b036ff67d89b25808469bb0dd9a861ee1822eaf3567af545e886e00048c0dda7e9a0188db703772a853a8b559dffe0cb2a95b848b93b6533b99b5aec9ab24da01312fd4bc071929b63cdb0726d83dff24479145ee8d34c5efb1fc634bee9d1266cd862855e7f309bdca2efdae41a391d0f16aeca79a48c4384798dfb1e42ead82f29364e48b99e4bf7031759e3ff756c65f858312f42dceec205c7fc6c1ae386c062126dc26dec90432a794cafa79418f7a5fd353be2cb2cf7acbfe43426ba0302c7185fc2da6b2ae944f58b0aab4be94d1a5281a3bd3dfd0c68091d5f725c4e0a1d7ff7c32a2bf5fc3432cd7c15c6b44a50669107d30ffc0c7c1658d8cb234ee68453532119af530cf7cb459b11b1600c31f2e4d89607d6bf922917d1e52de512d34bcbe53c20ce273201fe5e5db691983b209189c327eef83c115833d9edf260baa948e8db51bc2d5400301b200a30e02d5ab9de942cd08b2fa3314424e0a9f87e839dc92cb890bff56f5b5ace8afbf5dae04079bf04fcd23dbd0ba0a1c876d1e7dad3e537fe8b6c137566da83b08be831f939830f73b5aaf070bc11e151c54686be8f2f7b1630910736c057063f4dcd590154957e3256c15a6f8bf923d25410335b642fe1ef27c7576729f4eb1e6a3e241735690ca9573d5a57d531c3aaa77380094e2bf846279798ec324c063acd22c0c629e83822b7ee42eaece1e29c804ec839acf5656ed46143a95b541a77500b99b30fe6031b9186bcc3519736d4781b2fc5a2485d3e47d2bb4375e30be5b219efae1340103045e1e838588c5f6fabde793d8b0bd1b9c04cc9006b885c57be9ed0d5df5bfc94517cde1dfae5a613ca77ef852354f424a14a463d8ce9b612f8cce361da18ce6291279005a82c2876749c1e58a753e0d99a376d934afb917cf30c8a20841f5a6bb816c6f000192833c39ed57db9bb259ae7735b62de4fe1d3963e6ad597527bca0150673be5ba382c9c162fee6fc3c61a1ef9b13553963240d17abefdd518bc2573914552857cefb34d8374726feef748a06a44a44bd4a720009fcbb1289108e7182d5f95484d2f8cfb3f453e9897d4d865e2678f8a9485fb84363c0d758fb09256711137ed820e2d8a2713e985ea513e04e67c47de0ce31011926db1795f865a3abfebc892f84f59ffcf89d7714d7c163c8a24b5a47e5313b9fc451a455e0bcdc63c5311d926bb9b3e42e23406f90b4fa1493813b91c97162ffc6ad45dc96cdad433635e0f7207ab25dc18bf5716399c89d3298e53f5d2ca0eafbcafd27a8bcfc1c658b5c724e993ddadb5d3195f7106991c26f71b30236923e0e99f4c5de7f62617169cb703209bdc04b1f8aeb41b1c79f6bfb296b4452422770670581ed8c2ec5ca6bce5f55ea922c94592e30d0737818716ac3d192d6bab7f7cadf56f62acf390db00b62d267c76975e5ae0a3a749882f642ffc5e8c6d4a543099c406ca3b99c051e388be66ea0bc781a03d577ed859bde84b3cd890685bae4e49428283b87b6f4e5189a1a79a83919babed71a5adf1d3ac1e0499231c8cc095b3cfb96033f47f6501a7871ad3528235e20fbacce03f19e5be65f3ae1ba6c7f5f22a1a049cd66e1c99baeff11f214fc21d2cbaf7b4bd9f86e9410b67b9b5158a2bff77568f7e720b721ab3658e9887ed47bbb4244c0c8ac6b44e137c9822ae83952f05f3c283673a21dcc143fdd103761cf4408289406c44a3767d262968bf769c116d26ac341a0c57eecf3ab9c030cfadc438e8630a49eff1b8776251b5bcf9d9a23d78cf4e488726c5555cf10a80ed36691b0a5a204f03b940a7f0ccaae16ce5bd6c6da899ff5b59da347b28837a42a05d9a20e9255af5a589bb0f4854bab556b8e97cf279af107db81c8bedfbd010be3849db2412c0038a2620c1b82a5f52c43ce658cddb4168e46b34262e4bc20f2e4ba481d6266c0eef963d82af099e8fab61c04d23614041d33074112842bab17bec7b48198342a5fa969df002a18f013b6ca3053274995819d1805557894efcfb797b8d83099337bff06dc71f7add922295c771ea886fac9feb09bebaeb14e28a8e3a55951bbb7ae33e73d763fa4bd7c3e6511b66cca3ca44158e185bf5716eddb25af9a08f5da8504db18949598ce0a2284008aa29530fb726921b4fff6b900339134401db754fa256e8ce70e1f41029944111206146dbcacc7143dcd16cda1ba9c878e7af49a1f20e2f689d9f89ea9abf366d0d35dc17dbaae8642201aa5da863c010fe89905b5d86e578375d688e062d9ae6cec4edc0c9a75c9d484f88aa4367d42fe0ed3f715542e7a170828c6bd33515d02b96785f97ae0d179e668b4ebd02e0a896e1498b7eabd0ec7cc680f4040e6023b378c1942f9c4e2883a44d3aeebd1240f70610b76cb2f49cd2282ef2bca4d9bf82026ea4ef470b412991b0bfa1dd52a7a1046e1e129389155582e1170c9482c72bf3384535c32f92f8b3bc58f47eee05c8f6439d1b5f7d47dd617fad6e4508da68228adfb313a33021d146c49c565c9c1534f0175ddaa33a3dfe72f0cf092ce5c77905972c63aad69f845811046a16da519ca5ea5237e29aac9c4808fb78c064ad01ab9190c148d928de5f37bed3a799675725ddc0531d3a19eefb73ffd5dc8f6f4700b710b2d3d682b83aaee72127e5071dc8a71171a8194829bc6e57afd58cb9d048895b99be0024eac52cb96d560ef5769c1dd952ad456c591be1f7a67fd32245f1b7438b37bed84ce74f3c4dd99436738c5bca505df652d3070177d505d01c486ef51290d922e8a4274d4e5126bfd5ee015e4b1cc9aa4ac8216c21722a7608f146315e86a4b16800346cf377dcac5a6ea922ebc3c3323487b4f7c5a784107a624e6d6eaba4c4d11c5e7b16e9d28bd40b6a4ac020dac2baff63796a53d8471474d18ff257995e2552d10d7ef96eb20182e3e8d5a03b1ec0db5c2bf765858d970556e9ffd0503e902e0b25bb466270f40aaa0bdf424a8232a5bf015ffeec51c2ba66ecf4626e5d39757f0ead1329de6ad496a31df97154c876d86433284258465de9836382c584eab503c8181018bd2bf3823a977af25b9fbec55febefda6344d18e77b8c1b6df4716a6b445c7b77e5cc2915f4e29036f1c30dafd6cc734a859244455f326fda645db7d4a795bf4e6bd5bb9c437fa3249a5650ffa72642152464e3da8fc48245810d606de6f121ac157527cb4ed3f632187f904486b63ab90151c02d8bf29fc46e681b293a4d7e88b168b19ab20633886fcf01f1b1ff099548e32b04981db6204546bbf1556bd0b894b7292e4237b7ceee11669dd9201c08ab539d829bc053333c27d24509ad56b5e73ea9272396d282da01fdb697ab410daa37eda6d1f82827c53796a5b67bc8af186b2c1b4b7a79cac4bbc763e17da08e147607bb316b8c000d91087dcce4a0293f4ec383bcb561d721132cdff30e884c5ced79512fbd0441b29fee68433938931ca6aaf5ecac60bd0be429aa69a225726b56d89a202220f862756dfc21e94bc4bb621cb55d7ab4045dff249d4fa4ed8beb6f5d5055df60a67346a91c967c86326c8e26c16fba99d90a12cc7fe74dee54d075919c04014fe3b7e6f38408644f7e213a167dd291d205f29ed833a68bab804c385803c4c0986212b143d5d7c46a06f429f80fb664b85bccc85d7e0877133148a81b3f17ad83cd4ff25735d557eae1af96e6cb3ed7f3767bb8774e9f82ef5e5b0c258011dee31f93a0e8ae2534d4fe4e60db9aa9dfa554d6bc6f2d4bf4ff3af765842c41c40f5c1ff1cb9f527769c0a743b59415341d780dc353c8f4253c799a95bd6381c1b94ad901c687945a35978c068d37465466276c0e90046831fe54bfc214793b1292335563d5137b9b400b1fb5c1097ab8376c80cffbb12fa50fd0299afb53ed89d203b0ad3ba61f5030c04b239306c704051aa1609ca8db9323ba7f8575a24d8b288e4b757e11dc63c5d420fa8b857e943840a7c495c9507cafd510657f76b0426c3663aa7380c866da175608d49c8368e532b962b0eafc1ad98f6bd70388d438aa39692c35436f2a2329a7707469120ddf9b4ce036deeb0f11ec3270c372bede9c62df97e2b29c1e0aa1c70da7d786456652ee949299ae2ec91de2796474b85fffeb9b92adc4981bac93f12094c663f893fe6d858fa4bf6e7f141444c55054686759a0e0095d764ada24b843bce0fa5344934cd6b85d33d567e0cf7aad5f306e7b2c5f03b3467f31e016bfecde60f3b5dd56ee1cc6b6911b2a55812770f27507b845fe894dc895cfcf4e1eec1eb7084f60f416dc8d2f", 0x1000}], 0xa, &(0x7f0000002640)=ANY=[@ANYBLOB="f0000000000000000e01000003000000d7855f6714a8f6062cccc732420c458e8156a25dafca677040b8b894ad73b3f393695a8b5b997d7d52ec009a912c725ca4af1b6acea0770ea003b9eb5e0287e8caaca1414450035c78fc1db18a3dade658c484e00f08139ee3532f7efcc62a0246185d6187d1999ac0ca2b7d71e7ae18ec543e855a9af5bf921e9913be6551bdded90b93c5abf708af20727353fcb5c62ce493605ba1b3b0f4026adfa97a764ab2127d95ce86f417bb1b7387577192cd875792ede5845929400705326807513a1bb0a0578499533f8d056eb2f0a334cd683300df04658241e900000000000000e00000000000000016010000070000003bdc3b6f7f579c9a1e4b06e1c46b547109cac03c5861d5466878ba47fc2e473edf0645e5e3f28ea6d4aa172475bea62440fd063ed82931e3bb22a6f38b6d8f8aaacf0822c0eafe5c4217fe01a90b57dd029b5751eb669ab39695a3889010767c2ca5d25705a783e1117f81c6625e5c32f7d2548874b5d583d33ff73ba11695105f63bfdb5e9cdc29b83f25fa50d3e532b40141c0673d39e4dde6f8d9a31f7f912353a92425d409dc0a1055aa49df5f73bb1fbb0f5b75051d3312affa84de2eaff1f03bdfc0dcec7acba761866ed95cbde8000000000000000000000040000000caa10a23f2bd6e78c400dab4f25fc0c2bb39a1e8adf117757cb85c98ed179d01be7dd00c80c4472bb6575cd7ae7f73cc527a7e426f8592d45906d892b2f62ae3c1bac43a384200926fa7ce49dc9e27c377b12279fcf5dc2a563a298c244aaaa1cffe75877d2f88e4b3bec4963b2abbe9b2105c37e9fcdd79eb7d0599c45cfc860ccb2d9ac7ac895943aa7ba0aaf36e825b6083d47a6662c89a14c10d11ce855a9de7bdc447a096bc82805982606e8754c95bb4407c07c5df8485bdf7b8f2c029cb301b175571d62cf2188dba2d718e4d7fbe12533dd4760958557e533aea5fc4cab8b000000000000000020100007f000000b80c2218875893b6a871c0965349620ebef904dac2140c6b7792d164cc8636be444064b19d5fddba7d0d0c12c41fdf907d8db32d0be39aed7258b07da1954435ad59e91f259c2acfece9cc632da31130682278f71fb9c23c8128f5bd7f64f81411f679aa9075795fea2389f76a194cb220bc9b2ad276ad01b1e4ef61df27517afe95481bb75ba8db7dc77e770a03ff548be2b2c9ce923504d5f0cf89b45ae198101000000000000084000000030000003ec0f2603d366488e8e1bb18f0e319643b6bb1a39e62dbbf4c45ba28ba95b729f2fa18440cfdc14ddfa284e524372a6bd30ff34d8163c2c84c8b1a1a739788d52e9b24e4972f0de69f6a24ad06d4691a92e866f5cf668f321cd05f470a9f74bbd2fa9cd12878730c9497cd5cdb66f69fad61ace859c1717ed463779f3dc4aa9c8c2137b2b9ebbf8500cbeed743baa076e7b03144b103e326b1d80214bfa4fdc803f95d00090054696844952aba5ee29be351415b520220a40239d40c338ee3e3af6497dc2266de28d30e5bcd81a0bde4fc5498753c3f708e355f2bad2a9f6072a6ab9a800fff6b150ac4d414f496f21ac93df5da108019d20d68212a6ae38349bd2104339c501da5f8c663a91aca190faf007ab69a7578651b58898a62cc824028b21cd41c9a57b7e9a280e4b5dee061cac2f98dcb892d4a329260487b6062e655861f4f846a60a04237081fb438f4845c3a67517f5fdc963fe2149f4db1c8d89ced49e9c94acdf1fab6e420541c6dfa166fe159956f183c6848d74a64a0467a256a5865db1aeb3daef07acc1114f19cb51adb652348383f44131e2cabbac4f9cb66036c2f10c8aedf76019009f9b0950678efdea0c10c7682f09c28e162cfa231369aa36910fb257ec54de077aa20b4477ceace9a67a643da716d3987ffaec9f6c1737806b9cc23bc4142c59a9df811f04841dfb5bd5954353061ffe3e07fbf7df6e0060a78a291c92c21e466ec0c79073d86fc47ae47974f893bdd0905eea3061a19c769ba311490edce368b14b071a207d96e4e1a30a0d3a1fd28bf32a65ed9d4c5f8e2566bdf140025964d5150316f0ae001e7978fccfd13c02042990333454e9ba488e4e8c578fbfb0483661603444e91e84ca5091937b5de9eb60c4560f42eb4ee5657bdf7deec2efc828f0c198918b8dac89de237c8c80aee649aea1f38d9ff7395312ed8a968c0250115d456e1325bd3d3be43e47e3ebd0c307eb5838fa349175614cea10e504d788fd7027c04de1ff465db8fd088f5648aa52247add67f2ea4b95aeda70fc949b1f3277596792806247ce9e07dfcbe55026a9765fc0b4d484ae00927c199ca5b1b5dc67c6311be5132082b1da5cb9e38557249cfbbdd9f19a96326d61ba6ab56bd7ec6e9ebf79f905507d9496774bb9af9d6eb86571d3d87e86eba303b65a7b5f1beb24c709cceafd579fb287948362a8f7ad19b0e53743d7d52043d889261bddaeb5ca8b333bf0535190149031d01855dd005a73eb56123ad83a45df3bbb799947d966e1022eebc7f7783a2ef8a3f35a95ce475629fa9683c44283e246fd1e8be27581f465aa02b7ed271c76ebabd080ed6c9ee71442b1b251da1b03d9a625f12299d78ccf371fcdf866f5036e9e59ab118d55228e75d43fa0e50183dc002c2759f96bffcc7b2e452ecf29931ba2df5f56cb72141fc7d9535354497bff3fe4f5ffc1b2d6b74fa2be90cec80a9b236f33d7e2c68ad9aab62bb4304509c6a187fb0ff92fe1737c86db4100969b08c13e4ddbc2c8fe0ad6a18960ed3fd05a8b6813596cffc769f5f1c3da6c70f656bc6a699d23e72ca667cd5b94e1c8df2a6691a917c864aa24bda70842b999c8d11ce3ec6e0daffaecd4c876ef04b15d9f0ec381071817749458ed072c8b3453095b9df59c624f548e5e8e79ed5e363b6efafd583fbad16e56c80aa4fd4d4f53b382ff12a572b8c6495f544b362ba363f69b6c28b75edcc33c0d51368ca27bae7f27900151f6ffe6dfaa75f533644672f2317e21d4125eedb419f370b97f188e005cbf1260f89b6f7d6c72579831aca439a7b53f70b410e0273585169f4782816feb10b7fddb19ebd0fbd1182fdda8e8efaffae821581a96d8cb9a0c896d2d4d891cea324d2473fd596666c260efdb17979d6c5d80532c20908b38f947fef51f9c4feb9ebcdfbcb07c3e8a9fc46cd88a92fc7e2045f4ea18389b7afdee46bc15890dfbe8cdb4b4227416583d3ab02b54239678bbc8cc9c5f74e5da18e483ab389958be50ffcf8d99586cd773e2df8eeaad74aab9e0c1294911794be609afe5cabec1a3f4f5496bb6a59a9fefd54125c889cf50add8700debf239a2b5eb5acbd5441ee1493911c2b8195e383970c281a769e8c0d7eac8e7f215bb726d7d7d834f26e59c13e01b6878e85a9dc7c34d616f7b2ed8a187f2ed010970245f7eb4a888500a2892ac0fab2522e8f7d6e0aa5b6c2785dc4341d567d912e0c9c98f24d11777494b1c75767aa90cacfb3af19ae0f94db544443bb914307877bb85819a82e6ba66fcb31902673be869ee9c4d817af45f8135db506fa674002efd1b6e9c7773bdf22046031c8fc3c2eeb72f2e235072b710f8fbe1eda627aefaf1993dd15b342561d4548e91ca9726166f3b06245405b4016c07bdef86e79f4a30a1d053d5d5a707ee47ddd7edcfa0eec4e0c7c28f0021506abbbd69f380744c92e2997f0a06e57dbbbeab787afab0bab081ca9ca86ae4079ff85140966701065564b4a5158af2f7ee6d3a2a1d664094256fcba3a8f24a143dcbceb189cf30e30f9b15029114e27a318e2430b936506dcb5a8b2228af23bc32eff178d2e732842f74896c48ca93c7973e4a31bc378398e5fd3dd5a7d348f56b1f2ec4543eb3002db4ba0a18f1560cc7b54cc72891aceacf53c73e3ebc9e7fa67d7739e29e717d707dd3d002daef703923b66a4b776fd1372ce917756713a8da419e2da3588f5cfb409c5b70d99fa153462055eaff9e05cd528918e8e2d181cf54a7aab25b226f1fb73a0b33f045af9018e77aa0032619ea051eb8ee68d21538244cb7f0165b2bdca33783d8181e2d392870718c77a6cc79dd92c4c33d9d5e39848b37d7efd08ad3951565d541b3a2589fb7dee9eed3d88a3834439fc30fada1df2e63633edf9c7a3f0fb17e67b3ee0933053a782f59d0c2d4dc3adb2ae433181a0e221cbb600313a6a546f76cbe14f56c01b420ec356acd90470b03a2b3549f71f72233c1e30606537ac114ceb8d5195b3a974d3c8950d7e0f21b6984103eae4fb839d82201c14a4e087fc68ec6b712427d125f1577694461182f3c3a60bbc38b091e436e6829aab641ca2efca06ec54fc818c6b0057a97ecdb8d54ce8ee3f58f0f44965367599b4efd0bffa359ce34e8670ee6aac500fb6d38a4ff93717b8ae0788deea032233548a1862c9c5b026b3b30cc7bb305125b0ad688068f2917292b1616992b629865b7befdf8e89f61a2b81655df0e064fc5d9b9696b99431fba168f4ec68939147a6a9c0a2946caedf58fb71c33041da47d41f19ec1afb82ea9c69d08baec7bfcb36c43e631b0989ff1b392791cdd662094de435da1eb645e0d56bc982b31f29acf82456c9606aaa1c1d99c049884661865c20723b35ed2f6a0e80cc4568e2f98ebecf393305bfe51ccc2807160388fdd2bc560211eea4af9a703bb4ff981a9a6edddcd60f9cff1f7ea0dccb555d6f74e26e89be99d77f21b8de4141c4779b0232f51e6e48eaacb5699324627d6433e36ad628d2bb88e12f03bbc1249ad5818358ecf3d4b8fdf03aaaf315ac4055e8169401e5016ed40453553f968d4250b1ff052e7564761a6207c6d4980f10637313ffafec097d0ca6a5ec65a52d8b1016d15f6ffe4fd59b138e32891812f51fca3131999137a62fb6bf3023237a7229e3fea47a4d5d9a6efccf1571a38197061b8f5da56211713df1ec2147cfb7a58ed6839b5aa44189f558dbcedc5359686ff0a7cc303c5d52f95b44c80f03cff337810e0477583758b774cec29b61284e3a05ee26dc827cebe148f167bcae4ad2cd03ba373d11c678dccff3055a8c7ec3c2efc673734d8d103ad249179d13ff08748ecfda191a9a0b8565d1b66b87b5158d0da9804217d5078aee969a6417c2e59e8048884b5d243ba7f452532b8ce616f24c16ca696fe7985f09ad735a85fae227d783c2f81d88f139daf0a851c122f942a75b7dd2e74ab05e08a15fb6c8e27447d80dc8ee7fac04b3a98af472d693973761268732fa4d490cb3cb3d3a12f6fdf841fd86bbb1f4016cdfdc73e42feb36a27b08af52e3cdc58cff6e61c6d30c144e2fa1ead895429ffb330b17a2ad2da785f3d2e137f03afa1e27537c36d03fc2fb00384d76f0def2bfa73a9cc380c7003411c9e224904451533a5e6a2c6bedd615fad125eb1ae698f46a470ca0e33f17a92f0d071b72ece42f21b0c870240e31e3eb9cbe97c916ed7be5ee66b15e5d884ed5142cfa8b55cff9b4cfdf3738cd1ef8869b67507b4adac7700a62c26c2ec56e9b5304df4e6e13df568fc38fe08b7f308cbaf3a6407e83987e884d4f26da58529bbaf14bb7b760715b92cfe993859a9545da509c412f355c14723584184646a82b42e3f0c13b35e6e2ad45b597706919bbb9137b07b24b3a475ebe52e7524be50fd5fe6cbd20c905c0351c0a72723be7a2803624b659e72894c543fad6e47088612f51d7e2134e46a12071bdcf383dbe565242df87c6d60eac5adc9548c65f8c2d32d1dfad970ea87fd85ec03df2f0e333b6442f812ab24d224fd00dae02f4f1a5577787fd8c2389e18c8fdc5788ceee2ccb67ab5dfce23d0bef8c1cca8d7e228ab8ccfaf51c1049bfadfd6a815194095cda8c8431e40d44c7776b415f860824e6ad77e9cc672b23b8d7c6110d3efcc928d29016a6c64be2d35cea4f0da34e6ef6ff2e413451b956e19625614e2f4ee62276d30be6c23cc54211fe579fa913a73ec61d677248b923f3aed74d46fde4c7f0b48e4115fce32a3836d8d29bad62b52f852382629f1255e7bab9444dca792369d1ce1cf4af5aa3f66886dd2c6bb5e3421f531d6f67b8f0caf37c0cdc4b2b4896291dd083e6c6f7d19593475167709ee4de853c2dd0d289d9ea95ee8b46bea089b3ee83d4ae04ee85f3bc8dac73956bece20827fd47b7b2bc8416a41ac25024938f2f0dc99c885795f82f3d09ff0ec1c00e0358e6581b099088265c5b8d897e5ad82ebcd9e8dcb7835c707e318186a6d33fff1cc9833747a232a3d62f369c02f50c9992cf655c966bc578aa5025e72cd72fee03028bf66d929ccd0f5d3f863a0bb497f75822cc9e45474784bed77d24fb4e715f61b5bbf19522493624bda19a43a51699b24c0f2a2d5671437c0c6b801af593dcaf28db3ab9fbc6b85d1bddef70222c6301e63791dd350adf1ea61d15dd5a1d85d45520b535c6521963c701fabe93bc954da4c4cc620078945223f4578b7919df0cb9cca9a5174a2ab7ba802b57f75a8cef790b1ae7983d7c41d72ccd768720aba49db4c423a2fd2f00e75b38ec2207bf81e4704b77ff7fed888a4bb153e467112018e3297706b6fe7546bd651302ee8b1ebc66c8646d1d6f23bb19b6b12cb8dc54e8915b90e21cae712165ba5c176f81477bd05a97733f51d8232841596d94961ef3ee3d22faa1d0331f1314f73edb4c00e4c8015c1eb8989cdb6111f3d7af8d14686b8b4c43b1c8d553e0dafe87d3a3436ff983680064a9bd2de18847ba8fe300de6fc801f4677e8178d69352ab0c39a3fb0baf96a34bd35cac8ad4ef9e6460b4ba3d18270396590e6c8c3f8cb1660348101a63c7341df1c2776e3fc0dbfa2edd07c7b77b394ebe9237eae50b19ba2fdbefe305df7de9e6d81a70b0b17b7abd2c01cff2d5a0dc8a47bbfb959f44a4145afe40ab2daa802a9ab5cb9d574040762639d53a3ef40b5b38b4d3e1db71b5ebf8e610b5bf0b4d0866e6e5a243993f1c5bf1463fb2f95ca9b5e15ba26a9faf8c8b58d6164f4d70c822078d519d280000000000000019010000ff7f00002947bbd1897a5e33a74a84365138abcf41e0d32300000000280000000000000008010000fdffffff25255abcea22948975f01fefe8bdc1e24a5cf9b30000000020000000000000000d01000001000000d693e05a2fd7"], 0x13e8, 0x24008091}, 0x38) 03:37:58 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 5: syz_emit_ethernet(0x13a, &(0x7f00000002c0)={@local, @random="0259c6e749eb", @void, {@ipv4={0x800, @tcp={{0x5, 0x4, 0x0, 0x0, 0x12c, 0x0, 0x0, 0x0, 0x21, 0x0, @remote={0xac, 0x14, 0x15}, @local}, {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x6, 0xa, 0x0, 0x0, 0x0, 0x0, {[@exp_smc={0xfe, 0x6}, @nop, @generic={0x5, 0xd, "f5ba0b1ab615e76a8b25cf"}]}}, {"f0a10d416de34bd509bb75904d5ca076e8ffc9545abec642fbf85a07aaf4052b0351f18882f513351927b2304937cb9cc721375198fd1fd18c18b8ede95925b7247aa008ab88c1bb36a9df5671a4574ff9f51a447e670265c42f4d202eace2fab92fd2e3902e778448de52797fb41c02c32a73e9d34198039b1152a69ad589165a6dee60b1fcd60845313dea4feefa2e5b958279e436f91856d350cc8ae07c5c2f081f066571b57ba2676d0eaf80eba5a8ed6a72658beceaf61b073bc42d70925a15425dc2f410f8168964f7d55ae1f8a11b32ea6661c25ee0de013a14e6f572b031a88fe84cb6693f33969c31571cd0"}}}}}}, 0x0) syz_emit_ethernet(0x6e, &(0x7f0000000000)={@random="2d8b013d021f", @empty, @val={@void, {0x8100, 0x3, 0x1, 0x3}}, {@generic={0x809b, "8b643da4baebbb1a4866d77d8fa9dcd6e7ec28089243c36fc3031b928fa3b2cb27a8f8cec70d1a9f9b57b5dd4d987a2ec7a5cb5df9993e65d859d0884de4f4bb3476d366da20df9c2c0a295ada6af55cc7928e0b0f4835430eb87674"}}}, &(0x7f0000000080)={0x0, 0x3, [0xbe6, 0x430, 0xe32, 0xc8b]}) syz_emit_ethernet(0x9d, &(0x7f00000000c0)={@local, @empty, @void, {@llc_tr={0x11, {@llc={0x7e, 0x3f, "b2", "354f3674f08c27a23f6c5bd150a9143a9513bb43fa93621e5fd35f8aa0704a56834e8f9a673c3fd8190c0a02234c23944c8880e76b171dac40eb873ab1da1bac304600295e67b663f0ad1f0f33ee825e2e847babf654d21e69fd0e983a12d775101173445c9f41e9504b6112a4da9b6752227f50e2cd58a2c76a37966a05e2727b0aaebbbaf22a0f9f5bff40"}}}}}, &(0x7f0000000180)={0x1, 0x2, [0xdda, 0xb50, 0xf47, 0x9b5]}) (async) syz_emit_ethernet(0x63, &(0x7f0000000200)={@multicast, @random="adcad878e851", @void, {@llc={0x4, {@snap={0x0, 0x1, "6d9c", "e1da3c", 0x88ca, "6e4c82c3df21275fbd177d97cee522e3367fa198bc2268490937da3899cb36a78f8c55fb0e6a0f75293f709074ffbfd7abb830ee02666082aed34f3ccbe8d6174d42a0037153f80486495829"}}}}}, &(0x7f0000000280)={0x0, 0x1, [0xba1, 0xe32, 0x454, 0xfb0]}) 03:37:58 executing program 4: getsockname$qrtr(0xffffffffffffffff, &(0x7f0000000040), &(0x7f0000000080)=0xc) (async) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000300)={0xd, 0x4, &(0x7f0000000000)=@framed={{}, [@ldst={0x1, 0x0, 0x3}]}, &(0x7f00000000c0)='GPL\x00', 0x5, 0xad, &(0x7f0000000100)=""/173, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) r0 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f00000001c0), 0x2844c0, 0x0) (async) r1 = openat(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00', 0x0, 0x0) getdents64(r1, 0xfffffffffffffffe, 0x29) (async) getsockopt$ax25_int(r1, 0x101, 0x8, &(0x7f00000025c0), &(0x7f0000002600)=0x4) (async) sendmsg$qrtr(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000004c00)=[{&(0x7f0000000200)="c1c8041820eba100fa58fe91c76fe5787771ac57c678434af8e13b4b46ce2e64f630173f6cc8a405fd0fc36af556a2b40639de787c8062f5461fbd88c890da9f599d1c0ce05766ff9e2f25de99b590aac44ea655c551b033e025b7307805cd0ad5017b4bef6d1ee3ba98f15c3df933aee40ee7d674792596e5803ed3357c23", 0x7f}, {&(0x7f0000000280)="4937426c646c3019c6460ee1d89650e053e358827540fc737644c29d19540ebd48d1", 0x22}, {&(0x7f0000000380)="e21cd51e03dfc9a51fe37ee6a66faef1717e46932826ec324c61d76bf856aeba0b3858ef85b10e39c6469dd42a0f6305c7dfd8f63d44242979beeb20b354349704b31e234a0c8b679f5223eb7edc185f28f0784bcee51ab2575e4369539e832102882bcc453e7b73e957848622b6c6811d8e1993d029e4b0569b8be23c1616c38921cfd61974173a3d9f14eb62b64d02c0ec32a310776a3ebd9645752e626660db8c1479b5781edd8b1b0db5e9f9168087431bd48cd59dddb1159c7c4b2897e45c52d56e0e36ce793792c27cff45c33a418c3b9e805ae2f62a005ee4c6046d03d9565ba98512f29e5f", 0xe9}, {&(0x7f0000000480)="c2eeb7a4b028c62350adec3da9587dcff99a46e98acb5a6cf26df96c05f091981bc7bc4cb9c71d8efda1daabcd4b7d98f8b9649a2a3088591bc91aa5c223532d4af5f94af38a119bb8adb9e3b1a4b311cc0476b8a9e190952117f07a9b7e6d067f0ac4fc5f9e6af55072baa29600eaed8f998265313ecb5c77e7f27cbda34a82d34cb9330236faf5645368aa7835591016325d91d3", 0x95}, {&(0x7f0000000540)="e0a12bd14e3a934aec5b3d19a5bd37836296fe05bc6ec48ad19d52c7542c706c701c3ea147e1c7d680dfe17dad3c6b983b73099d9f532026d6d59a167bdf41ac9cfbbb165522c1f342c36be2dc3e8e20b4dc65337068a902e8c8eac8385050a594d6fc97fd64dfd7614767634af914e47216ec92f7fdd298751a54b642df4da4bc053d9702f7fed2944b4a79c9b0838ae5f83a0442076cdc8789e5a00652b97acbf6d48890db33540c71defb80ab6f5c8f98ec7701e46c8a70b659657a0c5058aa9986503492f797694f79b7b51c57d458bf31458958c63e22cbf4a61834bd6dd41917d98614e6905c3d8bf4e377d2f383631a3fde950f43d88206c56c5b257fa7738c2ff1150a831f7a372571ac76f3e205caa48f3a5a469e20f242cdc3e18190edfe9e58e05a4266e9fc7bb8cc783f528ace96008b4a1a750400e306d909b0d6b7e6f3f524d942dc9c57b8a5947212d580ac11b1e105fd095987f404ac15a795cc17a2d384530cb835caabb56af4601dfe15b92d43d90d39c8a842ef5e72ca5c90f378ad05b2bb928c9adbf95db4da7a5ae3efac9e7349fb2c2fa7cc9f1e91c1b471729705836b224bc4272d42f039d4aeedff89efc0f9587a75b852dc55f56f81364c2d8d7a2f79275a0a8d402fa10697d72fa8b161f031b038038310894a41512b37361af1e106df17ad6e36c3ba0eaec5e52504addf49c1d8b6256cd0edbd9e08dc6331c25939d1ccf94f7ef6de2d60563ed3a426d6879633e1060142980bd2806622fc41da50631d51e137b931f34b90949e43cde9dce84f2db98329ef2744078c394b0e1e672f38021a01ce6e033f625e284e34f0753a2d2b385c3153b30151fb4c442bf25847732cb23b2f773e94d1d311970e25a90bfc1fd825d7647c5ca05d9af51a5aec1a46567f5af6ae3d662e93ccce2b88912da216bb3b0a50d5357039126e91b60d660f0ce65ac0d26e26e8e1da40076b330c14fc777de88410d045eb6368c62241bfddbfb167c1c70b5c132e49ff25ef49cddd9deadbe5eca7432ed926a683f63b7c2902b4069a6e437c566e3ea3f7796beb801eff27b18fb1e33756c15858ba5128bd596194c96086aa150ac1cfbc3210933647069fd6a177b3b08ad0ca3b9025004ee8fe5ed59a573d1809bfe93b63a5440a35859ea48d4b0b2516a985d32a2767dd32a58b77ac534184e521488fe6a06df4a45d3f8175e18f6e537432d2546bad5f9ed7af4f14597da6e135a68bca134a8940f093bcc0643c322ab46bda740ea587b4eb506529ef4bf2a1e9e5108f5eedfe4d2f880acd65235924b7a6110824e8e548ab2e4ddfd18147211a176b9b0f955b14b8fb01559f85c9bb662e4dc0a0feb7c9676cde0583258a732e3c76ffebe902cd1d23311d58ffd4c133fbbbb87be4a9d7fb9fb560468b33db789af07f236b24f5a1d2985c23b4eeee73c20f19c42f13ad60f060853e9ee2c0458152b135c6e00f36b68a38e1bdf642973bff355a6b9dc4883641dc384ee2593b32bb6d415e04d2f888a917ec82744e24b0ca4242bdf2786c4959b33c11f04a1b56641dec001d029f7679344a5c1ee716e4a2c8b86d674322541eaed638ce41f89b095aeb9e8e66a01a475be6d9e4c9de7681dc2e309c6b77a9c4b00bf5d1d06d8154b65d5dd3403815408c6ef6d72cedf70477be97f0184efef70d0cc7828273ec96864352131ea4dc8100e1227c9366460ac4e282c10d4fe8723fe97059da537453f6cc9d1d8fef3ed15b61248224694997631a3140812714d26e838692a0905f834ce51efb651205ef8a96b6c445490950fee532780a5061a506820b96c82e7b2d4225d82b8a2a48757056848945290ba4937112869176f77d9595f5eb3f41bc2a49033708889f6d22e820662809ffbf28f7e96a60b8d893f6ec9343f1b3f11b29352ec2dbf29f1dd80a967467b1a27411b645a9597e9769d6ffdf5f66dfb7d216b25beeb46ee3f9f5956287c29f0c332b2f5b39878cc575b49e98ffe3a3b21ada2621386522091b3610bb300c7a5641ab7c1d3a9079ccafc193cef2dcf8747cdda5e4b33b4e58cf74d89d7b1af6b546400133a3f1ebcef4f1da7e8703b23af2111d0f6cc2b1a00ca8d77c1c9b0d462de9629c535209df5468c0a654c66b0a79d9f650197f6f0931e23792ddab4a46a168a835cb67a6935fe5c00cddd8df5db5a560934146310651b7448b4cc7fcf77c3bce41dca292f7084ef896e0f7b8829f0b8f7d74dfa4b5a714d69469b71f3bfc75a62eac0e042755ce69735341a0a4f03f4b630e60028b71ef1aa1813165750034ee6441703ce200a216a87834ad33f526467d26b8903521a2b8bdd5a2fd1ab608701ef9b23ca425d62ee445e0fed1c7a16d8d5f0b80146e8da0210d4e07547c5c1de313b0d16b62cf7321ac7a27d1bb5e977c3a3d30ef45e40cefecdaf3dc174595124cf75ea2777e4a106cbc1291bea02ba0c10991051550d8b46250e229bbce3f4dacd73a5a65bdb3cd4ded088e9ae346c06f938a1e20e1d7b77d80b3630ef0988d4032cd6e003feefe145f1e36dd27abfb49ea0b831560c6e389713f25677987e3544e961a7991a1b5e4271a714a72076b5e6c91d1c864b01d19056101190225c1bdf507b88716985d2709477fbe495bc52912210917e0642038998aaaf4ee247edb18b06431777225374a60e0a2435ac790cc9a855771f99a32be5eb8d888985903b72f87b3b737aea815e4ba45000ba8268152aac60df7940d4fe0befabf8ad7ee18e4130b5b20e313c03f227db28ae0be064fef446c65e7895e1d9be371a441d6b9d599c645c36c55cb91c6f3caa084c7bada58980ce0d1d30bc846bdeefb65274ece07bab4e9d7970602fc03e1ef77b3cee055917679e4d9c843493a17018150e8603ae0b3b0ca9476f53041b3d54bc98e8b9de2d9dc69190b146476de5a4eed34b80074efdf4de73bac31368489f3a506efa3c2510ebd50f16d485bac0f5abe684ce639880a05e3850fdadb0f533f412dff399abfa975087150e8e7677f262cd0a581eed7ed42f817f63f4f558266c50d1f021c7502beec3441dc1b7185376a23c3a3d35007da92eb40fdc367060c39a76dd79c894ca066c850e12feb2fb8b72aa9a87830814bd6aef3d0fd46229838f0a3550326fca215783540576c17cb50fbe950915a15de1c369212c229eecbf966eef73c7e02980f53e648ce64e89a37045eff2fc6f126b2d1dc90e72a7b5b71a7633d945ad5f6259e5a7f5820c50327853a43250598255e019afea8d2933cbf81d8a51eeda39ca487530d75d6c522422731021b2dea48262c9dd305a27f1c587e3ace504ca3419dc965670076d135cae0615560761e5bab597f082ca26c7eee49876cc81140888597e81ecb739c93710e9b007889bebdd527a72d109363c8113853bae1b5bb76b4383d5db9d738d6b55c279893bd2be7e607a68c4f23dde4a3fbf48b07846e20e0f3ed5900e929c4014060f5ee34e673aaae470f2b8ab058cad834c088dd50bae46058e7bf22c5feb1e955d4cd754b34ec7559d884b134a897ea8040c18bf5489c7aef6a9b5a82f28229eda2ae732dabadf30d2b48d90d0f1b8aae250d265bfe75928fd7507202697355bb6f98b53ee8b765c1d831e200840a77747eaf8aec21847c9d7d704d136af5941b9eebe159f968354d46d7165b8ddc1d80ca0ffcfebd54ef735bc10007a66b2686f4823a233a48a0c56849f0ed8403ab35f3cbd95af824eea2ba1f2d23bd674e83672078dbd4fe7bc829d1a1be6522fcab7dd955f3d8c9ea8c1d0c6be150fdc938c8aac002a2b2606a74e143cadedda5ffe9e9a17b7cd8544f01395e7d9b4cefe22e14128952a5f0cec86853296af10179fab497aaeee4fb962f76aab1dd2970592398751f49d1daa0a83c41888a0bd1eb714ad03438682e51744909e89ecb5a8e5491c8658833dc78b3d2a166bb99f000892bfa149373fed43c177791c43ac43227558f7131ad68638d1d720b3b5a17abbe9595575361eca5184449ad517ff3c706d9c5690957178e5fa65f180dd0e48c571ded7a684c4f7d1babbfb093913b1caf910022b18e31805b863d5b784ece641b4f583049d9a21f1d890ff3150a3eee5bf863ffb9f9beed4a8cb369e23f3ff4a155c3157f5c51883d0097c3008d54ffc7abc39e1a0466be91bf8b8739cf379789144d02a06b17c86aeab37895be3ffa5f6008fd26d5585c7ba3a5dd6ce4d35caa3f559a0fe98e0e993b05e79a798d01f284725580168b29a7c2da72c2157c2b3bd853ebd3810e375a7f75183de732697f2f76b71b3f0fbba09726ed8c9abfe696d800e9457c2136789dfc6667fcf9e5eebe126ebe41bb0dffc7c8d05b9d6e85bb05a64a5592065023afe271bd24b0eb7933e0c944c9bac529ca78f1443c00348891cf0d0583478129b929519b36be863aca4a98285c597ac6f4b8cecc1d40612ad6edff98441e08d0cd88a7cfce093dfcd08e41e8ae9a7a51ff8a93fe8d7ebc9ee5e5858335963b5d989f1e5f775adedf83aebc7eb5a99860545b249f1d0e1e0ec4a981f20978c27f92c732f260552c1ac338884a40307f125ad8377c40f432c638bb00211578127ca9c76344ba673b7c221a2a998ab2b7df3afa6b0997250bdb47784a1e6aa2a93512a42a6f8b4d45d5fcdbf59e34eb83199d4a53f6e3e61c5321abf28f6f8f10f4fe15c23a7b7cedfaa862528f364be99fcbc667586976f49986680152bad8eb84a978a5faccf6911d3024ef1b3033ae8d65386d7d8e0f223649681932721a2f0e33b317bc9fca55c651f75740e2fbfa54cb1fe5ea8b3748b235dede0c263096913e867c08914f68b7ba471eac00a7ab2543d9c302e67ac7d29127e1a3d453b3be9aaddb13f1558495634eefdd9ac3f6e2bcb0acef4303b1fbcdfe1709cd33c5431f05eeb6db3abdb00ee65b0f2389d348bded3f80c1c4717b73f48162ec604e09214eed42ba2f4f2b293774fae002c29e2f12aaa284af09903f379a86ea13efb877fefaf85d96edb69fe5924f85283469c19addf9a723d75923ff7b60b5fc556dcc15df1135dd467d5b1ed2c8e8cb0ab49adc81a70ed7262c5042713c1d44e525a4b261e0e56a68780cdbe817dee380ad5e1c3aba77f7326a701cf8712a678d2e027e7554aff78e52ad008359412dbbc735213fb17b85612dc63a3dd462187497513187e1e4712607c4a39d1fc833305e5a0fe21a77160b6d5d049db1b250cb5b07b496e7b2d2f3fbb35b6bab5d997d7e378bf2171325de1664705472241cedaf0b0e4be3adca3e7c456527746247fabafbeed10cf63c65939d0e7f9f2e2b59a1d164bc0d89ffc1410ab4dc2ffd67b14d93b44c7bc076cd3511aebba9901c605b3e4e7221fd638e8d3ffcb65030837444139b9d18067ca4b16020d89bc747a8c630f38d3e4fd43e9b91ac49bc91340eb0450492200668a37f385c40e840fa47b47bfd203c0f495449477adcfceed5241f1f0fbcf906f145aff156fa53ba87199251888cc608bccc2e4565ba2c5cad812a785574593bcc4baffe9f8ff2e85221badcf85bbb2d6980098f18c9731f4bb73f5db889f057d80bac6fc5f658f8b3b7dad6ff09ae1109333c914c20cee461de3093753124f7d5083c63cd8ddec58ca8b1314f4891e268eb2f0dbcb1366e1e71b9cff1f9d61af67c745b24724da4f9d9384078f7635c5ef320dbbcbb7f47da519d7a9466a38851d15369eb57b183b0264bfb6fc73dd0450c3184008c566d87fe1d0beb3db525ae5e5b8b5705", 0x1000}, {&(0x7f0000001540)="c6934902517953c42cb398bb30fc259b9065b46f734e02c04fb18f130e361cdf3d2ffe33464d505593cdb7ac5621ea039977c725a0a5eb18da9381e200c70fde8d9b1d1a081a90f3a7e49583a67f7ceef0da2d2f8234eadf15ef2dc1c67029b21b4d405867aa368249a6ced06877bef306bb965e9f69925496d04c0055e7b704715cf2be996f5bbf51178758ddd43b786116f711b980a54373a4598abe4b36718fe0ae09c9e11c8627b53ce726cf0c8154ded27000c4174396b16a4b90134fe3b5c2ea57d3dd4840fd4118f9433a81d557334822926e7967cb5024796d6ed012355951107c19757b4c85aed596b54b012e5dd7ed86db63ae5b70a2d873b0735a360a2b56ceeb80642ba4c1b3cb67cb7dafc2821a0f48b5b958c9c2175b5e287f3c61c9717dfd4dc40259666c420b9dce2dd1e44aaf06c31d8aa47c7356e73d4b5ed7c539479d087aa61a8f3732304a8322a037bb330f9634a408056d1f6dc724b420ceba6dd208287aa79c777e58a438636151d2796d12da0181020eb9a87206a781b9b79aaeb3e79edd4a28fd43bcdc24906bafb89f60a16f436e81ac975b540bb29e83d7c23c7172b80a14b71af9b79c0836236204ae68352555ccd90e212e3b30d62e2b2e2d984d26ca34beb05f0623137a74472bb653ec6d060e513ced39b02e3351d1a377ada35d9d454851cfae42c9ce833574ee7eb7b0523cb35c42f3b260ac1f7f69434fde692d530fe2cee41306fb242de8e1fcd886c833007061a5b6f03b7a7d6ba6a9d934857d96a239791cb6f63014054e1f176b45be1ec6bcc4192840ac887f4bd04e0ea408c9c36e3b6869c303ef6c4c67d5327294bab62510176ba3893586d3c2e83cc3356a4408578a689041096f9258da0abbaaae9b37e2686195971fc9c3a5a7b92e592fa3ab0c7d6ea6595c86c78e7a1fc04bef0c21497742ab74c94892088504c6140128854c2e38e221b7c1a15261a07ad184e0cd1404dc619ecd9887f80f03f6bd44980227ead28f7697be82c3699a271f1b76b4d06315d213e4a3eb086a74c6e4e28cb44e4fa73fedd276e7eb51fce85c907ec35f8ff1d2976552fa1534f497790cc0de96d185d0ade397adda0148b4bd675ec584a6fe5dcf027529df3df17f0c6d8246b9d8fe13cde8f7d272f9feaef3eb67b46fd36dc7734989819ba5c640dc7469c7eb21f115c787ec2ea741f1e618b83c1ea44694c091ee6fd1770b96e53efc8634d5d39a86b2d1ea402c8caa541e9492c345b954da0e3f573395b24176feb54c6965b44cac449ee3e74d4a232c84406def0ae343a8edf765006ea90a56f37c3a9044eaaefede835f7d37108b72e581c84c3a6cfdf24ff3c0ea1cfafd18f8292918307556afda0bdf7288791112af66b69eaaa9a38929244ba521a1b4c32463d752d961cfc48ab245445a4bd8f6727b3ee1bf01ee2a17af0fe859a45c119f7689356067c515359c13ba2f3b89c071882dee1ac7a8b3fbdb112ffb00cb7c726dc765e8972173a5fab9c8164c44ffd1485bbcf6e70c50e47160a476d09743f645bb15f738a1f1fde73808384bf802f439b65d7a4bce119531cb3b0c106e45f5fa872132ab42b9ed7ad06ca9fed4cae6ae5e2bebc60e14041e789319601228ebc0ce0cdffbaf84ee138d764b01f7ff95c47210838df4f835c4eab4365cef2cf548aea95773a747975a43ccd5a01b9f11a9a24ba8b08e37336557226574d4c0dc2a8a20d6a3fd3ffbbf8618c526b5a8c693610b80920aedcfa3ce851a41a86b425312c21c1850fde6b0ecda204061ffb3318521c91b0c438dd2454dca5f12ecf79a018a10f7e310e2d851614afa1e2d9580449e3a3cc963e3cd230bc9333147050a8a55d9ec561e4bba5ed5999527eb98e82297c8fe69355748e5c2328a1228e25efcaa0c9d26f9225a584bf673b8f3d374081aa5e90b39564fe14d3c2de3710eb5174c2fff1b7cf52cdea53c55c42cac54bf0bc8310811bc63a3afaa9b7de03869f51703ead9dcfdfbf1ea8d170f051352753ddf4dc322ce7894281c1141d473fe8b5d3274a3bc8021f291f5274207e4326653efec343835072bbbd86c85599b97de771e423640091da583af10c8f3556feecfd92b7d0b7e53f31bca069db35e13fcc6c0cd3f4f8cb28a1ccf3d6d2cabaf421ca65fc13ef54cb05b832a97557cedc1c90b781aebc7ed4f7c5e55d2f76ec0e73bf70dea3304a2c36d5c48121656be99751490eca36fc240ac85db46e1aebca834fe7d768043965f7f764d584b4f6f3bfbf997c2f3e89c8c400e0b8085a4213fbcacfbc83da83143b2f05384576a5daa68826afe40d66a0a1189c6ed55f93ca43114d7b21757065bdaa508d2369974b9a7a2e9a4ad0b752cb9fcef9a4f289425ebfe103abd4d5ea067ba255b054bce686c76803fc0090680cd741414360e2a5c06a8018538ed4b5cffa1636c38016b5398fe31a522b20573d5b9ac376c08fac2c93d2d573a5f81b1bfe4c138b3b4237bcdcb89af6b1f0cca3e1dc2053278d0248054b5c674137666c078be69637459599a904da65898381886fb9fc9a9fe1e386a7999b04d501e0fb5f03216af22f8e1bedef54ce6f28abb889311f0d9aab7ca19071e7ebb473e485aed2d468934c07ec44d4f7b5d3030707fc0d84d0c7cd491051705da50c62dea579f20f7781fa5ac50b4900bab16f9938dac0e8019d7affbe4a54bcee10efa76d445bb0ef35f84927d1e6af6fdd2b6dbf46fcdf36a1fbc0c81a50c1ffcf6f1375e440e177dad253e328925095d18a6aa97db73192f7a54e90d5581b99510eb54bdfa588523ec26778b05c47d7a65ccf19955658f198dc1771cca0643618556b41e70378c6fd5fd11c6b317095436506c3fd6f3c74c0629605a1b8eab7ee4b435e6505f977931032d56f4f871469505075ce8bbc64e95dbac4886c486dc5fc4f3f0f281f86541dd9657acb0dab96bf6a1bec5b9256b1e10c8bbe95c00ca39e6a6858e30c54eeca77e8ae7476d0b6ed25a18985b5af23977dc25240e8d70a9e08bf4aa572dc9f93e9e9c7d31f0a23d15aa48ac7118653807e1a45d9ec3104eda66efd5be25d6d870250f7591ee3da44ea6fbb08c9cbcaf07b891fa94ea399431365242c81842da5bb80518680007998331466ac594bc9fede2eb2d5163b28e5b589aea5fca848c24bd6b7854c28f001afcdd83e8ad7e5f90578b63b7dcd581c0a696a1279c298d466919066eb44fd7b10fb00d0b86b503fbe910d6eed456b2d6b7276432f8121b6e95d7da5a4eb5846481a9fa6495a5a38d0ad6587a315f92f205a8bf54f4c8bae974ab7a2ce638e1d399ad9d29ed015f03a6d48403ea393b1cb58680fe6dd98f99de944499c71fd70324c34894633d1f1027d33faebb8181d493d3d602bfce4b92126c73cb6726a9c266879373012ce732a818362e7e41c04dca9b7ac3213a5e19c5bf99aa84b59a0962fa01c698cf8ea28a2d2ef44c367ceca99429f715d17c2ecc06e076f11b6905b1f62a8fd495176b60cf0bf3b9c63483dad166613db4614b3d967b39fd79ab22e905a86a79a233880962b74635d08976ef429892db0d02f20e75f559b5ae8b5cb516639592bce699c70f26256baa400f1054bf258934db422d7236e04bedfd5c6e939a7d617266047ceb5894f05ea0d8227c01808782cb1a190f9bd5f4962c838c5a0e4f6d818931063eb2bd8e6b8e96f20ae42a99c3ff71ca5aeb8d582189a85b8c79474a7303eff4fa22ef17acd40ce97522df0d94414c671bcbb0f5518688317b8e9d5155a9f8da9831faa7c7ea9db259088cd842097d8955c811e8ea38620b9054a02e3f4a27d4ae1b9a75bd9b418ff12bc61484770d2c72749cffba08d70442f083e94e495953f0146de69bfcf5f95b4e5858ced3b508de00fb95f7dbdfcc86437ec776bb42ef9b343e494b541211bfc4cd41511359987ef4a584da1f3071a0ce354e8b15bb83090ae09349e0c1aff8df7cd86d179e9ee077262c042d72557a1a53e12821be2e5bc49992da4955f658f26502ed97236ff43f1a24f0799db6a565affee71223a67cc777aa7657d21a2d82aa79fbc7f24b0cac660c651d9e46ff156adf9dbee881a148c0e40af741cfc0be725a65e299c7cf5571a59b1155b5e4d9b884b1224b23bf96fd1087448b31f0cf82650b3e1ea455c51732899b844a5083f68e3746b0510e59b34b2306ede88c8ec27abdd928bb1947e3ba4cc1c005d7868e0434959ee06b202f1d808f9baadb45af5235e15bc5c7bb7c938f5d627c8dce4f8440007ccd3f0c7f3d5644a57a464964b8269080028945b9f4e455b70d13855c9dd0f39e86c77240dc00c7c8c49b97e306cab9e1c1637ffcfcfd4e91b8d987b312efd9776ea9d431ec60880743bbdc580843735f54a994c1133efc325a9ec36c083676a086263b75ebae6769df4e3741bd01d921999bd57c2636d20de97ec214665f958f01713118114d752df306249f9ebbe0eb5bb88193ade16765d46a3e20e5c06a5f841f6345d0457433d2b764613b50cc3b5abe958a933c0bd0e63f403d03ef3c455c56125383c11f8d8f2e7a1db98da8100b3c9cb1d4d5cc627a62d3d9357dadcd22de095f8f8e58ab3528b694234581fdbaac1c1581a409c01738799604fc2ebbf4f7c163437e2d10bc841aa7918ebe8ad19550f56975b85036cfe778a3034d652f1e23ba769026e5a838d99ae114de2011fa6471fbe4d7cb0bb41f81324f230dd2d6d06697f8f248ed0632e082e6a4e1566fa56a28c73f548e863aa4cec38663fb88e8de0d67500ef11f6c05be1c8f0f1f7accbf4f0aded909ad8386ccd2bd5d2aa37c69c506f78105c8fb9b817dfe337079975d1c3ebfcaa80d5a06c7c0790e471f51146ef6375dbec7d0400d7ce4da53c43a88364ae32ad9376763494e7372b721363f00ea0f25fd68eaba39cbe1875109bc1fb9a160668ca5985aba78762ab254fc80bccc169b2339d42e3f1816749c7750aefaa0e30d900fe13b454591a4bd50aa2d9dc5303bb1e6bbdea2431ad210b90ef4ecde027760407ba8dfd73f0f992a499b197063a1dcc49161367c2c097e7702dd0638512bbc2fc7ddce76b2bf8b312a81f28b8081a7516372b613abe9d48e5264f6f45b6ed5bc55b7208362722163eee3c16d6dba9bd8eaf2ca5e4389ec4042ddc2631e5d21777b09d5b2ba15d691bba9c016d3a374a1918a5185b47fc0aaa078661498af5b8c7c0d8a5af56cdd44aa83bea54602868465624a3b1fceb8dbe165526a2992fc8134d876841d6a018f3a25369db3c27911782465236f0c0e8d9e5d75d3f8f8a4c07c5019ce5ae3f98221ce6d2ecf536db14437159b64d1e234e7aa622331eb066159baeea9779b9400bd20f36fd4b6c5f4711c8b1280eb6352db3d69a895167af224becedf887628230c92b60c6b91a5da5d353688e84a4c35dc1d70e5d3de03b09ec7dfe4494ee887d6926b5fe3875473c3ea234f746d6ca847ab26fc4c97ba20e7686ee4cf9fe096f196e2230417f3f063e746df0e34087258585979bea38982518ef618c473a710fbb86de948c796fb115c1db3d2cc103a03b68e98e2de589322c3da7592865591103770585c86b68d6dfef32f3c4cdb83afd34bfef9d589c0283425d09e1a57a0baeecda2781ab16886f2f406933ce5ce4e89301577bd70fd9744f722809ab08bf663646d55fdc19f5bfece1702ca5d90df3e0d2cf87761c7b80bf88fa9abf0344856a09980f0b3d6a26737d383cb60cf88f46bd699aded2c57ba6afe85380d9a92", 0x1000}, {&(0x7f0000002540)="ce927f65ac5d8ab067d980e543c5331672f8363e3417adacb39a9e49b598e98781f617d8dedddff659e5c63836d1324f6d739635ae092fb4f331be16d5e4705737fe7e75ff89ab89b6e058ef8add74e59a65576f9843bf85eea75f510e71c9bc1a9a681ae4870a222142eaaaed02f1be1405f65dd9dfd3d073", 0x79}, {&(0x7f0000003a40)="6411b2e5d674ad7bed31f50dec7dcacbfeb704da9ff66a57b7299c01a5364701b609e0d3dede7ba46392ac27df80fb3064d0d9f0bcca786a7bb476717fc4e3f19baf893114d58e1bea06373bb6885e7e2c0b5f5bf550c1a4c58fb5cc0a3505c2e7123c9a9e252e96670b2dd7ef769e81e1afd12a8a4a54293f1dfab84c7c70b07d3f7a74a424c0503949a58c5f9b9fe460da9aa0389b9b7616d1c18aed50adf28da6f4d61186b47f0ae352c6a6f29e", 0xaf}, {&(0x7f0000003b00)="0be8a2fee871074cb0d1056b3204af1756cb897feb17f7d64e10f45eafb6089b894528776c52379a97d52f4ad2d7b77d9cec9f8daef38d9ac5bc03fb4f8474f5da6c3814aa24ee0ca5c512375da71067900f60a05438b3876bb0eabb276f90ec596c74b9758bebb533ea756bff43a2910aafe6d999656266c0404c7993f48c8af87f373f9335e17cb9afbe388f68bda35c8b57c0128984df7caa8f71875b60db6f642c42b395e3a2817189751b956912177915242cb088ca6f33b6f10e1f3397c3b8145b522f6559e0ceb47abd597c774e16cf9fa5526aeb4aa43877", 0xdc}, {&(0x7f0000003c00)="1b96bab51b4afa2574889998bad453b841b60c5524948187cb90ccd7f5b793d730ea8d152ee2a5c54a954b234fa7802ae147aa982e8a41481d9bfd41ce8d399201b4bb0af548ea4584b6fd274e72d8fec36d13c086ab139dbbd1e80dda1a14b88aa097826132c9e2e6234838172174de31dffc00c28a9a44ddf46286f581b9a1c4818eb3fdc6d0ef503c77877d9b819f68803abad402d200c643ad8a2d0f68e74f554c5ef59e32cd00b123f3f58d77db21137f15f4c2138e63dd283712681cf945315a9c1f79168b34658d15d120eb6c12c046d9d9bda1c6d8b06eee5441194d6eecb66f807be3da24cb156afdf3c429136ba2968fffb6c21181c04eafaa212a56670be047092107e05cca691c68b2d5054caa90433635005daf3f22f739015f179dab5c17c859113c989b02dcb79ea514ca88b343c449b1f32284c1c1d0892ffc0bd1f5ec57c95e43d6e879b17e0b780c7559e0cb468234eb111599c733d2b39964a6ae5bfdc2e45e45be39bbcca8bbac61b21e37e13cad34adca3ad7e65f51ea1981fbe93391e6f4aef9ceb9fa31d1f7900a0e9f15bda73e6031d53634a31d28ada9b22627396d979b72f85c05c6e6843cf5d90de92bcd92bdb41f4279016cb58d4c94bf18b0203429ef5f94ba7983895492faf1582c9ef6e54f483d41b1d7c57f35ff4f64a856f9c325d9ed97e3aa571ed38f08e6de4a9a65188ffef17f4e2192a3e129c5e1327bc13ff8de1768c587e2bfcbf3d08e00838beb3bf077c98d456a78ed43d919d881ce39b53d8ca3137690b3cf89c8502381704e8c11fcea3669ccdfe4067329a292c1d6fe7f1b4d017e13da719b3fc2b5a9e80f5f8fd7fa270fc62b742bc56cf6bc85aad06d1beb1469a5b9ca42dd848e752b1db3f04fa4d9a53a76e000dda6874280d11ae25711409895b2af852a7caf82f1f0c85cf28c3285b39b0057895a425d3b8880480f32678b3c6e305e3ac4f53f80a94c1271bd51871cbe570cd7cb12f0dbf5cc40b758334bb28e0f1e5a5d8d1597b0e5e04e5c3e0517078fc0c2477cdb6e6ccde3bfe0195800390a0222646e99a74d53e8557e3300a37cc92d3ab3defbbe580d1c75cca062a1a897a43d544510a4f85261fa11adf6e17edf45095cc36611a1bd5bdbe4db4e8b4352abe49ff288efbd8df656d911002dff334b6ca275ef96da4c80d525fea20c636fe4bc353b24521086a9a145a4698af3227bbd46a21173512bc842acff73ba576faa60c6c9a6fca7a10a6f7b03b11502d1939cefc126112efa6b8ff5b8a32eeebaa5498e9aa9c74293ea6b870e4c6a8b9f074f89bf856a6aa146676b98a8de936646d9bd465373d44fb41bc3cbcb32eac92e201e233afdb96519bb2c6ab2393af638498400bfbb15cdb3a008424cccad7842b041513c0f6569df111f53ce1026a6a47e6985dd0c44a30187dd09c702b360313b90fb0a0c9faa58af3b036ff67d89b25808469bb0dd9a861ee1822eaf3567af545e886e00048c0dda7e9a0188db703772a853a8b559dffe0cb2a95b848b93b6533b99b5aec9ab24da01312fd4bc071929b63cdb0726d83dff24479145ee8d34c5efb1fc634bee9d1266cd862855e7f309bdca2efdae41a391d0f16aeca79a48c4384798dfb1e42ead82f29364e48b99e4bf7031759e3ff756c65f858312f42dceec205c7fc6c1ae386c062126dc26dec90432a794cafa79418f7a5fd353be2cb2cf7acbfe43426ba0302c7185fc2da6b2ae944f58b0aab4be94d1a5281a3bd3dfd0c68091d5f725c4e0a1d7ff7c32a2bf5fc3432cd7c15c6b44a50669107d30ffc0c7c1658d8cb234ee68453532119af530cf7cb459b11b1600c31f2e4d89607d6bf922917d1e52de512d34bcbe53c20ce273201fe5e5db691983b209189c327eef83c115833d9edf260baa948e8db51bc2d5400301b200a30e02d5ab9de942cd08b2fa3314424e0a9f87e839dc92cb890bff56f5b5ace8afbf5dae04079bf04fcd23dbd0ba0a1c876d1e7dad3e537fe8b6c137566da83b08be831f939830f73b5aaf070bc11e151c54686be8f2f7b1630910736c057063f4dcd590154957e3256c15a6f8bf923d25410335b642fe1ef27c7576729f4eb1e6a3e241735690ca9573d5a57d531c3aaa77380094e2bf846279798ec324c063acd22c0c629e83822b7ee42eaece1e29c804ec839acf5656ed46143a95b541a77500b99b30fe6031b9186bcc3519736d4781b2fc5a2485d3e47d2bb4375e30be5b219efae1340103045e1e838588c5f6fabde793d8b0bd1b9c04cc9006b885c57be9ed0d5df5bfc94517cde1dfae5a613ca77ef852354f424a14a463d8ce9b612f8cce361da18ce6291279005a82c2876749c1e58a753e0d99a376d934afb917cf30c8a20841f5a6bb816c6f000192833c39ed57db9bb259ae7735b62de4fe1d3963e6ad597527bca0150673be5ba382c9c162fee6fc3c61a1ef9b13553963240d17abefdd518bc2573914552857cefb34d8374726feef748a06a44a44bd4a720009fcbb1289108e7182d5f95484d2f8cfb3f453e9897d4d865e2678f8a9485fb84363c0d758fb09256711137ed820e2d8a2713e985ea513e04e67c47de0ce31011926db1795f865a3abfebc892f84f59ffcf89d7714d7c163c8a24b5a47e5313b9fc451a455e0bcdc63c5311d926bb9b3e42e23406f90b4fa1493813b91c97162ffc6ad45dc96cdad433635e0f7207ab25dc18bf5716399c89d3298e53f5d2ca0eafbcafd27a8bcfc1c658b5c724e993ddadb5d3195f7106991c26f71b30236923e0e99f4c5de7f62617169cb703209bdc04b1f8aeb41b1c79f6bfb296b4452422770670581ed8c2ec5ca6bce5f55ea922c94592e30d0737818716ac3d192d6bab7f7cadf56f62acf390db00b62d267c76975e5ae0a3a749882f642ffc5e8c6d4a543099c406ca3b99c051e388be66ea0bc781a03d577ed859bde84b3cd890685bae4e49428283b87b6f4e5189a1a79a83919babed71a5adf1d3ac1e0499231c8cc095b3cfb96033f47f6501a7871ad3528235e20fbacce03f19e5be65f3ae1ba6c7f5f22a1a049cd66e1c99baeff11f214fc21d2cbaf7b4bd9f86e9410b67b9b5158a2bff77568f7e720b721ab3658e9887ed47bbb4244c0c8ac6b44e137c9822ae83952f05f3c283673a21dcc143fdd103761cf4408289406c44a3767d262968bf769c116d26ac341a0c57eecf3ab9c030cfadc438e8630a49eff1b8776251b5bcf9d9a23d78cf4e488726c5555cf10a80ed36691b0a5a204f03b940a7f0ccaae16ce5bd6c6da899ff5b59da347b28837a42a05d9a20e9255af5a589bb0f4854bab556b8e97cf279af107db81c8bedfbd010be3849db2412c0038a2620c1b82a5f52c43ce658cddb4168e46b34262e4bc20f2e4ba481d6266c0eef963d82af099e8fab61c04d23614041d33074112842bab17bec7b48198342a5fa969df002a18f013b6ca3053274995819d1805557894efcfb797b8d83099337bff06dc71f7add922295c771ea886fac9feb09bebaeb14e28a8e3a55951bbb7ae33e73d763fa4bd7c3e6511b66cca3ca44158e185bf5716eddb25af9a08f5da8504db18949598ce0a2284008aa29530fb726921b4fff6b900339134401db754fa256e8ce70e1f41029944111206146dbcacc7143dcd16cda1ba9c878e7af49a1f20e2f689d9f89ea9abf366d0d35dc17dbaae8642201aa5da863c010fe89905b5d86e578375d688e062d9ae6cec4edc0c9a75c9d484f88aa4367d42fe0ed3f715542e7a170828c6bd33515d02b96785f97ae0d179e668b4ebd02e0a896e1498b7eabd0ec7cc680f4040e6023b378c1942f9c4e2883a44d3aeebd1240f70610b76cb2f49cd2282ef2bca4d9bf82026ea4ef470b412991b0bfa1dd52a7a1046e1e129389155582e1170c9482c72bf3384535c32f92f8b3bc58f47eee05c8f6439d1b5f7d47dd617fad6e4508da68228adfb313a33021d146c49c565c9c1534f0175ddaa33a3dfe72f0cf092ce5c77905972c63aad69f845811046a16da519ca5ea5237e29aac9c4808fb78c064ad01ab9190c148d928de5f37bed3a799675725ddc0531d3a19eefb73ffd5dc8f6f4700b710b2d3d682b83aaee72127e5071dc8a71171a8194829bc6e57afd58cb9d048895b99be0024eac52cb96d560ef5769c1dd952ad456c591be1f7a67fd32245f1b7438b37bed84ce74f3c4dd99436738c5bca505df652d3070177d505d01c486ef51290d922e8a4274d4e5126bfd5ee015e4b1cc9aa4ac8216c21722a7608f146315e86a4b16800346cf377dcac5a6ea922ebc3c3323487b4f7c5a784107a624e6d6eaba4c4d11c5e7b16e9d28bd40b6a4ac020dac2baff63796a53d8471474d18ff257995e2552d10d7ef96eb20182e3e8d5a03b1ec0db5c2bf765858d970556e9ffd0503e902e0b25bb466270f40aaa0bdf424a8232a5bf015ffeec51c2ba66ecf4626e5d39757f0ead1329de6ad496a31df97154c876d86433284258465de9836382c584eab503c8181018bd2bf3823a977af25b9fbec55febefda6344d18e77b8c1b6df4716a6b445c7b77e5cc2915f4e29036f1c30dafd6cc734a859244455f326fda645db7d4a795bf4e6bd5bb9c437fa3249a5650ffa72642152464e3da8fc48245810d606de6f121ac157527cb4ed3f632187f904486b63ab90151c02d8bf29fc46e681b293a4d7e88b168b19ab20633886fcf01f1b1ff099548e32b04981db6204546bbf1556bd0b894b7292e4237b7ceee11669dd9201c08ab539d829bc053333c27d24509ad56b5e73ea9272396d282da01fdb697ab410daa37eda6d1f82827c53796a5b67bc8af186b2c1b4b7a79cac4bbc763e17da08e147607bb316b8c000d91087dcce4a0293f4ec383bcb561d721132cdff30e884c5ced79512fbd0441b29fee68433938931ca6aaf5ecac60bd0be429aa69a225726b56d89a202220f862756dfc21e94bc4bb621cb55d7ab4045dff249d4fa4ed8beb6f5d5055df60a67346a91c967c86326c8e26c16fba99d90a12cc7fe74dee54d075919c04014fe3b7e6f38408644f7e213a167dd291d205f29ed833a68bab804c385803c4c0986212b143d5d7c46a06f429f80fb664b85bccc85d7e0877133148a81b3f17ad83cd4ff25735d557eae1af96e6cb3ed7f3767bb8774e9f82ef5e5b0c258011dee31f93a0e8ae2534d4fe4e60db9aa9dfa554d6bc6f2d4bf4ff3af765842c41c40f5c1ff1cb9f527769c0a743b59415341d780dc353c8f4253c799a95bd6381c1b94ad901c687945a35978c068d37465466276c0e90046831fe54bfc214793b1292335563d5137b9b400b1fb5c1097ab8376c80cffbb12fa50fd0299afb53ed89d203b0ad3ba61f5030c04b239306c704051aa1609ca8db9323ba7f8575a24d8b288e4b757e11dc63c5d420fa8b857e943840a7c495c9507cafd510657f76b0426c3663aa7380c866da175608d49c8368e532b962b0eafc1ad98f6bd70388d438aa39692c35436f2a2329a7707469120ddf9b4ce036deeb0f11ec3270c372bede9c62df97e2b29c1e0aa1c70da7d786456652ee949299ae2ec91de2796474b85fffeb9b92adc4981bac93f12094c663f893fe6d858fa4bf6e7f141444c55054686759a0e0095d764ada24b843bce0fa5344934cd6b85d33d567e0cf7aad5f306e7b2c5f03b3467f31e016bfecde60f3b5dd56ee1cc6b6911b2a55812770f27507b845fe894dc895cfcf4e1eec1eb7084f60f416dc8d2f", 0x1000}], 0xa, &(0x7f0000002640)=ANY=[@ANYBLOB="f0000000000000000e01000003000000d7855f6714a8f6062cccc732420c458e8156a25dafca677040b8b894ad73b3f393695a8b5b997d7d52ec009a912c725ca4af1b6acea0770ea003b9eb5e0287e8caaca1414450035c78fc1db18a3dade658c484e00f08139ee3532f7efcc62a0246185d6187d1999ac0ca2b7d71e7ae18ec543e855a9af5bf921e9913be6551bdded90b93c5abf708af20727353fcb5c62ce493605ba1b3b0f4026adfa97a764ab2127d95ce86f417bb1b7387577192cd875792ede5845929400705326807513a1bb0a0578499533f8d056eb2f0a334cd683300df04658241e900000000000000e00000000000000016010000070000003bdc3b6f7f579c9a1e4b06e1c46b547109cac03c5861d5466878ba47fc2e473edf0645e5e3f28ea6d4aa172475bea62440fd063ed82931e3bb22a6f38b6d8f8aaacf0822c0eafe5c4217fe01a90b57dd029b5751eb669ab39695a3889010767c2ca5d25705a783e1117f81c6625e5c32f7d2548874b5d583d33ff73ba11695105f63bfdb5e9cdc29b83f25fa50d3e532b40141c0673d39e4dde6f8d9a31f7f912353a92425d409dc0a1055aa49df5f73bb1fbb0f5b75051d3312affa84de2eaff1f03bdfc0dcec7acba761866ed95cbde8000000000000000000000040000000caa10a23f2bd6e78c400dab4f25fc0c2bb39a1e8adf117757cb85c98ed179d01be7dd00c80c4472bb6575cd7ae7f73cc527a7e426f8592d45906d892b2f62ae3c1bac43a384200926fa7ce49dc9e27c377b12279fcf5dc2a563a298c244aaaa1cffe75877d2f88e4b3bec4963b2abbe9b2105c37e9fcdd79eb7d0599c45cfc860ccb2d9ac7ac895943aa7ba0aaf36e825b6083d47a6662c89a14c10d11ce855a9de7bdc447a096bc82805982606e8754c95bb4407c07c5df8485bdf7b8f2c029cb301b175571d62cf2188dba2d718e4d7fbe12533dd4760958557e533aea5fc4cab8b000000000000000020100007f000000b80c2218875893b6a871c0965349620ebef904dac2140c6b7792d164cc8636be444064b19d5fddba7d0d0c12c41fdf907d8db32d0be39aed7258b07da1954435ad59e91f259c2acfece9cc632da31130682278f71fb9c23c8128f5bd7f64f81411f679aa9075795fea2389f76a194cb220bc9b2ad276ad01b1e4ef61df27517afe95481bb75ba8db7dc77e770a03ff548be2b2c9ce923504d5f0cf89b45ae198101000000000000084000000030000003ec0f2603d366488e8e1bb18f0e319643b6bb1a39e62dbbf4c45ba28ba95b729f2fa18440cfdc14ddfa284e524372a6bd30ff34d8163c2c84c8b1a1a739788d52e9b24e4972f0de69f6a24ad06d4691a92e866f5cf668f321cd05f470a9f74bbd2fa9cd12878730c9497cd5cdb66f69fad61ace859c1717ed463779f3dc4aa9c8c2137b2b9ebbf8500cbeed743baa076e7b03144b103e326b1d80214bfa4fdc803f95d00090054696844952aba5ee29be351415b520220a40239d40c338ee3e3af6497dc2266de28d30e5bcd81a0bde4fc5498753c3f708e355f2bad2a9f6072a6ab9a800fff6b150ac4d414f496f21ac93df5da108019d20d68212a6ae38349bd2104339c501da5f8c663a91aca190faf007ab69a7578651b58898a62cc824028b21cd41c9a57b7e9a280e4b5dee061cac2f98dcb892d4a329260487b6062e655861f4f846a60a04237081fb438f4845c3a67517f5fdc963fe2149f4db1c8d89ced49e9c94acdf1fab6e420541c6dfa166fe159956f183c6848d74a64a0467a256a5865db1aeb3daef07acc1114f19cb51adb652348383f44131e2cabbac4f9cb66036c2f10c8aedf76019009f9b0950678efdea0c10c7682f09c28e162cfa231369aa36910fb257ec54de077aa20b4477ceace9a67a643da716d3987ffaec9f6c1737806b9cc23bc4142c59a9df811f04841dfb5bd5954353061ffe3e07fbf7df6e0060a78a291c92c21e466ec0c79073d86fc47ae47974f893bdd0905eea3061a19c769ba311490edce368b14b071a207d96e4e1a30a0d3a1fd28bf32a65ed9d4c5f8e2566bdf140025964d5150316f0ae001e7978fccfd13c02042990333454e9ba488e4e8c578fbfb0483661603444e91e84ca5091937b5de9eb60c4560f42eb4ee5657bdf7deec2efc828f0c198918b8dac89de237c8c80aee649aea1f38d9ff7395312ed8a968c0250115d456e1325bd3d3be43e47e3ebd0c307eb5838fa349175614cea10e504d788fd7027c04de1ff465db8fd088f5648aa52247add67f2ea4b95aeda70fc949b1f3277596792806247ce9e07dfcbe55026a9765fc0b4d484ae00927c199ca5b1b5dc67c6311be5132082b1da5cb9e38557249cfbbdd9f19a96326d61ba6ab56bd7ec6e9ebf79f905507d9496774bb9af9d6eb86571d3d87e86eba303b65a7b5f1beb24c709cceafd579fb287948362a8f7ad19b0e53743d7d52043d889261bddaeb5ca8b333bf0535190149031d01855dd005a73eb56123ad83a45df3bbb799947d966e1022eebc7f7783a2ef8a3f35a95ce475629fa9683c44283e246fd1e8be27581f465aa02b7ed271c76ebabd080ed6c9ee71442b1b251da1b03d9a625f12299d78ccf371fcdf866f5036e9e59ab118d55228e75d43fa0e50183dc002c2759f96bffcc7b2e452ecf29931ba2df5f56cb72141fc7d9535354497bff3fe4f5ffc1b2d6b74fa2be90cec80a9b236f33d7e2c68ad9aab62bb4304509c6a187fb0ff92fe1737c86db4100969b08c13e4ddbc2c8fe0ad6a18960ed3fd05a8b6813596cffc769f5f1c3da6c70f656bc6a699d23e72ca667cd5b94e1c8df2a6691a917c864aa24bda70842b999c8d11ce3ec6e0daffaecd4c876ef04b15d9f0ec381071817749458ed072c8b3453095b9df59c624f548e5e8e79ed5e363b6efafd583fbad16e56c80aa4fd4d4f53b382ff12a572b8c6495f544b362ba363f69b6c28b75edcc33c0d51368ca27bae7f27900151f6ffe6dfaa75f533644672f2317e21d4125eedb419f370b97f188e005cbf1260f89b6f7d6c72579831aca439a7b53f70b410e0273585169f4782816feb10b7fddb19ebd0fbd1182fdda8e8efaffae821581a96d8cb9a0c896d2d4d891cea324d2473fd596666c260efdb17979d6c5d80532c20908b38f947fef51f9c4feb9ebcdfbcb07c3e8a9fc46cd88a92fc7e2045f4ea18389b7afdee46bc15890dfbe8cdb4b4227416583d3ab02b54239678bbc8cc9c5f74e5da18e483ab389958be50ffcf8d99586cd773e2df8eeaad74aab9e0c1294911794be609afe5cabec1a3f4f5496bb6a59a9fefd54125c889cf50add8700debf239a2b5eb5acbd5441ee1493911c2b8195e383970c281a769e8c0d7eac8e7f215bb726d7d7d834f26e59c13e01b6878e85a9dc7c34d616f7b2ed8a187f2ed010970245f7eb4a888500a2892ac0fab2522e8f7d6e0aa5b6c2785dc4341d567d912e0c9c98f24d11777494b1c75767aa90cacfb3af19ae0f94db544443bb914307877bb85819a82e6ba66fcb31902673be869ee9c4d817af45f8135db506fa674002efd1b6e9c7773bdf22046031c8fc3c2eeb72f2e235072b710f8fbe1eda627aefaf1993dd15b342561d4548e91ca9726166f3b06245405b4016c07bdef86e79f4a30a1d053d5d5a707ee47ddd7edcfa0eec4e0c7c28f0021506abbbd69f380744c92e2997f0a06e57dbbbeab787afab0bab081ca9ca86ae4079ff85140966701065564b4a5158af2f7ee6d3a2a1d664094256fcba3a8f24a143dcbceb189cf30e30f9b15029114e27a318e2430b936506dcb5a8b2228af23bc32eff178d2e732842f74896c48ca93c7973e4a31bc378398e5fd3dd5a7d348f56b1f2ec4543eb3002db4ba0a18f1560cc7b54cc72891aceacf53c73e3ebc9e7fa67d7739e29e717d707dd3d002daef703923b66a4b776fd1372ce917756713a8da419e2da3588f5cfb409c5b70d99fa153462055eaff9e05cd528918e8e2d181cf54a7aab25b226f1fb73a0b33f045af9018e77aa0032619ea051eb8ee68d21538244cb7f0165b2bdca33783d8181e2d392870718c77a6cc79dd92c4c33d9d5e39848b37d7efd08ad3951565d541b3a2589fb7dee9eed3d88a3834439fc30fada1df2e63633edf9c7a3f0fb17e67b3ee0933053a782f59d0c2d4dc3adb2ae433181a0e221cbb600313a6a546f76cbe14f56c01b420ec356acd90470b03a2b3549f71f72233c1e30606537ac114ceb8d5195b3a974d3c8950d7e0f21b6984103eae4fb839d82201c14a4e087fc68ec6b712427d125f1577694461182f3c3a60bbc38b091e436e6829aab641ca2efca06ec54fc818c6b0057a97ecdb8d54ce8ee3f58f0f44965367599b4efd0bffa359ce34e8670ee6aac500fb6d38a4ff93717b8ae0788deea032233548a1862c9c5b026b3b30cc7bb305125b0ad688068f2917292b1616992b629865b7befdf8e89f61a2b81655df0e064fc5d9b9696b99431fba168f4ec68939147a6a9c0a2946caedf58fb71c33041da47d41f19ec1afb82ea9c69d08baec7bfcb36c43e631b0989ff1b392791cdd662094de435da1eb645e0d56bc982b31f29acf82456c9606aaa1c1d99c049884661865c20723b35ed2f6a0e80cc4568e2f98ebecf393305bfe51ccc2807160388fdd2bc560211eea4af9a703bb4ff981a9a6edddcd60f9cff1f7ea0dccb555d6f74e26e89be99d77f21b8de4141c4779b0232f51e6e48eaacb5699324627d6433e36ad628d2bb88e12f03bbc1249ad5818358ecf3d4b8fdf03aaaf315ac4055e8169401e5016ed40453553f968d4250b1ff052e7564761a6207c6d4980f10637313ffafec097d0ca6a5ec65a52d8b1016d15f6ffe4fd59b138e32891812f51fca3131999137a62fb6bf3023237a7229e3fea47a4d5d9a6efccf1571a38197061b8f5da56211713df1ec2147cfb7a58ed6839b5aa44189f558dbcedc5359686ff0a7cc303c5d52f95b44c80f03cff337810e0477583758b774cec29b61284e3a05ee26dc827cebe148f167bcae4ad2cd03ba373d11c678dccff3055a8c7ec3c2efc673734d8d103ad249179d13ff08748ecfda191a9a0b8565d1b66b87b5158d0da9804217d5078aee969a6417c2e59e8048884b5d243ba7f452532b8ce616f24c16ca696fe7985f09ad735a85fae227d783c2f81d88f139daf0a851c122f942a75b7dd2e74ab05e08a15fb6c8e27447d80dc8ee7fac04b3a98af472d693973761268732fa4d490cb3cb3d3a12f6fdf841fd86bbb1f4016cdfdc73e42feb36a27b08af52e3cdc58cff6e61c6d30c144e2fa1ead895429ffb330b17a2ad2da785f3d2e137f03afa1e27537c36d03fc2fb00384d76f0def2bfa73a9cc380c7003411c9e224904451533a5e6a2c6bedd615fad125eb1ae698f46a470ca0e33f17a92f0d071b72ece42f21b0c870240e31e3eb9cbe97c916ed7be5ee66b15e5d884ed5142cfa8b55cff9b4cfdf3738cd1ef8869b67507b4adac7700a62c26c2ec56e9b5304df4e6e13df568fc38fe08b7f308cbaf3a6407e83987e884d4f26da58529bbaf14bb7b760715b92cfe993859a9545da509c412f355c14723584184646a82b42e3f0c13b35e6e2ad45b597706919bbb9137b07b24b3a475ebe52e7524be50fd5fe6cbd20c905c0351c0a72723be7a2803624b659e72894c543fad6e47088612f51d7e2134e46a12071bdcf383dbe565242df87c6d60eac5adc9548c65f8c2d32d1dfad970ea87fd85ec03df2f0e333b6442f812ab24d224fd00dae02f4f1a5577787fd8c2389e18c8fdc5788ceee2ccb67ab5dfce23d0bef8c1cca8d7e228ab8ccfaf51c1049bfadfd6a815194095cda8c8431e40d44c7776b415f860824e6ad77e9cc672b23b8d7c6110d3efcc928d29016a6c64be2d35cea4f0da34e6ef6ff2e413451b956e19625614e2f4ee62276d30be6c23cc54211fe579fa913a73ec61d677248b923f3aed74d46fde4c7f0b48e4115fce32a3836d8d29bad62b52f852382629f1255e7bab9444dca792369d1ce1cf4af5aa3f66886dd2c6bb5e3421f531d6f67b8f0caf37c0cdc4b2b4896291dd083e6c6f7d19593475167709ee4de853c2dd0d289d9ea95ee8b46bea089b3ee83d4ae04ee85f3bc8dac73956bece20827fd47b7b2bc8416a41ac25024938f2f0dc99c885795f82f3d09ff0ec1c00e0358e6581b099088265c5b8d897e5ad82ebcd9e8dcb7835c707e318186a6d33fff1cc9833747a232a3d62f369c02f50c9992cf655c966bc578aa5025e72cd72fee03028bf66d929ccd0f5d3f863a0bb497f75822cc9e45474784bed77d24fb4e715f61b5bbf19522493624bda19a43a51699b24c0f2a2d5671437c0c6b801af593dcaf28db3ab9fbc6b85d1bddef70222c6301e63791dd350adf1ea61d15dd5a1d85d45520b535c6521963c701fabe93bc954da4c4cc620078945223f4578b7919df0cb9cca9a5174a2ab7ba802b57f75a8cef790b1ae7983d7c41d72ccd768720aba49db4c423a2fd2f00e75b38ec2207bf81e4704b77ff7fed888a4bb153e467112018e3297706b6fe7546bd651302ee8b1ebc66c8646d1d6f23bb19b6b12cb8dc54e8915b90e21cae712165ba5c176f81477bd05a97733f51d8232841596d94961ef3ee3d22faa1d0331f1314f73edb4c00e4c8015c1eb8989cdb6111f3d7af8d14686b8b4c43b1c8d553e0dafe87d3a3436ff983680064a9bd2de18847ba8fe300de6fc801f4677e8178d69352ab0c39a3fb0baf96a34bd35cac8ad4ef9e6460b4ba3d18270396590e6c8c3f8cb1660348101a63c7341df1c2776e3fc0dbfa2edd07c7b77b394ebe9237eae50b19ba2fdbefe305df7de9e6d81a70b0b17b7abd2c01cff2d5a0dc8a47bbfb959f44a4145afe40ab2daa802a9ab5cb9d574040762639d53a3ef40b5b38b4d3e1db71b5ebf8e610b5bf0b4d0866e6e5a243993f1c5bf1463fb2f95ca9b5e15ba26a9faf8c8b58d6164f4d70c822078d519d280000000000000019010000ff7f00002947bbd1897a5e33a74a84365138abcf41e0d32300000000280000000000000008010000fdffffff25255abcea22948975f01fefe8bdc1e24a5cf9b30000000020000000000000000d01000001000000d693e05a2fd7"], 0x13e8, 0x24008091}, 0x38) [ 1490.384209][T19634] dccp_v4_rcv: dropped packet with invalid checksum 03:37:58 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=ANY=[@ANYBLOB='<\x00\x00\x00,\x00\'\r\x00'/20, @ANYRES32=r2, @ANYBLOB="00000000000000000c0000000c0001007461696e646578000c0002000800050000000400"], 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff0000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f00000000c0), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r1, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) r2 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000140)='/sys/module/gspca_stv06xx', 0x200000, 0x105) ioctl$DRM_IOCTL_GET_CLIENT(r0, 0xc0286405, &(0x7f0000000180)={0x3ff, 0xf20e, {}, {0xee01}, 0x4, 0x8}) getgroups(0x3, &(0x7f00000001c0)=[0x0, 0xee01, 0xee01]) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r6, 0xee00) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000100), 0x210000, &(0x7f0000000200)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x8000}, 0x2c, {'user_id', 0x3d, r3}, 0x2c, {'group_id', 0x3d, r4}, 0x2c, {[], [{@euid_gt={'euid>', r6}}]}}) setresuid(0x0, 0x0, 0xee00) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000040)={&(0x7f0000000000)='./file0\x00', 0x0, 0x4}, 0x10) 03:37:58 executing program 1: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsmount(0xffffffffffffffff, 0x1, 0xc) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup_ro(r1, &(0x7f0000000340)='cgroup.stat\x00', 0x300, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(0xffffffffffffffff, 0xc0182101, &(0x7f0000000200)={r3, 0xff, 0x1ff}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000000)={r3, 0x1, r2, 0x2, 0x80000}) r4 = syz_open_dev$audion(&(0x7f0000000040), 0x0, 0x484500) fsmount(r4, 0x1, 0x86) open_by_handle_at(r2, &(0x7f0000000140)=@isofs={0x14, 0x1, {0x8}}, 0x0) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff0000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) (async, rerun: 64) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f00000000c0), 0x42, 0x0) (rerun: 64) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r1, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) (async) r2 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000140)='/sys/module/gspca_stv06xx', 0x200000, 0x105) (async, rerun: 64) ioctl$DRM_IOCTL_GET_CLIENT(r0, 0xc0286405, &(0x7f0000000180)={0x3ff, 0xf20e, {}, {0xee01}, 0x4, 0x8}) (rerun: 64) getgroups(0x3, &(0x7f00000001c0)=[0x0, 0xee01, 0xee01]) (async) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r6, 0xee00) (async) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000100), 0x210000, &(0x7f0000000200)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x8000}, 0x2c, {'user_id', 0x3d, r3}, 0x2c, {'group_id', 0x3d, r4}, 0x2c, {[], [{@euid_gt={'euid>', r6}}]}}) (async) setresuid(0x0, 0x0, 0xee00) (async) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000040)={&(0x7f0000000000)='./file0\x00', 0x0, 0x4}, 0x10) [ 1490.526609][T19680] ------------[ cut here ]------------ [ 1490.528273][T19680] WARNING: CPU: 0 PID: 19680 at fs/kernfs/dir.c:36 kernfs_find_and_get_node_by_id+0x19c/0x1a4 [ 1490.530851][T19680] Modules linked in: [ 1490.531822][T19680] CPU: 0 PID: 19680 Comm: syz-executor.1 Not tainted 6.1.0-rc5-syzkaller-32269-g9500fc6e9e60 #0 [ 1490.534502][T19680] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/30/2022 [ 1490.537189][T19680] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1490.539233][T19680] pc : kernfs_find_and_get_node_by_id+0x19c/0x1a4 [ 1490.540877][T19680] lr : kernfs_find_and_get_node_by_id+0x19c/0x1a4 03:37:58 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) [ 1490.542530][T19680] sp : ffff80001415bb40 03:37:58 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=ANY=[@ANYBLOB='<\x00\x00\x00,\x00\'\r\x00'/20, @ANYRES32=r2, @ANYBLOB="00000000000000000c0000000c0001007461696e646578000c0002000800050000000400"], 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) socket$netlink(0x10, 0x3, 0x0) (async) socket(0x10, 0x803, 0x0) (async) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) (async) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) (async) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=ANY=[@ANYBLOB='<\x00\x00\x00,\x00\'\r\x00'/20, @ANYRES32=r2, @ANYBLOB="00000000000000000c0000000c0001007461696e646578000c0002000800050000000400"], 0x3c}}, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) (async) [ 1490.543540][T19680] x29: ffff80001415bb40 x28: ffff0000c4b04ec0 x27: ffff80000c11f178 [ 1490.545481][T19680] x26: ffff0000c4b04ec0 x25: ffff0001295b5408 x24: 0000000000000005 [ 1490.547457][T19680] x23: ffff0000c7d39200 x22: 0000000000000005 x21: 0000000000000008 [ 1490.549431][T19680] x20: 0000000000000000 x19: ffff0000c01a55e8 x18: 0000000000000000 [ 1490.551451][T19680] x17: 0000000000000000 x16: ffff80000dc18158 x15: ffff0000c4b04ec0 [ 1490.553470][T19680] x14: 0000000000000008 x13: 00000000ffffffff x12: 0000000000040000 [ 1490.555463][T19680] x11: 00000000000001b9 x10: ffff800012f4d000 x9 : ffff8000087065a0 [ 1490.557498][T19680] x8 : 00000000000001ba x7 : ffff800008706430 x6 : 0000000000000000 [ 1490.559455][T19680] x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000 [ 1490.561415][T19680] x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000 [ 1490.563461][T19680] Call trace: [ 1490.564274][T19680] kernfs_find_and_get_node_by_id+0x19c/0x1a4 [ 1490.565815][T19680] kernfs_fh_to_dentry+0x98/0x100 [ 1490.567043][T19680] exportfs_decode_fh_raw+0xb0/0x368 [ 1490.568407][T19680] exportfs_decode_fh+0x50/0x80 [ 1490.569668][T19680] do_handle_open+0x35c/0x574 [ 1490.570776][T19680] __arm64_sys_open_by_handle_at+0x2c/0x3c [ 1490.572211][T19680] el0_svc_common+0x138/0x220 [ 1490.573276][T19680] do_el0_svc+0x48/0x164 [ 1490.574334][T19680] el0_svc+0x58/0x150 [ 1490.575307][T19680] el0t_64_sync_handler+0x84/0xf0 [ 1490.576573][T19680] el0t_64_sync+0x190/0x194 [ 1490.577618][T19680] irq event stamp: 574 [ 1490.578540][T19680] hardirqs last enabled at (573): [] el0_svc_common+0x40/0x220 [ 1490.580783][T19680] hardirqs last disabled at (574): [] el1_dbg+0x24/0x80 [ 1490.582842][T19680] softirqs last enabled at (568): [] local_bh_enable+0x10/0x34 [ 1490.585044][T19680] softirqs last disabled at (566): [] local_bh_disable+0x10/0x34 [ 1490.587417][T19680] ---[ end trace 0000000000000000 ]--- 03:37:58 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x40, 0x0) (async, rerun: 64) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f00000000c0), 0x42, 0x0) (rerun: 64) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r1, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) (async) r2 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000000140)='/sys/module/gspca_stv06xx', 0x200000, 0x105) (async) ioctl$DRM_IOCTL_GET_CLIENT(r0, 0xc0286405, &(0x7f0000000180)={0x3ff, 0xf20e, {}, {0xee01}, 0x4, 0x8}) (async) getgroups(0x3, &(0x7f00000001c0)=[0x0, 0xee01, 0xee01]) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r6, 0xee00) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000100), 0x210000, &(0x7f0000000200)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x8000}, 0x2c, {'user_id', 0x3d, r3}, 0x2c, {'group_id', 0x3d, r4}, 0x2c, {[], [{@euid_gt={'euid>', r6}}]}}) (async) setresuid(0x0, 0x0, 0xee00) (async) bpf$OBJ_GET_MAP(0x7, &(0x7f0000000040)={&(0x7f0000000000)='./file0\x00', 0x0, 0x4}, 0x10) 03:37:58 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r2, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r3, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a'], 0xd) syz_io_uring_setup(0x47b2, &(0x7f0000000200), &(0x7f0000002000/0x2000)=nil, &(0x7f0000004000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000007, 0x12, 0xffffffffffffffff, 0x10000000) r4 = syz_io_uring_setup(0x5804, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000080), &(0x7f0000000180)) r5 = io_uring_register$IORING_REGISTER_PERSONALITY(r4, 0x9, 0x0, 0x0) syz_io_uring_submit(0x0, 0x0, &(0x7f0000000000)=@IORING_OP_FSYNC={0x3, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, r5}}, 0x0) io_uring_register$IORING_UNREGISTER_PERSONALITY(r4, 0x18, 0x20000002, r5) syz_io_uring_submit(r1, r3, &(0x7f0000000080)=@IORING_OP_RENAMEAT={0x23, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', &(0x7f0000000240)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0xffffffffffffff9c, 0x0, 0x1, {0x0, r5}}, 0x80) 03:37:58 executing program 4: r0 = syz_open_dev$usbmon(&(0x7f0000000200), 0x0, 0x0) read$usbmon(r0, 0x0, 0x0) ioctl$MON_IOCH_MFLUSH(r0, 0x9208, 0x0) r1 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x412de, 0x24, &(0x7f0000000f00)=[{&(0x7f00000000c0)="03ff", 0x2}, {&(0x7f0000000040)="02", 0x1, 0x2}, {&(0x7f0000011ea0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallerzyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x3}, {&(0x7f0000000080)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000721f1f63721f1f630100ffff53ef010001000000", 0x40, 0x400}, {&(0x7f00000100c0)="00000000000000000f000000fa6d11ee34254e24a12e20d52e195fa63db5e68c2854ce6c0100000000721f1f63000000000000000600d1f7b7d31b0000000000", 0x40, 0x4e0}, {&(0x7f0000001800)="01000000000005000c0000000000010000000000040000004b00000000000000593ffd350dabb8a057d1400df0ceb0790fbfb8c9e4ef41fed453b903eb61beccb858ebbe5b14bb01b5539f40ac7a8b6ded8264ee0c2000222334b2dbfc63dadffdfd645b8053becc1954eb64dcbfe53e89684c30bc9350de23613cd16e452dd3809425746b3498b199b74b661fae618bfac62c3dc18a214ff857a79dbdb85187c4683fc18ebd1a89498266c406cdfca4c1e08751d1fa8e560d8ad513a2abd824f2757d44ca947d15c116bcafee901d92dfbdb4355eb7b8afc5104c21", 0xdc, 0x560}, {&(0x7f0000010140)="02000000120000002200000060000f0003000400"/32, 0x20, 0x800}, {&(0x7f00000005c0)="ffff0ffeff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531000000100000001000050166696c6532000000100000001000050166696c6533000000110000009407090166696c652e636f6c64000000f3c83b7e5729fcd113497e91ac9fa4acea86d3683813fa0142e8d6f602191da95b4310ab940558eea0ed131bab22b03783804e13ca980a971875b09b130f1784580ab15de16b33b797b1512fd71065de2bf7d268055da489316f7bfe2433fc3388b847a3d0179d67ab9221c23243ea5e8cf91ef30d6b370f692ac691bed6d788ea53138e205ac712efbf2763e55682f9ff78c86ea514df071f4e8a78c157dbaeb86bc809ad17", 0x925, 0x1000}, {&(0x7f00000109e0)="0b0000000c0001022e00000002000000f40702022e2e00"/32, 0x20, 0x2000}, {&(0x7f0000010a00)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x2803}, {&(0x7f0000010a20)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x3000}, {&(0x7f0000010a40)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x3801}, {&(0x7f0000010a60)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4000}, {&(0x7f0000010a80)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4800}, {&(0x7f0000000240)="000000000008000000000000000000090000000000000000000000000000000009c92f2405fb8b3643a4fbdcfe38f8753294cfe5e6436c8107421494cbfbca3b93012a21e4", 0x45, 0x5000}, {&(0x7f0000010ac0)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x5800}, {&(0x7f0000000140)="504d4d00504d4dff721f1f63000000006872757476696b2e632e676f6f676c6572732e636f6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000006c6f6f7039006e75782f746573742f73797a5f6d6f756e745f696d6167655f650500"/128, 0x80, 0x6000}, {&(0x7f0000010b60)="111fc0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x6800}, {&(0x7f0000010ba0)="0300000000000000000000000000475800"/32, 0x20, 0x7000}, {&(0x7f0000010bc0)="0400"/32, 0x20, 0x7400}, {&(0x7f0000000300)="0500"/32, 0x20, 0x7800}, {&(0x7f0000010c60)="2719c0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x8000}, {&(0x7f0000000200)="0200"/32, 0x20, 0x8400}, {&(0x7f0000010ca0)="030000000000950189ed00"/32, 0x20, 0x8802}, {&(0x7f0000001780)="0400"/32, 0x20, 0x8c00}, {&(0x7f0000010ce0)="ffff0100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff114f403f5be66348b2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02c92f49b06ee87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0500"/2080, 0x820, 0x9000}, {&(0x7f0000011500)="00000000000000000100000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000009800"/96, 0x60, 0x9c00}, {&(0x7f0000000380)="0c0000000c00010226000000020000000c0002024e2e00000d0000001000050166a2ed7c203a432db9696c65300000000e000000d807050766696c6531000000000000896a3bd8cbafffe07274487985c708a24ee9860b41b624423a7ed80bc0c8b23588a830aaaf0d07a67580dd05323e57a2f874d55284c47fbddfc483b1306a46c9504f0807cf0a333266e4d36c909ee7803e4283314969ec0535caa2b03dbc412e8fdca90259f51e3b8b2c3c4af6707763c0887d46493697fa5dcbb85d051473bea7fb89ca36c8c8c3442ab8793ed66b7f25bd5425bddbc0b624f6f0812102302d56d3cf73e7215c0d267ee639ed4227449aafe05f11e89d1c0bba6cb0b89f6cca474ebe3a5ea549f181d0ae9f4426f9c4c0e680c33111f42e8c6d456a6209f621543065b000c0a20c77521293da35dc6511bd77eaa7218b01223d9a07fb7c5cf82a", 0x144, 0x10000}, {&(0x7f00000001c0)="00000000000000000000000000000000786174747232000078617474723100000000000000000000721f1f63721f1f63721f1f6300"/64, 0x40, 0x10fe0}, {&(0x7f0000011640)="ed41000000080000721f1f63721f1f63721f1f6300000000000004000400000000000800050000000af301000400000000000000000000000100000003000000", 0x40, 0x11080}, {&(0x7f00000116c0)="8081000000180000721f1f63721f1f63721f1f6300000000000001000c00000010000800000000000af30200040000000000000000000000020000001000000002000000010000001300"/96, 0x60, 0x11180}, {&(0x7f0000011720)="c041000000400000721f1f63721f1f63721f1f6300000000000002002000000000000800000000000af301000400000000000000000000000800000004000000", 0x40, 0x11500}, {&(0x7f0000011760)="ed41000000080000721f1f63721f1f63721f1f6300000000000002000400000000000800030000000af301000400000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000000000000000000cdf5c2a5000000000000000000000000000000000000000000000000ed8100001a040000721f1f63721f1f63721f1f6300000000000001000400000000000800010000000af301000400000000000000000000000100000024000000000000000000000000000000000000000000000000000000000000000000000000000000dc348c9c000000000000000000000000000000000000000000000000ffa1000027000000721f1f63721f1f63721f1f6300000000000001000000000000000000010000002f746d702f73797a2d696d61676567656e323238303034313234302f66696c65302f66696c6530000000000000000000000000000000000000000000db84fbf3000000000000000000000000000000000000000000000000ed8100000a000000721f1f63721f1f63721f1f6300000000000001000800000000000800010000000af30100040000000000000000000000010000002500000000000000000000000000000000000000000000000000000000000000000000000000000079c0db78210000000000000000000000000000000000000000000000ed81000028230000721f1f63721f1f63721f1f6300000000000002001400000000000800010000000af3010004000000000000000000000005000000260000000000000000000000000000000000000000000000000000000000000000000000000000007f63779a000000000000000000000000000000000000000000000000ed81000064000000721f1f63721f1f63721f1f6300000000000001000400000000000800010000000af30100040000000000000000000000010000002b0000000000000000000000000000000000000000000000000000000000000000000000000000009dcb4e4c00"/768, 0x300, 0x11580}, {&(0x7f00000012c0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x12000}, {&(0x7f0000011e80)='syzkallers\x00'/32, 0x20, 0x12800}, {&(0x7f00000002c0)="0200"/32, 0x20, 0x26c00}], 0x0, &(0x7f00000017c0)=ANY=[@ANYBLOB="677270718a6f74612c6e6f6c617a7974696d65670c0000000000003d3078303030303030303030303030303366662c00"], 0x1) ioctl$LOOP_CHANGE_FD(0xffffffffffffffff, 0x4c06, r1) ioctl$IOC_PR_CLEAR(0xffffffffffffffff, 0x401070cd, &(0x7f0000000340)={0x3}) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) writev(r2, &(0x7f0000000540)=[{&(0x7f0000000500)="f8b247bea298d2cd4069de6e47cf36f60e03d95e3fcdcde783baa99aacaf8751d39a24da7b6a8f74f7c5", 0x2a}, {&(0x7f0000001900)="28b8ae1e550182b1e50e9ac9626853c15c0471f4e9417ac8319cc6cebbd37df8820461664667d19dfccde8b1658466edda3411885a21b70da4868dfcad76061ca5b9577f30a960979d00d2926e9bf069b5efa18610f9654988c3c5e143263ef20285e83828efcd36b0c9a9855260ca0fb629dc2c7799fa2052191cda2135db2b00b05c76cc24cf1f8acaa99c8f2339c77182b22dabedff0da8e26158766ac6d72fc120ea6bd13a82d1adb1100e48f706285debb886076213c47be348177547a35db54464c9e82de1de483c8a485a9be0c702a3dde87b8022b9967f68dd99e07939f5251732773a547c801f722fb700f5f48bc8f80ea7bb49e3874fdd60408f8daae949ab16b453162b256b25b553c31c52868ee77634730a8f24de521d80512dcfbc6f976c2abbb577147ace86e7d80ea3be93f25b45858215436f5b52922da0ed14c7c03c3907137a7e2104aafac6914ea8c428fab84e48e734b6a02da8696a1a699c9ec51536362e1be34217fc14f30e4a5f9704c87384c2a2162978fcb7bc3e47206174a17e56a4e8a6ef8d95cc6c7f7d2e811f65b220c26200f87634581f03fef1414f38678434fd31f2ac1c69486b5e78df67a887037395a3f5988c54c2f313576db194919601502b397923d4056ef5f8295b485ff5ba8ebc1176f8f5e136b0f9e2d18bad44afb9e687169a728abf2e1f26a32472b3fd639c708fdf6e2e97847fb4a6333d0d713df0d746292aebc0c1f77a193b796b53276db36714a0a4b43c07bb73626cb11655551484f4ad2d03fab522df2bcd54884555e4adf42ea84499cd97ccb985534ffdc62905ed3fdc273fe862e517b472a2ef75e7c65623ef4afdc71a2a7c69345681fe19088069c66f8c5d86e040de68d3f5ea9f1695f496f770b1a5ffd6667052aa537caddeea91f04fcf7b832baf23dc32e4536694b17225d7fd5f2b80fc4f2194f56e93679e0e0ea485023bb582ef48f9de7518eb0e6bce5496a1cf34de37cd1c1bf556629b0bebcf3fcf06abb4e3af1e2b4d6e554ed5b6cb6bc54d2a68e9c0642a4c35afbf6764e9dea4d0d199552610115df1dd71a14cdf188bf7dda64460ae73aab987e6978b833d05bb094702895485074d8ecc87a10425c162461d58b38fb2b50e03f567a6581aef36f484254895bd33ad646ee6222912e799198049d5a7b8849caeea23330c91db3e870368da9fda2769947ae9c671eafe16392de0980e142b3a89737575d9e43e4e9d87f95835d41b9959ae3983de24cab09cf6567d4ec47086eea398558b630deb85587bb3c105a60fdb7ed7a5b8100bb48b3e2aa1fe378f4e2d25001bea00f71779c8e384d7352216fdd1b878ab434a1771ecb00b2c3bf6712dde1db62deb9b6943b9a0d9e44593f20d1fd9520c31b471850259cc550eb8e23ac1ce52e44c8a2aff4b2a4cc05ca1808ecec366562a2edd3755cd525802be795a26dc00c5bf7f337ee11ada04a40b360e49d9aae3f0ee9a4d9f4952b58dfe2a21933a7c9a2e8009c13bd8e66fa129ae04e52c18a03aeb7be33833de2f1cd4ce20ef2d15424fb50c0ccd7dac711847640adc82a7b3c1380f7c9574a5cb77205094803babbdec033a8fa4800805c27c40da2e28b17d9458a0ba4f9d4eae4959104686b233380003f57ef07e9cd2327165b596e73122232fc670d8a7787aea0b934eb7a6178e1bf62368fee11917e5fde6711c6ffde2042a7380ad1f6582f13da37fc34044d631238bf6dabfa6f6cb518b66c3d68e67d3eb71cfb30b4a2d60f371dc9f0f282187b4df20a8de8cb1a9744c94ade7a55044780b264f6cbf412eef081e9ddd67eb5865e45f279ec631cd1baa88c6f43097668fb411b6af36f5fafb6ed21935a8eab2f79a4e314e687d02fc5479f74a06e75f7cab72abfc3c11bbd7d86e6c4a15f6440bbc14395f43f08c0eb23fc13b0d2dcd4793b2502e2c201cd1cf4aa26705e4b97c41577e1ec92bd2c4ae1d1b213fd17e4e4a58e75710babbd0803541d580cb6dcb4d24df97330ce2f6be7e2da9dc45209a1d75c7c5265457ce1f50d8caf4c3fd62b7c9d9b34752a2549f0e387d18018d312f504996ef2e421f875ae79249e22052c8fb7a06543a9d8a9752b9461f69a1e2bf824d570d6a6752402ffe1861f274bf70c94b67cc50d36fcef0b444c8392d3b3f1e4b4addc341f8a17294c8d1a6475bf1d309d344f46444ecd9d71588ab3570d7d01033ca02273f4888a67c221c32d0d26db190937c88ec088dac6b41d99e247d9ca8fda47635e43715484a2f5272897bf79cf8bc98b23c65a731d2a03f25224311e28cb846af0669d81cc200cdac00c675cd2a32d12b53df18244d4bf5d253cae0a0d0d3572afde6425898bb6e5288108530cec7b1e36ad465615975bab6e8af8657bec750e0b017aeac42ec2bfb2ca6eaf374373e9cbbd9fbd27f7eb5fb0cde4c3e7f7ebe72f3e81f49e33b0405c7c1d4d1519cb1aa82fab582980fdd3bc00d1799c8b59d93aed11e04ec7e1f6c9660b000e92a40dbcc07d7172f3a85213b304871c3e2b75b66bd8696cbd3e42f50a43e006461c3c0276abee292abd5d1bbdc9ff36e55353207c4b01a1becb9cec166b190b6299654b3a50c5f35e4f508a49f8578fcbdf370fac9a89dd58dc98e7e45267b34af4eea8279e4fcee9a73ca7eb0ca635c39ea88bb5b038599bdf8a509816ab0a8bd8662598f2fcd4d59665c61127c24041f2ccd9925f94dcc38feec6da2fc2f084ed6537e77dd8d5e801aeafefabc816cdf8389bcd941b07650b9c573fde9e59baf535e93f0d8e9b970b9738edff7192094530f6b067c63d76337323c635d6b07aa50832110044089b5b9524f20a92ce20c58822bb83b8a02647ca988e5edafccd49794522cffc7e0329fba890c2776273e810efb1ddfa20bf238e7d90509fcb816840cfb75f504aecd60165fa1eed4ef93a4e2478251502b74cc2899b656a647a8f3bfc95a7df639858d9b8e43b3099d2090e894e2a325c12759b5786debed454d91633fea7eed650ebb04ce9d907058f8f0478cf40dadce94e1cfbc52ba9ea7509d2f759432180d44f3687dda929d7aabe5c5abe236acef6a8c372ecec40db780a819d627d2648fa6d722690a4afad47e84bb8a93bf27bcb0f3a465f597b43e0592bfee640a1350b675dc0885df759de15f59c86c0d9be9871dba3903ac214bf2bfa6ef842ac9aecd368afc1d042e3f5ed44e6963689dfbf7074263d55077f394f0c257901995ffbd1b65590e3cab761cb548ab00d842b40c2dcb6174009bad65da3de8f7ef5f20c0ee44c52543897a778877f51abed93fb2d328d733734071a13e27dcfd04ea6009b08d36b14f1f5ce53ca191e75e6a7558f124fc3e449d33ddfc5def6cfad360464994e5c1dfaecffda9f821c6804ac04a3d0ba90c9df5d11bb818b14ad6a058a4659cab5c4529f3dc82a5f325ae4e05c613b4cf2f6a48c710ff986ab7416b90e57230d7b447c0caabf1a2e27ec4a7f2583455678f857fa9236906346e90adc2307b71543058f3ed288d4d1bf2e9a4d0495c7f5e733588322343b8e9f7395af550e37ecdb628b04178bf59cce8d1f702acbaa42cf94d0c7c15b153c547f0c61e16e1063c1f57bc57761dad9b984190e5b9838e6342f4d75bca7b493884e992b26d7fbcaa598d213001744644645ac7c357f32ba823904a34cbfaaa88f95b478ff9052348815f554cc92469df1887074fdcb2387223611cf4f37a8fce90af3f9c14137b3123b56bdbb4ecf77acf0e05c5982d229aefbd98c45309a46d16ca2e1720609dad97e18d8875fe009a039b011424cdfe5302038dd2e79c4cff711be7d39262a1f88338076857f8947b0edd0292ea9aeb9ec2a18c0e5c0e308c606b2ab6ad5d02f2f800de78996af5fb421c5f41a3ff38c30fcf00438b5802e24d0bf6e8c3b2d959f011af3318e9ee9b1fa428c58187124c91c3df30ea9295809f4d619dd9cf24ae77f3228b00d03ce6846fad7711ba47fbd3d395c2e9360b11a6ab91475b958c1442b791b9ba2443b54520d31acf28b9c0567ad913efa864ca6e2e0994fae1f049ac51cfa90919630ef097563f973b68f898f953e93d8b7bf9f9ad87c56a420b47aeced839aa3b268fa7d2634cc9e075ef31bf62d1b6f2d4ee692e2ec6b3ddf348dd78370f4dcbfebe2bf009e1eb4837d020d7522fc69cdbfe9fedfb0ac4b103b0a3215f720e892e345edb9140c5b65ee03d206ce565b4e70176e13d49dc7e7fac7d70708ab7542ff60dab2b74f4b9070e8fedd1fa31b11b40d1e27403a640ab940838c3dcc6314b28909b10bdfc788108c338d8c033b153a6dd8a340d38b25ec693528e8a228c741345463fbad12e37b433f79c45f40705ab773131def3830f7854c7c1be503752fefb4a7cdba3daf3ff49cbeab5fd730d3beea01524fd4df56fe806bc51d349744c9c6630b64e9e0de996b9cde55a5cdeabffb7b56d209d7788505550ca06ea27143b89924048f9a54d3b862aa2b4f374ab793a85d1cb858ace7d52ef6346fc36384930f185badf8516d827ac0209f853f819737f02e60e90b93075241b532f7cf485a63dd8bdfd232611c01552ed9e57bfe49e77a65440e78295a9fb21d25d2eb60f7ba7d676fe186e691635c4935bc146c03cc24bd491669fef1d7647f8314b1fdbd3f799d1a594ae98950aaa791230bc44786fa2209d710441cba130b8c82d6183df1d1ea7235120672060ea995219d57f6ffced18d3212fb4126f36afea0247c7d673d5de2c461e47540a4c1652199f09f1333f8d7d33e411f9ff029fec0f2cdf166597ac109a8733c737a6e368ca1399fd030985724c85dcb944ceb69643631aac2fc72768994b5be5173a0112fccdbfcdd1edd6d50ee805cd3fe5c6f7a8b9cb4d5454fa8545e1495666df0baac6a56652c4eb67aa283267a8d0b61c6d06448f70b2173d4f0629b2835f61a7cf2975a10c6ca81ac844d2f5e9f9c08e132efe9248ea4186c9301942f87ab113a64b98e53d425bb36a46f6e7a125838f9219ed37ca1dae940c618676414c3ce4d42feb0dd6debc4bd45538d0f7081933a8478f98d5b934587f7eae24adb107e4a0c9a343c128f99d27cfcf91d7aa173ec8492680aae4f0a61fe2b11c850ca0e8cb2ad42a3bda19158ac14f560a31d17e627baa3b19af2fb70e85f71de9b932b3f292ecb714249d490ad62dd9c1525933587c0f5ad9b7d538bc26807c79fe39d6bb41ba954c8b234a37e0ed121ca467715310f7173ba874c8cad457b3ef823c58d4339659e17252a2f0f52de705a8392980f6620b960813897593beeb358e2b12fb1905fc45ddd3b4b5d7577e024e664ccee364ff344db4a2bf167f581f8badb302bfa838171ab6c61097ad6b325bc0ae49df95c9d6c3fc3a39801f1e94a32f7be38a3361b6cd04bc25c592fc9b5d9f6c60c8b5914aae9bb96ffb66f8e649f6b78a672b2d0f7b0e744002145820cf83641357d81fea979ff8b69639e5c79c3e72000e0a6243f6b8810dbed1ce92cd04d234ea05a821d5acbeaa3859e561b5abe3af1fbf23aabbcfcd2913c7c2be1972fae15416ccd432cbc09b2b3e4e3aacebac4c2efb7f57c7cfa959ecda92ebafae24d90309910821694f905628421d69baba8bf219e84b7b36f1fcaee551b2f22129670012adbf781e623c7728f51fac8ba2f394905f0fa08e85d6fa7078300344c2555e34b22b0c053b4d01323c963d4f78489ba331d0222389b0a71b4c980552a55bbc8af58d6b143b0cf1e103d212676b74ee46e78ec22a", 0x1000}, {&(0x7f0000002900)="e8c8ef4ac09d81271aa313cd0b53c34e77165cfd046e95d56ac2fef2c864fd41f050f1a6d80ae589f973185101d7a459440cd3d2e22aafac3d1661454b093fad7dda0a4a2bd18cee45d47ff18ac5e39435131acfb1d9011ff7dc86dd208014e20850ee7ae8532b3eb794ddde144f4bd7387573c5fe13c48498d7f4ced0f3906abd16f851ebb3f573afa663476eef8c0b08609e8b977a4ead2d446c2237f310e0ad3373eee71d35362d32987a334477f3cbcf0be4a614bc53b726d15cc228386a50ea4879dfe41e03ef6a17e5d84aac5676e9766ada000410f3803e4f563d1c3b144fe0feafa2893fb3deda44eaee5e085a0bcfd55d26d8f2166b67df0e04303ad9e6ab0b3be862d7faddf0a14ba03b21581d561a5dbbb687235f81e782c02a1acd7a64c249d251fad49e0fb394887b7d9a10dc9f59dbc98dc2108dce17126f52c5776894802c0a457513da5e7f848a5fcb127e3ac50e5bbf4ffca284aeb08a7590d170ba3b11a1b7b1428b2296907b7bdaee9ae43173ba566cc710eb5355515f305944f729116b9da3826f94c7878ac94f84b237c4ebc2ffd5f39c1cc97bae5ed99b2ea35dcb6554554e1a18e0e12b69c50ee81ed2973cf559d8ee68475c583fb68ae97edf8769d21f8c599d1d5d5476b88b9733262c131a824632e78f323686e96298258eb3040da1fca2a79ee793457d31b99bb93a95a228fe5a1036e69d44590cfdf1fec527eba0d5e486414a7b5930f99337ad2f7df3370a7d7e27229aab9988219bddb219ea3a4f6c8722d0c25d5764b7b33a926ef42ca4c0333d442f96c932152e44b59754834f7ca10a240450559789d0fff51b502c03d50505e2f17228ba5d3ed74736766363caadd771fe028bedce7528d1e60b79af34538694d16ccbcb9572ee17fdb3ca841812c2f7ae956c032b2722d9bea8b305c8ba9e073407a35acedd0850da08d455e527e1ac0fe471f46bdf7c5fea5d30dc2c3b99f5c334b9b488d172fdd5f48936b603b7933490b42a50e791a30b01aa145b2990aec7118cb0dc82e71b9fc3c1e68ea0d71b3e3fe788ee309fdd6031520e1ed99aafc74078f120a1b9ef70c3d5c1798d55adda691365f1a305ba19df117132a6ae7ab4cc447872731ccc326c5e4eef56c9d379119410f3fb9ce2c30d6a789ec2c43f0cd6ad38626755c4d222d306e9ab229b4d8aa2990873551da8adc0eb2f8aa63b5edd3701a3c5b861cc152e1da421a5410349907fd5baf98dcf5ad6e54a4d6e028bcc7defaf18477accbbaa8962c9dc01116c7da76aee4db8a4bfc457533024324a740cd497ac532c1e33bc8e63483f2866ff1a219494ec6410290576d993d76c22a0b5e2aea7f11e179b9fbbfec2cb15709d235398ba452c5442bb9a21095808f264eaf9217af9fd41ae8419a922b11a7716963fe7a06eaa1b75b65e02571b857918db152b4bfb0431b6806d26febbc6188d4e6110f238f5e4ca9bc429c0eaaded90f3fde3d12a6f8d396b6a0e500303f16c57dbac989f2fe7b4b290367e89ff5a62732d3581aea0f065090d1f3daa5784890866d41ca1eb66fa202e161f91bfe0a7979f8a06397c084883a47171d421958ed7cb3851f43555041fac9bcb443fec9cd2b21ab36d12770aa9426c6c1d305fe33035a3eaaab66ff8606abd9f0e0c98db9e93d6afa4e50c280f40f95e5428839f0c96a497a26e7d4b369293692a309b8eba775f6bdc23da748cd024b104d66eae8d8357d779d82a904bd40f84579d813b69b8c687d142e01ec7d4ace401079d5f6716204354b7a5f4b44cd34729e5221b70651cf0f148b3f0cb9b85e3042b69eb0c46f5a8abe6626292aca8bff47efbd241d73282f00dea6e0152c7e0531e3ea1ba44e475753671374ec6949ffeca157e1d345d94b43ff2a89b40300d99c73f42ea615dd55e0fd1427327e6baec7198fd7b28078d0b12ae3cbb9abb6ccd6b28f40c894290c1525c1ab9b54a20eb89eed907493e551d26a2b3520f02649fbd5081adc5aeb6953020e282480431ac29070c1b939cf9ae7cd843ff4915df3b5b963a74a6062ccd4c93cc133fcaa099b306baa1af5b5df96f84ac68dab338aa2d792c0e8f3159f8ac7db05ad61d92b390a2ec9e3d9b9f524593d41aad9deb866809ffe3d4a7143f7602a4761a04d1174b7baa33ffc2747072ea61831794127090e53d3c04fa09540172b867a52e5d5026cb1ecdbbeee6c7c282011e906f74d4641c1e26da9277af4450a508235b1fe84682289bdcbedd72b6e4f551f7e946ba76e1abbd05d4cb3ed0b5a9069d984c9313df1a5716ad59da90c552af9a26a28105ffe75f8b1b3f83efdd4900e45aa519bafc1cf1f05a6dff4e8bc785c8064e23ddf546b4b3e2dd8404db5443898d8c64f91fc3afe2475d57859529efa285af8931b30f73efaf3de41577f9711669a79e1c032edaffad3fa9d694167184b09fc22e41dd85da0050924e73a35804a6f87897ca4bdf28429e6b70b627f3c6433bc21373d32141274655c13ef43fd74dacf81f44a892b9844cf94b9e11e5707959fa9aeb8841d89665e2eebe21f31681be420b1f9fb49c70d72c2e76fe888b563334bed559a2259367bef153cdd52d15c611569f86d7ed6164ba8f63177ab5075d2786a5ea3ebc20129518ab9842253e132bdd915211daf5c614f2c080458c819c77fcfeec614dbe58403cf258ff58591a207cd741bf920d0c4d6d5ede9bc8c5aec4585cb660d565d0a37186d98e1a680419395b137a1247971d77ac769574962753a33b0a250db8a66c29c80850d65d7220212f2e387b7cba50925232932c823713c7100fb71d906e9205f04eccbca49c28b0084827c32f1e773501c6b35b6945b5c91877108ddfd7cf8c523970f8f7f065c9208e66bd3bd6c22d043e3e55b689078f5ab94f99e651988d18b251b010130c01548d389d3590d5669a27fca74f2cecbc382d2fe5f56883aadfd0d5a61d0ac4d7ab73963ec4e5ad52c66d7b73199c2f1a55825a7f01a0dabc34d9327e871ea9a231d9ea013090857f792eb0d637afa3111ace570be449c786aa282674ead1c3431bcca74f33861bc23d10e96ecc2e7e3d9bfe1b510abc509e136701f7e7aef54780f8921eb3d8868866d7d17760237afae419184fdd8667d220b2142ec0293a33be9320d2669236327b77a27678df7720088eb953bbffaa2edc5317eed29cf20fe30200128a8fbd1ecd7517d20ac8791ef6bcfb0aa1b322538a444f40e7cd3fd48dc75a57ea365d64b542dcf5a7802118d9937e15fb1fec39267654a7fc55a50bbd34b9fcd98f272da48a36014fd2424ddfda6739edc8de480af22ba29fc7c3b7071756718461d83ad1d29719e1e01d38aaccb5be841aa7eb460545c91f12bb73c3e83cdecbfbec79ce1a49abd781b9952b73b18167137e43a06d4532957abac3b1cf6ac7e211773e8533b37da71e90989cbef13ab7f2776e90133efe34dd851ec373eb7db5c44cb4b58d1c09540f349a31bfb4b23048f03221a8fc108b8c010b4cf6f30d15f2782853653e95ca3826391f1fe0df2ba7ce298b7ad0fc91995b4f61c720c75f096d080c781bdd9c97f44ec643d865e32e0143f85b9080d72301d53171ce43a1bf2bcfc91fb9e6683b707adfb2d412fe5760256d05183a68c8a25147110efad04cb23e6cb9a3d7df101cb61a7551496b6b94187c7046db9d78824a96069e965764fddf0fbd4d95e85591dc2e17a4364953ed2b7441ca8f0946aa3dc61089f0954747ac2a845afb5227a1152d128122306388052c1fca59bee3830d226310e7113c7a196b9c15945e8236f3f0e0b5603066bb570e5ad9d0876cf53b0c33fcb62064443ddc0b87589b63f8daa01ef2ed1d9080818de70ca428feb166741cc0e443b6c86960d17f34bf2e9d1cd9a301d857dd78225079d929678e7c4205c76f146546690b3a74e89d2b0fd7f74d7d182b83b0a780700e6f038b91de754659618b3e69b6671ac9d3f0a3511ee6ef4ac0acc909924b82de4d7910a36e2f0eff843ba4348adb9d107c9119e0e8abdf0065cafa7b7a8f9184a87574d120ffb81b88dcd9288a618e934351a3179779079211404a79b787245efe3562272a1ea4896f8f6da6b8a26d513771102a5f83d14526851081816e227f2c5650f7325f4ae60e5bb258912c8f6220192c003162e8899cfdafef85850b973fb45c22393e0a475239c209a18d29a573bab1a4a4a007c1f280d0c74f8a4321d4a66b56d7bcc3ddfcbee80a0a4f9bd792e426e193ddd9269d27f8c2fa69d7a50415af7af24eeb446be4e9cf1bfd5603f68147f7261900f6012606ddb5fa1f79731d7bb02d9a6a39faceefd0645c0e8d18c412bf2c1034fb0b92d42e9bd71017d95e7ca55d6bdce358d59e4131e5b1c17418b236dc8d4fefdeafe2725d15566d0d0d2a752f4a7200c7c5d367848707ac61440d6920e64290816b0ada6c82bd1e131a75a4ecc8ead5d5b3ff754981a7dd446770d3a209d0789b6de7cdcb25a8858ba039b27ca695e03ff7d1c3bfee28c5560b676cad4dd49b2f7ac747700d9dd53ebe92af4ac7688620f362adcf9443592c270aedfe6756af7e9b8daf3415cff4347c015be26bb191b287c81873790e9d1d26ce0c6c05ce44002d227110366e653150c8a9efb640e90daf6372db6506ec3a6297e56de32ea0a59b4aa42629582fd47eed3d32334cfdad218b4a1b9105a6d10e81738bceb85d26185e7051f2431a3141c2c426a02cf5e04f499d98fca9904b998d19c1370fdebbafb21764825f8beadba62e79e154be0344f64c7e978a3f0a381d026c7dc78b2b4b767ae7f49576afecd6ebde673fa41bbfd5c042874b900eb76c938bdb13aa829fbc92c1cb60f557540adf02b00855b440a271a969362517a580225d5ba6fbaa3a724b525172d03bcadd876c65685d7809a251a9ffa1e027e1d52928515a7ac76a6d1a35f3f2418f8f4f340ba3f1c53feb424652a167076644a760deb3b0d717c208498795f83bf46d1e016bb6ecdd9fb285b39d9f998f7f5d50f90bd83fdce7bd9ee9f7e6fd45a19785d023782a81da67a4eb3250cfcbea862291dd3af43e7e7ee9dad55eb3da4d3d64582f4eacb51b0e2269bfecc9d5ff572256a1ffc6ca1dd81143066fa2ada5fa137f68ac7b7ac2a47ecd15bb86560c31d2cd477ad856e50921ab469e10fd5c85e84b9cd7b6c15a1b1cdbd6f681ae3ac2ac03fb13624b37f0ed7198529e25ef8a5cc9fe67be6b8021e1ee77728cd40e098be66d51a0e70596b3ff87ffd64333421aaf6cd05c6ec07da1f6d259fdd4154834fd6eaef6eac882e30fd3661db4fb9c86c2f213272f2dc7dfb69cdcd137a9ff62f23ddc1b8c3326b90e6bfb27f2a7a0f623067493f0cfe885c837af5a4f465bdacc4f40521b5767faf6c03b75d74d110c9bc1745e60d04a6b6e7d3b40296dab8484387927a81c6816d80102440348ebe104fd8fcca6c646965c54e4fbd0011c49d15efe93ace33d7f339f2e51fa26c701120ce1e9d479814beca90c5cdd103ce08162974d20150d49a4f76dea5bd4fa6f05009477857870543c3d4b44e20cddf974195534dcdab88c6dcd1910b2effd86d2a42809429b808d866d42e2eabe7ca41d000d457a1b32394670d7fe76afb43705c8c210a32bfbe33197123ee17b5144872c345c88ba37f789ea68cfadc1ec331365ae5312a99e4325961ff72c6c672f119e05beaacfe959a182fcd2288cb3df65a34631cfcdd6986277a1213e9828c2547fad6f3e2a4134d719aa7f951a23e34632b89dca", 0x1000}, {&(0x7f0000003900)="a3f5611b9cb9233a35ed1bee26ca3d64a0626f7dcfb8bddf9027293f67945fae697a6809ab48f04cc0b8ad67e369ce8f1df14d1ff03e1f1db4874adb335f68f11dd238bed05777c10cea4cbed192186a43d3a652fd74960d04f98d182888baf87cf5c639d5e1f78c4d3ff5d3f503614b299bf126911f703629c2c60b4feafd214c5a97ef0f0a125327d26bf2261aacc394f610ef88e5d2fb0cca7c88081e99004e01f72d0ba882827f7fa018f6ad4da729cfa80f9b66649c", 0xb8}, {&(0x7f00000039c0)="f6b6a4d612cd7f6b160a6f6def2e26c7fa8a02970fdb783445e6b7c9312e795d713eccb0d8d1130ed0e032189a4cb6432e376680d61f614ee55580b2d72f24dc1c30bbcc370731167e95dd4e2151f528a2664c08098c09131617393fe52c48144b1bedaaf4017d33a726cf1baf1d6c43b6738d4d6d1a65a15bb14b3f1452344c9d36cbef96c6cd4c9d654b18ec6cf5da66339a595eb25848100ce26413838149ac8e1bfd86e77e14d0c0a9f91a457e213534909e92fa7e39ca82c1c3fb89dc0c9c993b9abda00d96c127ae684294275572ee8d6a30c17aac9116d70b246009bb3f6b", 0xe2}, {&(0x7f0000003ac0)="6da152ed00c4c5535ea4189d9d15683ef7bcec52010517878313f62691670189e475148a1b7860d8b63792bfd06f3044dfe7901e0608f64093562f0a950b901d7d1e5b1e04625ce7323cbfd78c7005f649a8128480956a1d620ec7e6593249b16d31a02f60a6c53904648065d667b256227001c43f81106187ff483a4b04902d9fac0140837e6950833207bf1a05464b76fd4f5b34d9ae80", 0x98}, {&(0x7f0000003b80)="13834925afe5bc86e0f3d90e9393ffa48ac87700c7af704de1b8892e5f1e2492a48b2e52fc541474e5c92f1c99009f706f76cc809de857fbe4897d8989426fbd88c9943e080d6287e512720d83b43743ef0568cbb8afee2c860047cb1dcade0388d2577e8803fa397ce98e98180facc88dd18311a96c13f3506296d1c94cebbc4025580ee434bdf6c134f89264c778e7ec2af3b22a24d69ba6aa8cae899a", 0x9e}], 0x7) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a'], 0xd) syz_io_uring_setup(0x47b2, &(0x7f0000000200), &(0x7f0000002000/0x2000)=nil, &(0x7f0000004000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000007, 0x12, 0xffffffffffffffff, 0x10000000) r4 = syz_io_uring_setup(0x5804, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000080), &(0x7f0000000180)) r5 = io_uring_register$IORING_REGISTER_PERSONALITY(r4, 0x9, 0x0, 0x0) syz_io_uring_submit(0x0, 0x0, &(0x7f0000000000)=@IORING_OP_FSYNC={0x3, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, r5}}, 0x0) io_uring_register$IORING_UNREGISTER_PERSONALITY(r4, 0x18, 0x20000002, r5) syz_io_uring_submit(r1, r3, &(0x7f0000000080)=@IORING_OP_RENAMEAT={0x23, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', &(0x7f0000000240)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0xffffffffffffff9c, 0x0, 0x1, {0x0, r5}}, 0x80) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) (async) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a'], 0xd) (async) syz_io_uring_setup(0x47b2, &(0x7f0000000200), &(0x7f0000002000/0x2000)=nil, &(0x7f0000004000/0x1000)=nil, &(0x7f0000000100), &(0x7f0000000140)) (async) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) (async) mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000007, 0x12, 0xffffffffffffffff, 0x10000000) (async) syz_io_uring_setup(0x5804, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000080), &(0x7f0000000180)) (async) io_uring_register$IORING_REGISTER_PERSONALITY(r4, 0x9, 0x0, 0x0) (async) syz_io_uring_submit(0x0, 0x0, &(0x7f0000000000)=@IORING_OP_FSYNC={0x3, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, r5}}, 0x0) (async) io_uring_register$IORING_UNREGISTER_PERSONALITY(r4, 0x18, 0x20000002, r5) (async) syz_io_uring_submit(r1, r3, &(0x7f0000000080)=@IORING_OP_RENAMEAT={0x23, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', &(0x7f0000000240)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0xffffffffffffff9c, 0x0, 0x1, {0x0, r5}}, 0x80) (async) 03:37:58 executing program 1: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsmount(0xffffffffffffffff, 0x1, 0xc) (async) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) (async) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) (async) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup_ro(r1, &(0x7f0000000340)='cgroup.stat\x00', 0x300, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(0xffffffffffffffff, 0xc0182101, &(0x7f0000000200)={r3, 0xff, 0x1ff}) (async) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000000)={r3, 0x1, r2, 0x2, 0x80000}) r4 = syz_open_dev$audion(&(0x7f0000000040), 0x0, 0x484500) fsmount(r4, 0x1, 0x86) open_by_handle_at(r2, &(0x7f0000000140)=@isofs={0x14, 0x1, {0x8}}, 0x0) 03:37:58 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB='\x00\x00\x00\x00\a'], 0xd) syz_io_uring_setup(0x47b2, &(0x7f0000000200), &(0x7f0000002000/0x2000)=nil, &(0x7f0000004000/0x1000)=nil, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_ADD={0x6, 0x0, 0x0, @fd_index=0x3}, 0x0) (async) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000007, 0x12, 0xffffffffffffffff, 0x10000000) (async) r4 = syz_io_uring_setup(0x5804, &(0x7f00000001c0), &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000080), &(0x7f0000000180)) r5 = io_uring_register$IORING_REGISTER_PERSONALITY(r4, 0x9, 0x0, 0x0) syz_io_uring_submit(0x0, 0x0, &(0x7f0000000000)=@IORING_OP_FSYNC={0x3, 0x0, 0x0, @fd_index, 0x0, 0x0, 0x0, 0x0, 0x0, {0x0, r5}}, 0x0) (async) io_uring_register$IORING_UNREGISTER_PERSONALITY(r4, 0x18, 0x20000002, r5) (async) syz_io_uring_submit(r1, r3, &(0x7f0000000080)=@IORING_OP_RENAMEAT={0x23, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', &(0x7f0000000240)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0xffffffffffffff9c, 0x0, 0x1, {0x0, r5}}, 0x80) 03:37:59 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:59 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) io_setup(0x0, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000180)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0xd079, r0, &(0x7f0000000080)="60cc2a55cb26ba1917df1ddce8d76591c693f7c1c6d62c71891b6ef718ac471b5f974727e4e15e5885db17fe89577aec3eab7d097f7d110593e2faa7745dda99098bc2406104464502e46bc2a7ba14f423c0cc04e5cf00b9f7b0e40014cde7cf20f8e633d3d80257743035b938645972ce457b576af89adc5f714c16e7d1b03830dabd0d5640f3a8bd389f588901c0a47d7fd969", 0x94, 0xff, 0x0, 0x2}]) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="00e6000007"], 0xd) 03:37:59 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r2, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r3, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:59 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) (async) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) (async) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=@newqdisc={0x2c, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000004c0)=ANY=[@ANYBLOB='<\x00\x00\x00,\x00\'\r\x00'/20, @ANYRES32=r2, @ANYBLOB="00000000000000000c0000000c0001007461696e646578000c0002000800050000000400"], 0x3c}}, 0x0) (async) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) 03:37:59 executing program 1: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsmount(0xffffffffffffffff, 0x1, 0xc) (async) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) (async) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) (async) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup_ro(r1, &(0x7f0000000340)='cgroup.stat\x00', 0x300, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(0xffffffffffffffff, 0xc0182101, &(0x7f0000000200)={r3, 0xff, 0x1ff}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000000)={r3, 0x1, r2, 0x2, 0x80000}) (async) r4 = syz_open_dev$audion(&(0x7f0000000040), 0x0, 0x484500) fsmount(r4, 0x1, 0x86) (async) open_by_handle_at(r2, &(0x7f0000000140)=@isofs={0x14, 0x1, {0x8}}, 0x0) 03:37:59 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) io_setup(0x0, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000180)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0xd079, r0, &(0x7f0000000080)="60cc2a55cb26ba1917df1ddce8d76591c693f7c1c6d62c71891b6ef718ac471b5f974727e4e15e5885db17fe89577aec3eab7d097f7d110593e2faa7745dda99098bc2406104464502e46bc2a7ba14f423c0cc04e5cf00b9f7b0e40014cde7cf20f8e633d3d80257743035b938645972ce457b576af89adc5f714c16e7d1b03830dabd0d5640f3a8bd389f588901c0a47d7fd969", 0x94, 0xff, 0x0, 0x2}]) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="00e6000007"], 0xd) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) (async) io_setup(0x0, &(0x7f0000000000)) (async) io_submit(r1, 0x1, &(0x7f0000000180)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0xd079, r0, &(0x7f0000000080)="60cc2a55cb26ba1917df1ddce8d76591c693f7c1c6d62c71891b6ef718ac471b5f974727e4e15e5885db17fe89577aec3eab7d097f7d110593e2faa7745dda99098bc2406104464502e46bc2a7ba14f423c0cc04e5cf00b9f7b0e40014cde7cf20f8e633d3d80257743035b938645972ce457b576af89adc5f714c16e7d1b03830dabd0d5640f3a8bd389f588901c0a47d7fd969", 0x94, 0xff, 0x0, 0x2}]) (async) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="00e6000007"], 0xd) (async) 03:37:59 executing program 0: r0 = socket$packet(0x11, 0x3, 0x300) socket(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r2, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r3, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x88, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x58, 0x2, {{}, [@TCA_NETEM_LOSS={0x30, 0x5, 0x0, 0x1, [@NETEM_LOSS_GE={0x14, 0x2, {0xffffffff, 0x0, 0xfffffff5, 0x4}}, @NETEM_LOSS_GI={0x18, 0x1, {0x3, 0x1000, 0x9, 0x522}}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x88}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r3, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:59 executing program 3: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) io_setup(0x0, &(0x7f0000000000)=0x0) io_submit(r1, 0x1, &(0x7f0000000180)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0xd079, r0, &(0x7f0000000080)="60cc2a55cb26ba1917df1ddce8d76591c693f7c1c6d62c71891b6ef718ac471b5f974727e4e15e5885db17fe89577aec3eab7d097f7d110593e2faa7745dda99098bc2406104464502e46bc2a7ba14f423c0cc04e5cf00b9f7b0e40014cde7cf20f8e633d3d80257743035b938645972ce457b576af89adc5f714c16e7d1b03830dabd0d5640f3a8bd389f588901c0a47d7fd969", 0x94, 0xff, 0x0, 0x2}]) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="00e6000007"], 0xd) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r0, &(0x7f0000000040)={0x1f, 0xffff, 0x3}, 0x6) (async) io_setup(0x0, &(0x7f0000000000)) (async) io_submit(r1, 0x1, &(0x7f0000000180)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0xd079, r0, &(0x7f0000000080)="60cc2a55cb26ba1917df1ddce8d76591c693f7c1c6d62c71891b6ef718ac471b5f974727e4e15e5885db17fe89577aec3eab7d097f7d110593e2faa7745dda99098bc2406104464502e46bc2a7ba14f423c0cc04e5cf00b9f7b0e40014cde7cf20f8e633d3d80257743035b938645972ce457b576af89adc5f714c16e7d1b03830dabd0d5640f3a8bd389f588901c0a47d7fd969", 0x94, 0xff, 0x0, 0x2}]) (async) write$binfmt_misc(r0, &(0x7f0000000200)=ANY=[@ANYBLOB="00e6000007"], 0xd) (async) 03:37:59 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$BATADV_CMD_GET_MESH(r3, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0, 0x92}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffffffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newqdisc={0x74, 0x24, 0xe0b, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x44, 0x2, {{0x0, 0x0, 0x0, 0x0, 0xfffffffd}, [@TCA_NETEM_LOSS={0x1c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}]}, @TCA_NETEM_JITTER64={0xc, 0xb, 0x8000000000000000}]}}}]}, 0x74}}, 0x0) bind$packet(r0, &(0x7f0000000300)={0x11, 0x0, r4, 0x1, 0x0, 0x6, @local}, 0x14) sendto$packet(r0, &(0x7f0000000700)="93a745710b71619b9a2be11a0800", 0x36, 0x0, 0x0, 0x0) 03:37:59 executing program 4: r0 = syz_open_dev$usbmon(&(0x7f0000000200), 0x0, 0x0) read$usbmon(r0, 0x0, 0x0) ioctl$MON_IOCH_MFLUSH(r0, 0x9208, 0x0) r1 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x412de, 0x24, &(0x7f0000000f00)=[{&(0x7f00000000c0)="03ff", 0x2}, {&(0x7f0000000040)="02", 0x1, 0x2}, {&(0x7f0000011ea0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallerzyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x3}, {&(0x7f0000000080)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000721f1f63721f1f630100ffff53ef010001000000", 0x40, 0x400}, {&(0x7f00000100c0)="00000000000000000f000000fa6d11ee34254e24a12e20d52e195fa63db5e68c2854ce6c0100000000721f1f63000000000000000600d1f7b7d31b0000000000", 0x40, 0x4e0}, {&(0x7f0000001800)="01000000000005000c0000000000010000000000040000004b00000000000000593ffd350dabb8a057d1400df0ceb0790fbfb8c9e4ef41fed453b903eb61beccb858ebbe5b14bb01b5539f40ac7a8b6ded8264ee0c2000222334b2dbfc63dadffdfd645b8053becc1954eb64dcbfe53e89684c30bc9350de23613cd16e452dd3809425746b3498b199b74b661fae618bfac62c3dc18a214ff857a79dbdb85187c4683fc18ebd1a89498266c406cdfca4c1e08751d1fa8e560d8ad513a2abd824f2757d44ca947d15c116bcafee901d92dfbdb4355eb7b8afc5104c21", 0xdc, 0x560}, {&(0x7f0000010140)="02000000120000002200000060000f0003000400"/32, 0x20, 0x800}, {&(0x7f00000005c0)="ffff0ffeff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531000000100000001000050166696c6532000000100000001000050166696c6533000000110000009407090166696c652e636f6c64000000f3c83b7e5729fcd113497e91ac9fa4acea86d3683813fa0142e8d6f602191da95b4310ab940558eea0ed131bab22b03783804e13ca980a971875b09b130f1784580ab15de16b33b797b1512fd71065de2bf7d268055da489316f7bfe2433fc3388b847a3d0179d67ab9221c23243ea5e8cf91ef30d6b370f692ac691bed6d788ea53138e205ac712efbf2763e55682f9ff78c86ea514df071f4e8a78c157dbaeb86bc809ad17", 0x925, 0x1000}, {&(0x7f00000109e0)="0b0000000c0001022e00000002000000f40702022e2e00"/32, 0x20, 0x2000}, {&(0x7f0000010a00)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x2803}, {&(0x7f0000010a20)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x3000}, {&(0x7f0000010a40)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x3801}, {&(0x7f0000010a60)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4000}, {&(0x7f0000010a80)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4800}, {&(0x7f0000000240)="000000000008000000000000000000090000000000000000000000000000000009c92f2405fb8b3643a4fbdcfe38f8753294cfe5e6436c8107421494cbfbca3b93012a21e4", 0x45, 0x5000}, {&(0x7f0000010ac0)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x5800}, {&(0x7f0000000140)="504d4d00504d4dff721f1f63000000006872757476696b2e632e676f6f676c6572732e636f6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000006c6f6f7039006e75782f746573742f73797a5f6d6f756e745f696d6167655f650500"/128, 0x80, 0x6000}, {&(0x7f0000010b60)="111fc0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x6800}, {&(0x7f0000010ba0)="0300000000000000000000000000475800"/32, 0x20, 0x7000}, {&(0x7f0000010bc0)="0400"/32, 0x20, 0x7400}, {&(0x7f0000000300)="0500"/32, 0x20, 0x7800}, {&(0x7f0000010c60)="2719c0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x8000}, {&(0x7f0000000200)="0200"/32, 0x20, 0x8400}, {&(0x7f0000010ca0)="030000000000950189ed00"/32, 0x20, 0x8802}, {&(0x7f0000001780)="0400"/32, 0x20, 0x8c00}, {&(0x7f0000010ce0)="ffff0100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff114f403f5be66348b2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02c92f49b06ee87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0500"/2080, 0x820, 0x9000}, {&(0x7f0000011500)="00000000000000000100000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000009800"/96, 0x60, 0x9c00}, {&(0x7f0000000380)="0c0000000c00010226000000020000000c0002024e2e00000d0000001000050166a2ed7c203a432db9696c65300000000e000000d807050766696c6531000000000000896a3bd8cbafffe07274487985c708a24ee9860b41b624423a7ed80bc0c8b23588a830aaaf0d07a67580dd05323e57a2f874d55284c47fbddfc483b1306a46c9504f0807cf0a333266e4d36c909ee7803e4283314969ec0535caa2b03dbc412e8fdca90259f51e3b8b2c3c4af6707763c0887d46493697fa5dcbb85d051473bea7fb89ca36c8c8c3442ab8793ed66b7f25bd5425bddbc0b624f6f0812102302d56d3cf73e7215c0d267ee639ed4227449aafe05f11e89d1c0bba6cb0b89f6cca474ebe3a5ea549f181d0ae9f4426f9c4c0e680c33111f42e8c6d456a6209f621543065b000c0a20c77521293da35dc6511bd77eaa7218b01223d9a07fb7c5cf82a", 0x144, 0x10000}, {&(0x7f00000001c0)="00000000000000000000000000000000786174747232000078617474723100000000000000000000721f1f63721f1f63721f1f6300"/64, 0x40, 0x10fe0}, {&(0x7f0000011640)="ed41000000080000721f1f63721f1f63721f1f6300000000000004000400000000000800050000000af301000400000000000000000000000100000003000000", 0x40, 0x11080}, {&(0x7f00000116c0)="8081000000180000721f1f63721f1f63721f1f6300000000000001000c00000010000800000000000af30200040000000000000000000000020000001000000002000000010000001300"/96, 0x60, 0x11180}, {&(0x7f0000011720)="c041000000400000721f1f63721f1f63721f1f6300000000000002002000000000000800000000000af301000400000000000000000000000800000004000000", 0x40, 0x11500}, {&(0x7f0000011760)="ed41000000080000721f1f63721f1f63721f1f6300000000000002000400000000000800030000000af301000400000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000000000000000000cdf5c2a5000000000000000000000000000000000000000000000000ed8100001a040000721f1f63721f1f63721f1f6300000000000001000400000000000800010000000af301000400000000000000000000000100000024000000000000000000000000000000000000000000000000000000000000000000000000000000dc348c9c000000000000000000000000000000000000000000000000ffa1000027000000721f1f63721f1f63721f1f6300000000000001000000000000000000010000002f746d702f73797a2d696d61676567656e323238303034313234302f66696c65302f66696c6530000000000000000000000000000000000000000000db84fbf3000000000000000000000000000000000000000000000000ed8100000a000000721f1f63721f1f63721f1f6300000000000001000800000000000800010000000af30100040000000000000000000000010000002500000000000000000000000000000000000000000000000000000000000000000000000000000079c0db78210000000000000000000000000000000000000000000000ed81000028230000721f1f63721f1f63721f1f6300000000000002001400000000000800010000000af3010004000000000000000000000005000000260000000000000000000000000000000000000000000000000000000000000000000000000000007f63779a000000000000000000000000000000000000000000000000ed81000064000000721f1f63721f1f63721f1f6300000000000001000400000000000800010000000af30100040000000000000000000000010000002b0000000000000000000000000000000000000000000000000000000000000000000000000000009dcb4e4c00"/768, 0x300, 0x11580}, {&(0x7f00000012c0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x12000}, {&(0x7f0000011e80)='syzkallers\x00'/32, 0x20, 0x12800}, {&(0x7f00000002c0)="0200"/32, 0x20, 0x26c00}], 0x0, &(0x7f00000017c0)=ANY=[@ANYBLOB="677270718a6f74612c6e6f6c617a7974696d65670c0000000000003d3078303030303030303030303030303366662c00"], 0x1) ioctl$LOOP_CHANGE_FD(0xffffffffffffffff, 0x4c06, r1) ioctl$IOC_PR_CLEAR(0xffffffffffffffff, 0x401070cd, &(0x7f0000000340)={0x3}) r2 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) writev(r2, &(0x7f0000000540)=[{&(0x7f0000000500)="f8b247bea298d2cd4069de6e47cf36f60e03d95e3fcdcde783baa99aacaf8751d39a24da7b6a8f74f7c5", 0x2a}, {&(0x7f0000001900)="28b8ae1e550182b1e50e9ac9626853c15c0471f4e9417ac8319cc6cebbd37df8820461664667d19dfccde8b1658466edda3411885a21b70da4868dfcad76061ca5b9577f30a960979d00d2926e9bf069b5efa18610f9654988c3c5e143263ef20285e83828efcd36b0c9a9855260ca0fb629dc2c7799fa2052191cda2135db2b00b05c76cc24cf1f8acaa99c8f2339c77182b22dabedff0da8e26158766ac6d72fc120ea6bd13a82d1adb1100e48f706285debb886076213c47be348177547a35db54464c9e82de1de483c8a485a9be0c702a3dde87b8022b9967f68dd99e07939f5251732773a547c801f722fb700f5f48bc8f80ea7bb49e3874fdd60408f8daae949ab16b453162b256b25b553c31c52868ee77634730a8f24de521d80512dcfbc6f976c2abbb577147ace86e7d80ea3be93f25b45858215436f5b52922da0ed14c7c03c3907137a7e2104aafac6914ea8c428fab84e48e734b6a02da8696a1a699c9ec51536362e1be34217fc14f30e4a5f9704c87384c2a2162978fcb7bc3e47206174a17e56a4e8a6ef8d95cc6c7f7d2e811f65b220c26200f87634581f03fef1414f38678434fd31f2ac1c69486b5e78df67a887037395a3f5988c54c2f313576db194919601502b397923d4056ef5f8295b485ff5ba8ebc1176f8f5e136b0f9e2d18bad44afb9e687169a728abf2e1f26a32472b3fd639c708fdf6e2e97847fb4a6333d0d713df0d746292aebc0c1f77a193b796b53276db36714a0a4b43c07bb73626cb11655551484f4ad2d03fab522df2bcd54884555e4adf42ea84499cd97ccb985534ffdc62905ed3fdc273fe862e517b472a2ef75e7c65623ef4afdc71a2a7c69345681fe19088069c66f8c5d86e040de68d3f5ea9f1695f496f770b1a5ffd6667052aa537caddeea91f04fcf7b832baf23dc32e4536694b17225d7fd5f2b80fc4f2194f56e93679e0e0ea485023bb582ef48f9de7518eb0e6bce5496a1cf34de37cd1c1bf556629b0bebcf3fcf06abb4e3af1e2b4d6e554ed5b6cb6bc54d2a68e9c0642a4c35afbf6764e9dea4d0d199552610115df1dd71a14cdf188bf7dda64460ae73aab987e6978b833d05bb094702895485074d8ecc87a10425c162461d58b38fb2b50e03f567a6581aef36f484254895bd33ad646ee6222912e799198049d5a7b8849caeea23330c91db3e870368da9fda2769947ae9c671eafe16392de0980e142b3a89737575d9e43e4e9d87f95835d41b9959ae3983de24cab09cf6567d4ec47086eea398558b630deb85587bb3c105a60fdb7ed7a5b8100bb48b3e2aa1fe378f4e2d25001bea00f71779c8e384d7352216fdd1b878ab434a1771ecb00b2c3bf6712dde1db62deb9b6943b9a0d9e44593f20d1fd9520c31b471850259cc550eb8e23ac1ce52e44c8a2aff4b2a4cc05ca1808ecec366562a2edd3755cd525802be795a26dc00c5bf7f337ee11ada04a40b360e49d9aae3f0ee9a4d9f4952b58dfe2a21933a7c9a2e8009c13bd8e66fa129ae04e52c18a03aeb7be33833de2f1cd4ce20ef2d15424fb50c0ccd7dac711847640adc82a7b3c1380f7c9574a5cb77205094803babbdec033a8fa4800805c27c40da2e28b17d9458a0ba4f9d4eae4959104686b233380003f57ef07e9cd2327165b596e73122232fc670d8a7787aea0b934eb7a6178e1bf62368fee11917e5fde6711c6ffde2042a7380ad1f6582f13da37fc34044d631238bf6dabfa6f6cb518b66c3d68e67d3eb71cfb30b4a2d60f371dc9f0f282187b4df20a8de8cb1a9744c94ade7a55044780b264f6cbf412eef081e9ddd67eb5865e45f279ec631cd1baa88c6f43097668fb411b6af36f5fafb6ed21935a8eab2f79a4e314e687d02fc5479f74a06e75f7cab72abfc3c11bbd7d86e6c4a15f6440bbc14395f43f08c0eb23fc13b0d2dcd4793b2502e2c201cd1cf4aa26705e4b97c41577e1ec92bd2c4ae1d1b213fd17e4e4a58e75710babbd0803541d580cb6dcb4d24df97330ce2f6be7e2da9dc45209a1d75c7c5265457ce1f50d8caf4c3fd62b7c9d9b34752a2549f0e387d18018d312f504996ef2e421f875ae79249e22052c8fb7a06543a9d8a9752b9461f69a1e2bf824d570d6a6752402ffe1861f274bf70c94b67cc50d36fcef0b444c8392d3b3f1e4b4addc341f8a17294c8d1a6475bf1d309d344f46444ecd9d71588ab3570d7d01033ca02273f4888a67c221c32d0d26db190937c88ec088dac6b41d99e247d9ca8fda47635e43715484a2f5272897bf79cf8bc98b23c65a731d2a03f25224311e28cb846af0669d81cc200cdac00c675cd2a32d12b53df18244d4bf5d253cae0a0d0d3572afde6425898bb6e5288108530cec7b1e36ad465615975bab6e8af8657bec750e0b017aeac42ec2bfb2ca6eaf374373e9cbbd9fbd27f7eb5fb0cde4c3e7f7ebe72f3e81f49e33b0405c7c1d4d1519cb1aa82fab582980fdd3bc00d1799c8b59d93aed11e04ec7e1f6c9660b000e92a40dbcc07d7172f3a85213b304871c3e2b75b66bd8696cbd3e42f50a43e006461c3c0276abee292abd5d1bbdc9ff36e55353207c4b01a1becb9cec166b190b6299654b3a50c5f35e4f508a49f8578fcbdf370fac9a89dd58dc98e7e45267b34af4eea8279e4fcee9a73ca7eb0ca635c39ea88bb5b038599bdf8a509816ab0a8bd8662598f2fcd4d59665c61127c24041f2ccd9925f94dcc38feec6da2fc2f084ed6537e77dd8d5e801aeafefabc816cdf8389bcd941b07650b9c573fde9e59baf535e93f0d8e9b970b9738edff7192094530f6b067c63d76337323c635d6b07aa50832110044089b5b9524f20a92ce20c58822bb83b8a02647ca988e5edafccd49794522cffc7e0329fba890c2776273e810efb1ddfa20bf238e7d90509fcb816840cfb75f504aecd60165fa1eed4ef93a4e2478251502b74cc2899b656a647a8f3bfc95a7df639858d9b8e43b3099d2090e894e2a325c12759b5786debed454d91633fea7eed650ebb04ce9d907058f8f0478cf40dadce94e1cfbc52ba9ea7509d2f759432180d44f3687dda929d7aabe5c5abe236acef6a8c372ecec40db780a819d627d2648fa6d722690a4afad47e84bb8a93bf27bcb0f3a465f597b43e0592bfee640a1350b675dc0885df759de15f59c86c0d9be9871dba3903ac214bf2bfa6ef842ac9aecd368afc1d042e3f5ed44e6963689dfbf7074263d55077f394f0c257901995ffbd1b65590e3cab761cb548ab00d842b40c2dcb6174009bad65da3de8f7ef5f20c0ee44c52543897a778877f51abed93fb2d328d733734071a13e27dcfd04ea6009b08d36b14f1f5ce53ca191e75e6a7558f124fc3e449d33ddfc5def6cfad360464994e5c1dfaecffda9f821c6804ac04a3d0ba90c9df5d11bb818b14ad6a058a4659cab5c4529f3dc82a5f325ae4e05c613b4cf2f6a48c710ff986ab7416b90e57230d7b447c0caabf1a2e27ec4a7f2583455678f857fa9236906346e90adc2307b71543058f3ed288d4d1bf2e9a4d0495c7f5e733588322343b8e9f7395af550e37ecdb628b04178bf59cce8d1f702acbaa42cf94d0c7c15b153c547f0c61e16e1063c1f57bc57761dad9b984190e5b9838e6342f4d75bca7b493884e992b26d7fbcaa598d213001744644645ac7c357f32ba823904a34cbfaaa88f95b478ff9052348815f554cc92469df1887074fdcb2387223611cf4f37a8fce90af3f9c14137b3123b56bdbb4ecf77acf0e05c5982d229aefbd98c45309a46d16ca2e1720609dad97e18d8875fe009a039b011424cdfe5302038dd2e79c4cff711be7d39262a1f88338076857f8947b0edd0292ea9aeb9ec2a18c0e5c0e308c606b2ab6ad5d02f2f800de78996af5fb421c5f41a3ff38c30fcf00438b5802e24d0bf6e8c3b2d959f011af3318e9ee9b1fa428c58187124c91c3df30ea9295809f4d619dd9cf24ae77f3228b00d03ce6846fad7711ba47fbd3d395c2e9360b11a6ab91475b958c1442b791b9ba2443b54520d31acf28b9c0567ad913efa864ca6e2e0994fae1f049ac51cfa90919630ef097563f973b68f898f953e93d8b7bf9f9ad87c56a420b47aeced839aa3b268fa7d2634cc9e075ef31bf62d1b6f2d4ee692e2ec6b3ddf348dd78370f4dcbfebe2bf009e1eb4837d020d7522fc69cdbfe9fedfb0ac4b103b0a3215f720e892e345edb9140c5b65ee03d206ce565b4e70176e13d49dc7e7fac7d70708ab7542ff60dab2b74f4b9070e8fedd1fa31b11b40d1e27403a640ab940838c3dcc6314b28909b10bdfc788108c338d8c033b153a6dd8a340d38b25ec693528e8a228c741345463fbad12e37b433f79c45f40705ab773131def3830f7854c7c1be503752fefb4a7cdba3daf3ff49cbeab5fd730d3beea01524fd4df56fe806bc51d349744c9c6630b64e9e0de996b9cde55a5cdeabffb7b56d209d7788505550ca06ea27143b89924048f9a54d3b862aa2b4f374ab793a85d1cb858ace7d52ef6346fc36384930f185badf8516d827ac0209f853f819737f02e60e90b93075241b532f7cf485a63dd8bdfd232611c01552ed9e57bfe49e77a65440e78295a9fb21d25d2eb60f7ba7d676fe186e691635c4935bc146c03cc24bd491669fef1d7647f8314b1fdbd3f799d1a594ae98950aaa791230bc44786fa2209d710441cba130b8c82d6183df1d1ea7235120672060ea995219d57f6ffced18d3212fb4126f36afea0247c7d673d5de2c461e47540a4c1652199f09f1333f8d7d33e411f9ff029fec0f2cdf166597ac109a8733c737a6e368ca1399fd030985724c85dcb944ceb69643631aac2fc72768994b5be5173a0112fccdbfcdd1edd6d50ee805cd3fe5c6f7a8b9cb4d5454fa8545e1495666df0baac6a56652c4eb67aa283267a8d0b61c6d06448f70b2173d4f0629b2835f61a7cf2975a10c6ca81ac844d2f5e9f9c08e132efe9248ea4186c9301942f87ab113a64b98e53d425bb36a46f6e7a125838f9219ed37ca1dae940c618676414c3ce4d42feb0dd6debc4bd45538d0f7081933a8478f98d5b934587f7eae24adb107e4a0c9a343c128f99d27cfcf91d7aa173ec8492680aae4f0a61fe2b11c850ca0e8cb2ad42a3bda19158ac14f560a31d17e627baa3b19af2fb70e85f71de9b932b3f292ecb714249d490ad62dd9c1525933587c0f5ad9b7d538bc26807c79fe39d6bb41ba954c8b234a37e0ed121ca467715310f7173ba874c8cad457b3ef823c58d4339659e17252a2f0f52de705a8392980f6620b960813897593beeb358e2b12fb1905fc45ddd3b4b5d7577e024e664ccee364ff344db4a2bf167f581f8badb302bfa838171ab6c61097ad6b325bc0ae49df95c9d6c3fc3a39801f1e94a32f7be38a3361b6cd04bc25c592fc9b5d9f6c60c8b5914aae9bb96ffb66f8e649f6b78a672b2d0f7b0e744002145820cf83641357d81fea979ff8b69639e5c79c3e72000e0a6243f6b8810dbed1ce92cd04d234ea05a821d5acbeaa3859e561b5abe3af1fbf23aabbcfcd2913c7c2be1972fae15416ccd432cbc09b2b3e4e3aacebac4c2efb7f57c7cfa959ecda92ebafae24d90309910821694f905628421d69baba8bf219e84b7b36f1fcaee551b2f22129670012adbf781e623c7728f51fac8ba2f394905f0fa08e85d6fa7078300344c2555e34b22b0c053b4d01323c963d4f78489ba331d0222389b0a71b4c980552a55bbc8af58d6b143b0cf1e103d212676b74ee46e78ec22a", 0x1000}, {&(0x7f0000002900)="e8c8ef4ac09d81271aa313cd0b53c34e77165cfd046e95d56ac2fef2c864fd41f050f1a6d80ae589f973185101d7a459440cd3d2e22aafac3d1661454b093fad7dda0a4a2bd18cee45d47ff18ac5e39435131acfb1d9011ff7dc86dd208014e20850ee7ae8532b3eb794ddde144f4bd7387573c5fe13c48498d7f4ced0f3906abd16f851ebb3f573afa663476eef8c0b08609e8b977a4ead2d446c2237f310e0ad3373eee71d35362d32987a334477f3cbcf0be4a614bc53b726d15cc228386a50ea4879dfe41e03ef6a17e5d84aac5676e9766ada000410f3803e4f563d1c3b144fe0feafa2893fb3deda44eaee5e085a0bcfd55d26d8f2166b67df0e04303ad9e6ab0b3be862d7faddf0a14ba03b21581d561a5dbbb687235f81e782c02a1acd7a64c249d251fad49e0fb394887b7d9a10dc9f59dbc98dc2108dce17126f52c5776894802c0a457513da5e7f848a5fcb127e3ac50e5bbf4ffca284aeb08a7590d170ba3b11a1b7b1428b2296907b7bdaee9ae43173ba566cc710eb5355515f305944f729116b9da3826f94c7878ac94f84b237c4ebc2ffd5f39c1cc97bae5ed99b2ea35dcb6554554e1a18e0e12b69c50ee81ed2973cf559d8ee68475c583fb68ae97edf8769d21f8c599d1d5d5476b88b9733262c131a824632e78f323686e96298258eb3040da1fca2a79ee793457d31b99bb93a95a228fe5a1036e69d44590cfdf1fec527eba0d5e486414a7b5930f99337ad2f7df3370a7d7e27229aab9988219bddb219ea3a4f6c8722d0c25d5764b7b33a926ef42ca4c0333d442f96c932152e44b59754834f7ca10a240450559789d0fff51b502c03d50505e2f17228ba5d3ed74736766363caadd771fe028bedce7528d1e60b79af34538694d16ccbcb9572ee17fdb3ca841812c2f7ae956c032b2722d9bea8b305c8ba9e073407a35acedd0850da08d455e527e1ac0fe471f46bdf7c5fea5d30dc2c3b99f5c334b9b488d172fdd5f48936b603b7933490b42a50e791a30b01aa145b2990aec7118cb0dc82e71b9fc3c1e68ea0d71b3e3fe788ee309fdd6031520e1ed99aafc74078f120a1b9ef70c3d5c1798d55adda691365f1a305ba19df117132a6ae7ab4cc447872731ccc326c5e4eef56c9d379119410f3fb9ce2c30d6a789ec2c43f0cd6ad38626755c4d222d306e9ab229b4d8aa2990873551da8adc0eb2f8aa63b5edd3701a3c5b861cc152e1da421a5410349907fd5baf98dcf5ad6e54a4d6e028bcc7defaf18477accbbaa8962c9dc01116c7da76aee4db8a4bfc457533024324a740cd497ac532c1e33bc8e63483f2866ff1a219494ec6410290576d993d76c22a0b5e2aea7f11e179b9fbbfec2cb15709d235398ba452c5442bb9a21095808f264eaf9217af9fd41ae8419a922b11a7716963fe7a06eaa1b75b65e02571b857918db152b4bfb0431b6806d26febbc6188d4e6110f238f5e4ca9bc429c0eaaded90f3fde3d12a6f8d396b6a0e500303f16c57dbac989f2fe7b4b290367e89ff5a62732d3581aea0f065090d1f3daa5784890866d41ca1eb66fa202e161f91bfe0a7979f8a06397c084883a47171d421958ed7cb3851f43555041fac9bcb443fec9cd2b21ab36d12770aa9426c6c1d305fe33035a3eaaab66ff8606abd9f0e0c98db9e93d6afa4e50c280f40f95e5428839f0c96a497a26e7d4b369293692a309b8eba775f6bdc23da748cd024b104d66eae8d8357d779d82a904bd40f84579d813b69b8c687d142e01ec7d4ace401079d5f6716204354b7a5f4b44cd34729e5221b70651cf0f148b3f0cb9b85e3042b69eb0c46f5a8abe6626292aca8bff47efbd241d73282f00dea6e0152c7e0531e3ea1ba44e475753671374ec6949ffeca157e1d345d94b43ff2a89b40300d99c73f42ea615dd55e0fd1427327e6baec7198fd7b28078d0b12ae3cbb9abb6ccd6b28f40c894290c1525c1ab9b54a20eb89eed907493e551d26a2b3520f02649fbd5081adc5aeb6953020e282480431ac29070c1b939cf9ae7cd843ff4915df3b5b963a74a6062ccd4c93cc133fcaa099b306baa1af5b5df96f84ac68dab338aa2d792c0e8f3159f8ac7db05ad61d92b390a2ec9e3d9b9f524593d41aad9deb866809ffe3d4a7143f7602a4761a04d1174b7baa33ffc2747072ea61831794127090e53d3c04fa09540172b867a52e5d5026cb1ecdbbeee6c7c282011e906f74d4641c1e26da9277af4450a508235b1fe84682289bdcbedd72b6e4f551f7e946ba76e1abbd05d4cb3ed0b5a9069d984c9313df1a5716ad59da90c552af9a26a28105ffe75f8b1b3f83efdd4900e45aa519bafc1cf1f05a6dff4e8bc785c8064e23ddf546b4b3e2dd8404db5443898d8c64f91fc3afe2475d57859529efa285af8931b30f73efaf3de41577f9711669a79e1c032edaffad3fa9d694167184b09fc22e41dd85da0050924e73a35804a6f87897ca4bdf28429e6b70b627f3c6433bc21373d32141274655c13ef43fd74dacf81f44a892b9844cf94b9e11e5707959fa9aeb8841d89665e2eebe21f31681be420b1f9fb49c70d72c2e76fe888b563334bed559a2259367bef153cdd52d15c611569f86d7ed6164ba8f63177ab5075d2786a5ea3ebc20129518ab9842253e132bdd915211daf5c614f2c080458c819c77fcfeec614dbe58403cf258ff58591a207cd741bf920d0c4d6d5ede9bc8c5aec4585cb660d565d0a37186d98e1a680419395b137a1247971d77ac769574962753a33b0a250db8a66c29c80850d65d7220212f2e387b7cba50925232932c823713c7100fb71d906e9205f04eccbca49c28b0084827c32f1e773501c6b35b6945b5c91877108ddfd7cf8c523970f8f7f065c9208e66bd3bd6c22d043e3e55b689078f5ab94f99e651988d18b251b010130c01548d389d3590d5669a27fca74f2cecbc382d2fe5f56883aadfd0d5a61d0ac4d7ab73963ec4e5ad52c66d7b73199c2f1a55825a7f01a0dabc34d9327e871ea9a231d9ea013090857f792eb0d637afa3111ace570be449c786aa282674ead1c3431bcca74f33861bc23d10e96ecc2e7e3d9bfe1b510abc509e136701f7e7aef54780f8921eb3d8868866d7d17760237afae419184fdd8667d220b2142ec0293a33be9320d2669236327b77a27678df7720088eb953bbffaa2edc5317eed29cf20fe30200128a8fbd1ecd7517d20ac8791ef6bcfb0aa1b322538a444f40e7cd3fd48dc75a57ea365d64b542dcf5a7802118d9937e15fb1fec39267654a7fc55a50bbd34b9fcd98f272da48a36014fd2424ddfda6739edc8de480af22ba29fc7c3b7071756718461d83ad1d29719e1e01d38aaccb5be841aa7eb460545c91f12bb73c3e83cdecbfbec79ce1a49abd781b9952b73b18167137e43a06d4532957abac3b1cf6ac7e211773e8533b37da71e90989cbef13ab7f2776e90133efe34dd851ec373eb7db5c44cb4b58d1c09540f349a31bfb4b23048f03221a8fc108b8c010b4cf6f30d15f2782853653e95ca3826391f1fe0df2ba7ce298b7ad0fc91995b4f61c720c75f096d080c781bdd9c97f44ec643d865e32e0143f85b9080d72301d53171ce43a1bf2bcfc91fb9e6683b707adfb2d412fe5760256d05183a68c8a25147110efad04cb23e6cb9a3d7df101cb61a7551496b6b94187c7046db9d78824a96069e965764fddf0fbd4d95e85591dc2e17a4364953ed2b7441ca8f0946aa3dc61089f0954747ac2a845afb5227a1152d128122306388052c1fca59bee3830d226310e7113c7a196b9c15945e8236f3f0e0b5603066bb570e5ad9d0876cf53b0c33fcb62064443ddc0b87589b63f8daa01ef2ed1d9080818de70ca428feb166741cc0e443b6c86960d17f34bf2e9d1cd9a301d857dd78225079d929678e7c4205c76f146546690b3a74e89d2b0fd7f74d7d182b83b0a780700e6f038b91de754659618b3e69b6671ac9d3f0a3511ee6ef4ac0acc909924b82de4d7910a36e2f0eff843ba4348adb9d107c9119e0e8abdf0065cafa7b7a8f9184a87574d120ffb81b88dcd9288a618e934351a3179779079211404a79b787245efe3562272a1ea4896f8f6da6b8a26d513771102a5f83d14526851081816e227f2c5650f7325f4ae60e5bb258912c8f6220192c003162e8899cfdafef85850b973fb45c22393e0a475239c209a18d29a573bab1a4a4a007c1f280d0c74f8a4321d4a66b56d7bcc3ddfcbee80a0a4f9bd792e426e193ddd9269d27f8c2fa69d7a50415af7af24eeb446be4e9cf1bfd5603f68147f7261900f6012606ddb5fa1f79731d7bb02d9a6a39faceefd0645c0e8d18c412bf2c1034fb0b92d42e9bd71017d95e7ca55d6bdce358d59e4131e5b1c17418b236dc8d4fefdeafe2725d15566d0d0d2a752f4a7200c7c5d367848707ac61440d6920e64290816b0ada6c82bd1e131a75a4ecc8ead5d5b3ff754981a7dd446770d3a209d0789b6de7cdcb25a8858ba039b27ca695e03ff7d1c3bfee28c5560b676cad4dd49b2f7ac747700d9dd53ebe92af4ac7688620f362adcf9443592c270aedfe6756af7e9b8daf3415cff4347c015be26bb191b287c81873790e9d1d26ce0c6c05ce44002d227110366e653150c8a9efb640e90daf6372db6506ec3a6297e56de32ea0a59b4aa42629582fd47eed3d32334cfdad218b4a1b9105a6d10e81738bceb85d26185e7051f2431a3141c2c426a02cf5e04f499d98fca9904b998d19c1370fdebbafb21764825f8beadba62e79e154be0344f64c7e978a3f0a381d026c7dc78b2b4b767ae7f49576afecd6ebde673fa41bbfd5c042874b900eb76c938bdb13aa829fbc92c1cb60f557540adf02b00855b440a271a969362517a580225d5ba6fbaa3a724b525172d03bcadd876c65685d7809a251a9ffa1e027e1d52928515a7ac76a6d1a35f3f2418f8f4f340ba3f1c53feb424652a167076644a760deb3b0d717c208498795f83bf46d1e016bb6ecdd9fb285b39d9f998f7f5d50f90bd83fdce7bd9ee9f7e6fd45a19785d023782a81da67a4eb3250cfcbea862291dd3af43e7e7ee9dad55eb3da4d3d64582f4eacb51b0e2269bfecc9d5ff572256a1ffc6ca1dd81143066fa2ada5fa137f68ac7b7ac2a47ecd15bb86560c31d2cd477ad856e50921ab469e10fd5c85e84b9cd7b6c15a1b1cdbd6f681ae3ac2ac03fb13624b37f0ed7198529e25ef8a5cc9fe67be6b8021e1ee77728cd40e098be66d51a0e70596b3ff87ffd64333421aaf6cd05c6ec07da1f6d259fdd4154834fd6eaef6eac882e30fd3661db4fb9c86c2f213272f2dc7dfb69cdcd137a9ff62f23ddc1b8c3326b90e6bfb27f2a7a0f623067493f0cfe885c837af5a4f465bdacc4f40521b5767faf6c03b75d74d110c9bc1745e60d04a6b6e7d3b40296dab8484387927a81c6816d80102440348ebe104fd8fcca6c646965c54e4fbd0011c49d15efe93ace33d7f339f2e51fa26c701120ce1e9d479814beca90c5cdd103ce08162974d20150d49a4f76dea5bd4fa6f05009477857870543c3d4b44e20cddf974195534dcdab88c6dcd1910b2effd86d2a42809429b808d866d42e2eabe7ca41d000d457a1b32394670d7fe76afb43705c8c210a32bfbe33197123ee17b5144872c345c88ba37f789ea68cfadc1ec331365ae5312a99e4325961ff72c6c672f119e05beaacfe959a182fcd2288cb3df65a34631cfcdd6986277a1213e9828c2547fad6f3e2a4134d719aa7f951a23e34632b89dca", 0x1000}, {&(0x7f0000003900)="a3f5611b9cb9233a35ed1bee26ca3d64a0626f7dcfb8bddf9027293f67945fae697a6809ab48f04cc0b8ad67e369ce8f1df14d1ff03e1f1db4874adb335f68f11dd238bed05777c10cea4cbed192186a43d3a652fd74960d04f98d182888baf87cf5c639d5e1f78c4d3ff5d3f503614b299bf126911f703629c2c60b4feafd214c5a97ef0f0a125327d26bf2261aacc394f610ef88e5d2fb0cca7c88081e99004e01f72d0ba882827f7fa018f6ad4da729cfa80f9b66649c", 0xb8}, {&(0x7f00000039c0)="f6b6a4d612cd7f6b160a6f6def2e26c7fa8a02970fdb783445e6b7c9312e795d713eccb0d8d1130ed0e032189a4cb6432e376680d61f614ee55580b2d72f24dc1c30bbcc370731167e95dd4e2151f528a2664c08098c09131617393fe52c48144b1bedaaf4017d33a726cf1baf1d6c43b6738d4d6d1a65a15bb14b3f1452344c9d36cbef96c6cd4c9d654b18ec6cf5da66339a595eb25848100ce26413838149ac8e1bfd86e77e14d0c0a9f91a457e213534909e92fa7e39ca82c1c3fb89dc0c9c993b9abda00d96c127ae684294275572ee8d6a30c17aac9116d70b246009bb3f6b", 0xe2}, {&(0x7f0000003ac0)="6da152ed00c4c5535ea4189d9d15683ef7bcec52010517878313f62691670189e475148a1b7860d8b63792bfd06f3044dfe7901e0608f64093562f0a950b901d7d1e5b1e04625ce7323cbfd78c7005f649a8128480956a1d620ec7e6593249b16d31a02f60a6c53904648065d667b256227001c43f81106187ff483a4b04902d9fac0140837e6950833207bf1a05464b76fd4f5b34d9ae80", 0x98}, {&(0x7f0000003b80)="13834925afe5bc86e0f3d90e9393ffa48ac87700c7af704de1b8892e5f1e2492a48b2e52fc541474e5c92f1c99009f706f76cc809de857fbe4897d8989426fbd88c9943e080d6287e512720d83b43743ef0568cbb8afee2c860047cb1dcade0388d2577e8803fa397ce98e98180facc88dd18311a96c13f3506296d1c94cebbc4025580ee434bdf6c134f89264c778e7ec2af3b22a24d69ba6aa8cae899a", 0x9e}], 0x7) syz_open_dev$usbmon(&(0x7f0000000200), 0x0, 0x0) (async) read$usbmon(r0, 0x0, 0x0) (async) ioctl$MON_IOCH_MFLUSH(r0, 0x9208, 0x0) (async) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x412de, 0x24, &(0x7f0000000f00)=[{&(0x7f00000000c0)="03ff", 0x2}, {&(0x7f0000000040)="02", 0x1, 0x2}, {&(0x7f0000011ea0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallerzyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x3}, {&(0x7f0000000080)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000721f1f63721f1f630100ffff53ef010001000000", 0x40, 0x400}, {&(0x7f00000100c0)="00000000000000000f000000fa6d11ee34254e24a12e20d52e195fa63db5e68c2854ce6c0100000000721f1f63000000000000000600d1f7b7d31b0000000000", 0x40, 0x4e0}, {&(0x7f0000001800)="01000000000005000c0000000000010000000000040000004b00000000000000593ffd350dabb8a057d1400df0ceb0790fbfb8c9e4ef41fed453b903eb61beccb858ebbe5b14bb01b5539f40ac7a8b6ded8264ee0c2000222334b2dbfc63dadffdfd645b8053becc1954eb64dcbfe53e89684c30bc9350de23613cd16e452dd3809425746b3498b199b74b661fae618bfac62c3dc18a214ff857a79dbdb85187c4683fc18ebd1a89498266c406cdfca4c1e08751d1fa8e560d8ad513a2abd824f2757d44ca947d15c116bcafee901d92dfbdb4355eb7b8afc5104c21", 0xdc, 0x560}, {&(0x7f0000010140)="02000000120000002200000060000f0003000400"/32, 0x20, 0x800}, {&(0x7f00000005c0)="ffff0ffeff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531000000100000001000050166696c6532000000100000001000050166696c6533000000110000009407090166696c652e636f6c64000000f3c83b7e5729fcd113497e91ac9fa4acea86d3683813fa0142e8d6f602191da95b4310ab940558eea0ed131bab22b03783804e13ca980a971875b09b130f1784580ab15de16b33b797b1512fd71065de2bf7d268055da489316f7bfe2433fc3388b847a3d0179d67ab9221c23243ea5e8cf91ef30d6b370f692ac691bed6d788ea53138e205ac712efbf2763e55682f9ff78c86ea514df071f4e8a78c157dbaeb86bc809ad17", 0x925, 0x1000}, {&(0x7f00000109e0)="0b0000000c0001022e00000002000000f40702022e2e00"/32, 0x20, 0x2000}, {&(0x7f0000010a00)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x2803}, {&(0x7f0000010a20)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x3000}, {&(0x7f0000010a40)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x3801}, {&(0x7f0000010a60)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4000}, {&(0x7f0000010a80)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4800}, {&(0x7f0000000240)="000000000008000000000000000000090000000000000000000000000000000009c92f2405fb8b3643a4fbdcfe38f8753294cfe5e6436c8107421494cbfbca3b93012a21e4", 0x45, 0x5000}, {&(0x7f0000010ac0)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x5800}, {&(0x7f0000000140)="504d4d00504d4dff721f1f63000000006872757476696b2e632e676f6f676c6572732e636f6d0000000000000000000000000000000000000000000000000000000000000000000000000000000000006c6f6f7039006e75782f746573742f73797a5f6d6f756e745f696d6167655f650500"/128, 0x80, 0x6000}, {&(0x7f0000010b60)="111fc0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x6800}, {&(0x7f0000010ba0)="0300000000000000000000000000475800"/32, 0x20, 0x7000}, {&(0x7f0000010bc0)="0400"/32, 0x20, 0x7400}, {&(0x7f0000000300)="0500"/32, 0x20, 0x7800}, {&(0x7f0000010c60)="2719c0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x8000}, {&(0x7f0000000200)="0200"/32, 0x20, 0x8400}, {&(0x7f0000010ca0)="030000000000950189ed00"/32, 0x20, 0x8802}, {&(0x7f0000001780)="0400"/32, 0x20, 0x8c00}, {&(0x7f0000010ce0)="ffff0100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff114f403f5be66348b2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02c92f49b06ee87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0500"/2080, 0x820, 0x9000}, {&(0x7f0000011500)="00000000000000000100000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000009800"/96, 0x60, 0x9c00}, {&(0x7f0000000380)="0c0000000c00010226000000020000000c0002024e2e00000d0000001000050166a2ed7c203a432db9696c65300000000e000000d807050766696c6531000000000000896a3bd8cbafffe07274487985c708a24ee9860b41b624423a7ed80bc0c8b23588a830aaaf0d07a67580dd05323e57a2f874d55284c47fbddfc483b1306a46c9504f0807cf0a333266e4d36c909ee7803e4283314969ec0535caa2b03dbc412e8fdca90259f51e3b8b2c3c4af6707763c0887d46493697fa5dcbb85d051473bea7fb89ca36c8c8c3442ab8793ed66b7f25bd5425bddbc0b624f6f0812102302d56d3cf73e7215c0d267ee639ed4227449aafe05f11e89d1c0bba6cb0b89f6cca474ebe3a5ea549f181d0ae9f4426f9c4c0e680c33111f42e8c6d456a6209f621543065b000c0a20c77521293da35dc6511bd77eaa7218b01223d9a07fb7c5cf82a", 0x144, 0x10000}, {&(0x7f00000001c0)="00000000000000000000000000000000786174747232000078617474723100000000000000000000721f1f63721f1f63721f1f6300"/64, 0x40, 0x10fe0}, {&(0x7f0000011640)="ed41000000080000721f1f63721f1f63721f1f6300000000000004000400000000000800050000000af301000400000000000000000000000100000003000000", 0x40, 0x11080}, {&(0x7f00000116c0)="8081000000180000721f1f63721f1f63721f1f6300000000000001000c00000010000800000000000af30200040000000000000000000000020000001000000002000000010000001300"/96, 0x60, 0x11180}, {&(0x7f0000011720)="c041000000400000721f1f63721f1f63721f1f6300000000000002002000000000000800000000000af301000400000000000000000000000800000004000000", 0x40, 0x11500}, {&(0x7f0000011760)="ed41000000080000721f1f63721f1f63721f1f6300000000000002000400000000000800030000000af301000400000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000000000000000000cdf5c2a5000000000000000000000000000000000000000000000000ed8100001a040000721f1f63721f1f63721f1f6300000000000001000400000000000800010000000af301000400000000000000000000000100000024000000000000000000000000000000000000000000000000000000000000000000000000000000dc348c9c000000000000000000000000000000000000000000000000ffa1000027000000721f1f63721f1f63721f1f6300000000000001000000000000000000010000002f746d702f73797a2d696d61676567656e323238303034313234302f66696c65302f66696c6530000000000000000000000000000000000000000000db84fbf3000000000000000000000000000000000000000000000000ed8100000a000000721f1f63721f1f63721f1f6300000000000001000800000000000800010000000af30100040000000000000000000000010000002500000000000000000000000000000000000000000000000000000000000000000000000000000079c0db78210000000000000000000000000000000000000000000000ed81000028230000721f1f63721f1f63721f1f6300000000000002001400000000000800010000000af3010004000000000000000000000005000000260000000000000000000000000000000000000000000000000000000000000000000000000000007f63779a000000000000000000000000000000000000000000000000ed81000064000000721f1f63721f1f63721f1f6300000000000001000400000000000800010000000af30100040000000000000000000000010000002b0000000000000000000000000000000000000000000000000000000000000000000000000000009dcb4e4c00"/768, 0x300, 0x11580}, {&(0x7f00000012c0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x12000}, {&(0x7f0000011e80)='syzkallers\x00'/32, 0x20, 0x12800}, {&(0x7f00000002c0)="0200"/32, 0x20, 0x26c00}], 0x0, &(0x7f00000017c0)=ANY=[@ANYBLOB="677270718a6f74612c6e6f6c617a7974696d65670c0000000000003d3078303030303030303030303030303366662c00"], 0x1) (async) ioctl$LOOP_CHANGE_FD(0xffffffffffffffff, 0x4c06, r1) (async) ioctl$IOC_PR_CLEAR(0xffffffffffffffff, 0x401070cd, &(0x7f0000000340)={0x3}) (async) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) bind$bt_hci(r2, &(0x7f0000000040)={0x1f, 0xffffffffffffffff, 0x2}, 0x6) (async) setsockopt$sock_int(r2, 0x1, 0x29, &(0x7f0000000080)=0x7ff, 0x4) (async) recvmmsg(r2, &(0x7f0000003f00)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) (async) writev(r2, &(0x7f0000000540)=[{&(0x7f0000000500)="f8b247bea298d2cd4069de6e47cf36f60e03d95e3fcdcde783baa99aacaf8751d39a24da7b6a8f74f7c5", 0x2a}, {&(0x7f0000001900)="28b8ae1e550182b1e50e9ac9626853c15c0471f4e9417ac8319cc6cebbd37df8820461664667d19dfccde8b1658466edda3411885a21b70da4868dfcad76061ca5b9577f30a960979d00d2926e9bf069b5efa18610f9654988c3c5e143263ef20285e83828efcd36b0c9a9855260ca0fb629dc2c7799fa2052191cda2135db2b00b05c76cc24cf1f8acaa99c8f2339c77182b22dabedff0da8e26158766ac6d72fc120ea6bd13a82d1adb1100e48f706285debb886076213c47be348177547a35db54464c9e82de1de483c8a485a9be0c702a3dde87b8022b9967f68dd99e07939f5251732773a547c801f722fb700f5f48bc8f80ea7bb49e3874fdd60408f8daae949ab16b453162b256b25b553c31c52868ee77634730a8f24de521d80512dcfbc6f976c2abbb577147ace86e7d80ea3be93f25b45858215436f5b52922da0ed14c7c03c3907137a7e2104aafac6914ea8c428fab84e48e734b6a02da8696a1a699c9ec51536362e1be34217fc14f30e4a5f9704c87384c2a2162978fcb7bc3e47206174a17e56a4e8a6ef8d95cc6c7f7d2e811f65b220c26200f87634581f03fef1414f38678434fd31f2ac1c69486b5e78df67a887037395a3f5988c54c2f313576db194919601502b397923d4056ef5f8295b485ff5ba8ebc1176f8f5e136b0f9e2d18bad44afb9e687169a728abf2e1f26a32472b3fd639c708fdf6e2e97847fb4a6333d0d713df0d746292aebc0c1f77a193b796b53276db36714a0a4b43c07bb73626cb11655551484f4ad2d03fab522df2bcd54884555e4adf42ea84499cd97ccb985534ffdc62905ed3fdc273fe862e517b472a2ef75e7c65623ef4afdc71a2a7c69345681fe19088069c66f8c5d86e040de68d3f5ea9f1695f496f770b1a5ffd6667052aa537caddeea91f04fcf7b832baf23dc32e4536694b17225d7fd5f2b80fc4f2194f56e93679e0e0ea485023bb582ef48f9de7518eb0e6bce5496a1cf34de37cd1c1bf556629b0bebcf3fcf06abb4e3af1e2b4d6e554ed5b6cb6bc54d2a68e9c0642a4c35afbf6764e9dea4d0d199552610115df1dd71a14cdf188bf7dda64460ae73aab987e6978b833d05bb094702895485074d8ecc87a10425c162461d58b38fb2b50e03f567a6581aef36f484254895bd33ad646ee6222912e799198049d5a7b8849caeea23330c91db3e870368da9fda2769947ae9c671eafe16392de0980e142b3a89737575d9e43e4e9d87f95835d41b9959ae3983de24cab09cf6567d4ec47086eea398558b630deb85587bb3c105a60fdb7ed7a5b8100bb48b3e2aa1fe378f4e2d25001bea00f71779c8e384d7352216fdd1b878ab434a1771ecb00b2c3bf6712dde1db62deb9b6943b9a0d9e44593f20d1fd9520c31b471850259cc550eb8e23ac1ce52e44c8a2aff4b2a4cc05ca1808ecec366562a2edd3755cd525802be795a26dc00c5bf7f337ee11ada04a40b360e49d9aae3f0ee9a4d9f4952b58dfe2a21933a7c9a2e8009c13bd8e66fa129ae04e52c18a03aeb7be33833de2f1cd4ce20ef2d15424fb50c0ccd7dac711847640adc82a7b3c1380f7c9574a5cb77205094803babbdec033a8fa4800805c27c40da2e28b17d9458a0ba4f9d4eae4959104686b233380003f57ef07e9cd2327165b596e73122232fc670d8a7787aea0b934eb7a6178e1bf62368fee11917e5fde6711c6ffde2042a7380ad1f6582f13da37fc34044d631238bf6dabfa6f6cb518b66c3d68e67d3eb71cfb30b4a2d60f371dc9f0f282187b4df20a8de8cb1a9744c94ade7a55044780b264f6cbf412eef081e9ddd67eb5865e45f279ec631cd1baa88c6f43097668fb411b6af36f5fafb6ed21935a8eab2f79a4e314e687d02fc5479f74a06e75f7cab72abfc3c11bbd7d86e6c4a15f6440bbc14395f43f08c0eb23fc13b0d2dcd4793b2502e2c201cd1cf4aa26705e4b97c41577e1ec92bd2c4ae1d1b213fd17e4e4a58e75710babbd0803541d580cb6dcb4d24df97330ce2f6be7e2da9dc45209a1d75c7c5265457ce1f50d8caf4c3fd62b7c9d9b34752a2549f0e387d18018d312f504996ef2e421f875ae79249e22052c8fb7a06543a9d8a9752b9461f69a1e2bf824d570d6a6752402ffe1861f274bf70c94b67cc50d36fcef0b444c8392d3b3f1e4b4addc341f8a17294c8d1a6475bf1d309d344f46444ecd9d71588ab3570d7d01033ca02273f4888a67c221c32d0d26db190937c88ec088dac6b41d99e247d9ca8fda47635e43715484a2f5272897bf79cf8bc98b23c65a731d2a03f25224311e28cb846af0669d81cc200cdac00c675cd2a32d12b53df18244d4bf5d253cae0a0d0d3572afde6425898bb6e5288108530cec7b1e36ad465615975bab6e8af8657bec750e0b017aeac42ec2bfb2ca6eaf374373e9cbbd9fbd27f7eb5fb0cde4c3e7f7ebe72f3e81f49e33b0405c7c1d4d1519cb1aa82fab582980fdd3bc00d1799c8b59d93aed11e04ec7e1f6c9660b000e92a40dbcc07d7172f3a85213b304871c3e2b75b66bd8696cbd3e42f50a43e006461c3c0276abee292abd5d1bbdc9ff36e55353207c4b01a1becb9cec166b190b6299654b3a50c5f35e4f508a49f8578fcbdf370fac9a89dd58dc98e7e45267b34af4eea8279e4fcee9a73ca7eb0ca635c39ea88bb5b038599bdf8a509816ab0a8bd8662598f2fcd4d59665c61127c24041f2ccd9925f94dcc38feec6da2fc2f084ed6537e77dd8d5e801aeafefabc816cdf8389bcd941b07650b9c573fde9e59baf535e93f0d8e9b970b9738edff7192094530f6b067c63d76337323c635d6b07aa50832110044089b5b9524f20a92ce20c58822bb83b8a02647ca988e5edafccd49794522cffc7e0329fba890c2776273e810efb1ddfa20bf238e7d90509fcb816840cfb75f504aecd60165fa1eed4ef93a4e2478251502b74cc2899b656a647a8f3bfc95a7df639858d9b8e43b3099d2090e894e2a325c12759b5786debed454d91633fea7eed650ebb04ce9d907058f8f0478cf40dadce94e1cfbc52ba9ea7509d2f759432180d44f3687dda929d7aabe5c5abe236acef6a8c372ecec40db780a819d627d2648fa6d722690a4afad47e84bb8a93bf27bcb0f3a465f597b43e0592bfee640a1350b675dc0885df759de15f59c86c0d9be9871dba3903ac214bf2bfa6ef842ac9aecd368afc1d042e3f5ed44e6963689dfbf7074263d55077f394f0c257901995ffbd1b65590e3cab761cb548ab00d842b40c2dcb6174009bad65da3de8f7ef5f20c0ee44c52543897a778877f51abed93fb2d328d733734071a13e27dcfd04ea6009b08d36b14f1f5ce53ca191e75e6a7558f124fc3e449d33ddfc5def6cfad360464994e5c1dfaecffda9f821c6804ac04a3d0ba90c9df5d11bb818b14ad6a058a4659cab5c4529f3dc82a5f325ae4e05c613b4cf2f6a48c710ff986ab7416b90e57230d7b447c0caabf1a2e27ec4a7f2583455678f857fa9236906346e90adc2307b71543058f3ed288d4d1bf2e9a4d0495c7f5e733588322343b8e9f7395af550e37ecdb628b04178bf59cce8d1f702acbaa42cf94d0c7c15b153c547f0c61e16e1063c1f57bc57761dad9b984190e5b9838e6342f4d75bca7b493884e992b26d7fbcaa598d213001744644645ac7c357f32ba823904a34cbfaaa88f95b478ff9052348815f554cc92469df1887074fdcb2387223611cf4f37a8fce90af3f9c14137b3123b56bdbb4ecf77acf0e05c5982d229aefbd98c45309a46d16ca2e1720609dad97e18d8875fe009a039b011424cdfe5302038dd2e79c4cff711be7d39262a1f88338076857f8947b0edd0292ea9aeb9ec2a18c0e5c0e308c606b2ab6ad5d02f2f800de78996af5fb421c5f41a3ff38c30fcf00438b5802e24d0bf6e8c3b2d959f011af3318e9ee9b1fa428c58187124c91c3df30ea9295809f4d619dd9cf24ae77f3228b00d03ce6846fad7711ba47fbd3d395c2e9360b11a6ab91475b958c1442b791b9ba2443b54520d31acf28b9c0567ad913efa864ca6e2e0994fae1f049ac51cfa90919630ef097563f973b68f898f953e93d8b7bf9f9ad87c56a420b47aeced839aa3b268fa7d2634cc9e075ef31bf62d1b6f2d4ee692e2ec6b3ddf348dd78370f4dcbfebe2bf009e1eb4837d020d7522fc69cdbfe9fedfb0ac4b103b0a3215f720e892e345edb9140c5b65ee03d206ce565b4e70176e13d49dc7e7fac7d70708ab7542ff60dab2b74f4b9070e8fedd1fa31b11b40d1e27403a640ab940838c3dcc6314b28909b10bdfc788108c338d8c033b153a6dd8a340d38b25ec693528e8a228c741345463fbad12e37b433f79c45f40705ab773131def3830f7854c7c1be503752fefb4a7cdba3daf3ff49cbeab5fd730d3beea01524fd4df56fe806bc51d349744c9c6630b64e9e0de996b9cde55a5cdeabffb7b56d209d7788505550ca06ea27143b89924048f9a54d3b862aa2b4f374ab793a85d1cb858ace7d52ef6346fc36384930f185badf8516d827ac0209f853f819737f02e60e90b93075241b532f7cf485a63dd8bdfd232611c01552ed9e57bfe49e77a65440e78295a9fb21d25d2eb60f7ba7d676fe186e691635c4935bc146c03cc24bd491669fef1d7647f8314b1fdbd3f799d1a594ae98950aaa791230bc44786fa2209d710441cba130b8c82d6183df1d1ea7235120672060ea995219d57f6ffced18d3212fb4126f36afea0247c7d673d5de2c461e47540a4c1652199f09f1333f8d7d33e411f9ff029fec0f2cdf166597ac109a8733c737a6e368ca1399fd030985724c85dcb944ceb69643631aac2fc72768994b5be5173a0112fccdbfcdd1edd6d50ee805cd3fe5c6f7a8b9cb4d5454fa8545e1495666df0baac6a56652c4eb67aa283267a8d0b61c6d06448f70b2173d4f0629b2835f61a7cf2975a10c6ca81ac844d2f5e9f9c08e132efe9248ea4186c9301942f87ab113a64b98e53d425bb36a46f6e7a125838f9219ed37ca1dae940c618676414c3ce4d42feb0dd6debc4bd45538d0f7081933a8478f98d5b934587f7eae24adb107e4a0c9a343c128f99d27cfcf91d7aa173ec8492680aae4f0a61fe2b11c850ca0e8cb2ad42a3bda19158ac14f560a31d17e627baa3b19af2fb70e85f71de9b932b3f292ecb714249d490ad62dd9c1525933587c0f5ad9b7d538bc26807c79fe39d6bb41ba954c8b234a37e0ed121ca467715310f7173ba874c8cad457b3ef823c58d4339659e17252a2f0f52de705a8392980f6620b960813897593beeb358e2b12fb1905fc45ddd3b4b5d7577e024e664ccee364ff344db4a2bf167f581f8badb302bfa838171ab6c61097ad6b325bc0ae49df95c9d6c3fc3a39801f1e94a32f7be38a3361b6cd04bc25c592fc9b5d9f6c60c8b5914aae9bb96ffb66f8e649f6b78a672b2d0f7b0e744002145820cf83641357d81fea979ff8b69639e5c79c3e72000e0a6243f6b8810dbed1ce92cd04d234ea05a821d5acbeaa3859e561b5abe3af1fbf23aabbcfcd2913c7c2be1972fae15416ccd432cbc09b2b3e4e3aacebac4c2efb7f57c7cfa959ecda92ebafae24d90309910821694f905628421d69baba8bf219e84b7b36f1fcaee551b2f22129670012adbf781e623c7728f51fac8ba2f394905f0fa08e85d6fa7078300344c2555e34b22b0c053b4d01323c963d4f78489ba331d0222389b0a71b4c980552a55bbc8af58d6b143b0cf1e103d212676b74ee46e78ec22a", 0x1000}, {&(0x7f0000002900)="e8c8ef4ac09d81271aa313cd0b53c34e77165cfd046e95d56ac2fef2c864fd41f050f1a6d80ae589f973185101d7a459440cd3d2e22aafac3d1661454b093fad7dda0a4a2bd18cee45d47ff18ac5e39435131acfb1d9011ff7dc86dd208014e20850ee7ae8532b3eb794ddde144f4bd7387573c5fe13c48498d7f4ced0f3906abd16f851ebb3f573afa663476eef8c0b08609e8b977a4ead2d446c2237f310e0ad3373eee71d35362d32987a334477f3cbcf0be4a614bc53b726d15cc228386a50ea4879dfe41e03ef6a17e5d84aac5676e9766ada000410f3803e4f563d1c3b144fe0feafa2893fb3deda44eaee5e085a0bcfd55d26d8f2166b67df0e04303ad9e6ab0b3be862d7faddf0a14ba03b21581d561a5dbbb687235f81e782c02a1acd7a64c249d251fad49e0fb394887b7d9a10dc9f59dbc98dc2108dce17126f52c5776894802c0a457513da5e7f848a5fcb127e3ac50e5bbf4ffca284aeb08a7590d170ba3b11a1b7b1428b2296907b7bdaee9ae43173ba566cc710eb5355515f305944f729116b9da3826f94c7878ac94f84b237c4ebc2ffd5f39c1cc97bae5ed99b2ea35dcb6554554e1a18e0e12b69c50ee81ed2973cf559d8ee68475c583fb68ae97edf8769d21f8c599d1d5d5476b88b9733262c131a824632e78f323686e96298258eb3040da1fca2a79ee793457d31b99bb93a95a228fe5a1036e69d44590cfdf1fec527eba0d5e486414a7b5930f99337ad2f7df3370a7d7e27229aab9988219bddb219ea3a4f6c8722d0c25d5764b7b33a926ef42ca4c0333d442f96c932152e44b59754834f7ca10a240450559789d0fff51b502c03d50505e2f17228ba5d3ed74736766363caadd771fe028bedce7528d1e60b79af34538694d16ccbcb9572ee17fdb3ca841812c2f7ae956c032b2722d9bea8b305c8ba9e073407a35acedd0850da08d455e527e1ac0fe471f46bdf7c5fea5d30dc2c3b99f5c334b9b488d172fdd5f48936b603b7933490b42a50e791a30b01aa145b2990aec7118cb0dc82e71b9fc3c1e68ea0d71b3e3fe788ee309fdd6031520e1ed99aafc74078f120a1b9ef70c3d5c1798d55adda691365f1a305ba19df117132a6ae7ab4cc447872731ccc326c5e4eef56c9d379119410f3fb9ce2c30d6a789ec2c43f0cd6ad38626755c4d222d306e9ab229b4d8aa2990873551da8adc0eb2f8aa63b5edd3701a3c5b861cc152e1da421a5410349907fd5baf98dcf5ad6e54a4d6e028bcc7defaf18477accbbaa8962c9dc01116c7da76aee4db8a4bfc457533024324a740cd497ac532c1e33bc8e63483f2866ff1a219494ec6410290576d993d76c22a0b5e2aea7f11e179b9fbbfec2cb15709d235398ba452c5442bb9a21095808f264eaf9217af9fd41ae8419a922b11a7716963fe7a06eaa1b75b65e02571b857918db152b4bfb0431b6806d26febbc6188d4e6110f238f5e4ca9bc429c0eaaded90f3fde3d12a6f8d396b6a0e500303f16c57dbac989f2fe7b4b290367e89ff5a62732d3581aea0f065090d1f3daa5784890866d41ca1eb66fa202e161f91bfe0a7979f8a06397c084883a47171d421958ed7cb3851f43555041fac9bcb443fec9cd2b21ab36d12770aa9426c6c1d305fe33035a3eaaab66ff8606abd9f0e0c98db9e93d6afa4e50c280f40f95e5428839f0c96a497a26e7d4b369293692a309b8eba775f6bdc23da748cd024b104d66eae8d8357d779d82a904bd40f84579d813b69b8c687d142e01ec7d4ace401079d5f6716204354b7a5f4b44cd34729e5221b70651cf0f148b3f0cb9b85e3042b69eb0c46f5a8abe6626292aca8bff47efbd241d73282f00dea6e0152c7e0531e3ea1ba44e475753671374ec6949ffeca157e1d345d94b43ff2a89b40300d99c73f42ea615dd55e0fd1427327e6baec7198fd7b28078d0b12ae3cbb9abb6ccd6b28f40c894290c1525c1ab9b54a20eb89eed907493e551d26a2b3520f02649fbd5081adc5aeb6953020e282480431ac29070c1b939cf9ae7cd843ff4915df3b5b963a74a6062ccd4c93cc133fcaa099b306baa1af5b5df96f84ac68dab338aa2d792c0e8f3159f8ac7db05ad61d92b390a2ec9e3d9b9f524593d41aad9deb866809ffe3d4a7143f7602a4761a04d1174b7baa33ffc2747072ea61831794127090e53d3c04fa09540172b867a52e5d5026cb1ecdbbeee6c7c282011e906f74d4641c1e26da9277af4450a508235b1fe84682289bdcbedd72b6e4f551f7e946ba76e1abbd05d4cb3ed0b5a9069d984c9313df1a5716ad59da90c552af9a26a28105ffe75f8b1b3f83efdd4900e45aa519bafc1cf1f05a6dff4e8bc785c8064e23ddf546b4b3e2dd8404db5443898d8c64f91fc3afe2475d57859529efa285af8931b30f73efaf3de41577f9711669a79e1c032edaffad3fa9d694167184b09fc22e41dd85da0050924e73a35804a6f87897ca4bdf28429e6b70b627f3c6433bc21373d32141274655c13ef43fd74dacf81f44a892b9844cf94b9e11e5707959fa9aeb8841d89665e2eebe21f31681be420b1f9fb49c70d72c2e76fe888b563334bed559a2259367bef153cdd52d15c611569f86d7ed6164ba8f63177ab5075d2786a5ea3ebc20129518ab9842253e132bdd915211daf5c614f2c080458c819c77fcfeec614dbe58403cf258ff58591a207cd741bf920d0c4d6d5ede9bc8c5aec4585cb660d565d0a37186d98e1a680419395b137a1247971d77ac769574962753a33b0a250db8a66c29c80850d65d7220212f2e387b7cba50925232932c823713c7100fb71d906e9205f04eccbca49c28b0084827c32f1e773501c6b35b6945b5c91877108ddfd7cf8c523970f8f7f065c9208e66bd3bd6c22d043e3e55b689078f5ab94f99e651988d18b251b010130c01548d389d3590d5669a27fca74f2cecbc382d2fe5f56883aadfd0d5a61d0ac4d7ab73963ec4e5ad52c66d7b73199c2f1a55825a7f01a0dabc34d9327e871ea9a231d9ea013090857f792eb0d637afa3111ace570be449c786aa282674ead1c3431bcca74f33861bc23d10e96ecc2e7e3d9bfe1b510abc509e136701f7e7aef54780f8921eb3d8868866d7d17760237afae419184fdd8667d220b2142ec0293a33be9320d2669236327b77a27678df7720088eb953bbffaa2edc5317eed29cf20fe30200128a8fbd1ecd7517d20ac8791ef6bcfb0aa1b322538a444f40e7cd3fd48dc75a57ea365d64b542dcf5a7802118d9937e15fb1fec39267654a7fc55a50bbd34b9fcd98f272da48a36014fd2424ddfda6739edc8de480af22ba29fc7c3b7071756718461d83ad1d29719e1e01d38aaccb5be841aa7eb460545c91f12bb73c3e83cdecbfbec79ce1a49abd781b9952b73b18167137e43a06d4532957abac3b1cf6ac7e211773e8533b37da71e90989cbef13ab7f2776e90133efe34dd851ec373eb7db5c44cb4b58d1c09540f349a31bfb4b23048f03221a8fc108b8c010b4cf6f30d15f2782853653e95ca3826391f1fe0df2ba7ce298b7ad0fc91995b4f61c720c75f096d080c781bdd9c97f44ec643d865e32e0143f85b9080d72301d53171ce43a1bf2bcfc91fb9e6683b707adfb2d412fe5760256d05183a68c8a25147110efad04cb23e6cb9a3d7df101cb61a7551496b6b94187c7046db9d78824a96069e965764fddf0fbd4d95e85591dc2e17a4364953ed2b7441ca8f0946aa3dc61089f0954747ac2a845afb5227a1152d128122306388052c1fca59bee3830d226310e7113c7a196b9c15945e8236f3f0e0b5603066bb570e5ad9d0876cf53b0c33fcb62064443ddc0b87589b63f8daa01ef2ed1d9080818de70ca428feb166741cc0e443b6c86960d17f34bf2e9d1cd9a301d857dd78225079d929678e7c4205c76f146546690b3a74e89d2b0fd7f74d7d182b83b0a780700e6f038b91de754659618b3e69b6671ac9d3f0a3511ee6ef4ac0acc909924b82de4d7910a36e2f0eff843ba4348adb9d107c9119e0e8abdf0065cafa7b7a8f9184a87574d120ffb81b88dcd9288a618e934351a3179779079211404a79b787245efe3562272a1ea4896f8f6da6b8a26d513771102a5f83d14526851081816e227f2c5650f7325f4ae60e5bb258912c8f6220192c003162e8899cfdafef85850b973fb45c22393e0a475239c209a18d29a573bab1a4a4a007c1f280d0c74f8a4321d4a66b56d7bcc3ddfcbee80a0a4f9bd792e426e193ddd9269d27f8c2fa69d7a50415af7af24eeb446be4e9cf1bfd5603f68147f7261900f6012606ddb5fa1f79731d7bb02d9a6a39faceefd0645c0e8d18c412bf2c1034fb0b92d42e9bd71017d95e7ca55d6bdce358d59e4131e5b1c17418b236dc8d4fefdeafe2725d15566d0d0d2a752f4a7200c7c5d367848707ac61440d6920e64290816b0ada6c82bd1e131a75a4ecc8ead5d5b3ff754981a7dd446770d3a209d0789b6de7cdcb25a8858ba039b27ca695e03ff7d1c3bfee28c5560b676cad4dd49b2f7ac747700d9dd53ebe92af4ac7688620f362adcf9443592c270aedfe6756af7e9b8daf3415cff4347c015be26bb191b287c81873790e9d1d26ce0c6c05ce44002d227110366e653150c8a9efb640e90daf6372db6506ec3a6297e56de32ea0a59b4aa42629582fd47eed3d32334cfdad218b4a1b9105a6d10e81738bceb85d26185e7051f2431a3141c2c426a02cf5e04f499d98fca9904b998d19c1370fdebbafb21764825f8beadba62e79e154be0344f64c7e978a3f0a381d026c7dc78b2b4b767ae7f49576afecd6ebde673fa41bbfd5c042874b900eb76c938bdb13aa829fbc92c1cb60f557540adf02b00855b440a271a969362517a580225d5ba6fbaa3a724b525172d03bcadd876c65685d7809a251a9ffa1e027e1d52928515a7ac76a6d1a35f3f2418f8f4f340ba3f1c53feb424652a167076644a760deb3b0d717c208498795f83bf46d1e016bb6ecdd9fb285b39d9f998f7f5d50f90bd83fdce7bd9ee9f7e6fd45a19785d023782a81da67a4eb3250cfcbea862291dd3af43e7e7ee9dad55eb3da4d3d64582f4eacb51b0e2269bfecc9d5ff572256a1ffc6ca1dd81143066fa2ada5fa137f68ac7b7ac2a47ecd15bb86560c31d2cd477ad856e50921ab469e10fd5c85e84b9cd7b6c15a1b1cdbd6f681ae3ac2ac03fb13624b37f0ed7198529e25ef8a5cc9fe67be6b8021e1ee77728cd40e098be66d51a0e70596b3ff87ffd64333421aaf6cd05c6ec07da1f6d259fdd4154834fd6eaef6eac882e30fd3661db4fb9c86c2f213272f2dc7dfb69cdcd137a9ff62f23ddc1b8c3326b90e6bfb27f2a7a0f623067493f0cfe885c837af5a4f465bdacc4f40521b5767faf6c03b75d74d110c9bc1745e60d04a6b6e7d3b40296dab8484387927a81c6816d80102440348ebe104fd8fcca6c646965c54e4fbd0011c49d15efe93ace33d7f339f2e51fa26c701120ce1e9d479814beca90c5cdd103ce08162974d20150d49a4f76dea5bd4fa6f05009477857870543c3d4b44e20cddf974195534dcdab88c6dcd1910b2effd86d2a42809429b808d866d42e2eabe7ca41d000d457a1b32394670d7fe76afb43705c8c210a32bfbe33197123ee17b5144872c345c88ba37f789ea68cfadc1ec331365ae5312a99e4325961ff72c6c672f119e05beaacfe959a182fcd2288cb3df65a34631cfcdd6986277a1213e9828c2547fad6f3e2a4134d719aa7f951a23e34632b89dca", 0x1000}, {&(0x7f0000003900)="a3f5611b9cb9233a35ed1bee26ca3d64a0626f7dcfb8bddf9027293f67945fae697a6809ab48f04cc0b8ad67e369ce8f1df14d1ff03e1f1db4874adb335f68f11dd238bed05777c10cea4cbed192186a43d3a652fd74960d04f98d182888baf87cf5c639d5e1f78c4d3ff5d3f503614b299bf126911f703629c2c60b4feafd214c5a97ef0f0a125327d26bf2261aacc394f610ef88e5d2fb0cca7c88081e99004e01f72d0ba882827f7fa018f6ad4da729cfa80f9b66649c", 0xb8}, {&(0x7f00000039c0)="f6b6a4d612cd7f6b160a6f6def2e26c7fa8a02970fdb783445e6b7c9312e795d713eccb0d8d1130ed0e032189a4cb6432e376680d61f614ee55580b2d72f24dc1c30bbcc370731167e95dd4e2151f528a2664c08098c09131617393fe52c48144b1bedaaf4017d33a726cf1baf1d6c43b6738d4d6d1a65a15bb14b3f1452344c9d36cbef96c6cd4c9d654b18ec6cf5da66339a595eb25848100ce26413838149ac8e1bfd86e77e14d0c0a9f91a457e213534909e92fa7e39ca82c1c3fb89dc0c9c993b9abda00d96c127ae684294275572ee8d6a30c17aac9116d70b246009bb3f6b", 0xe2}, {&(0x7f0000003ac0)="6da152ed00c4c5535ea4189d9d15683ef7bcec52010517878313f62691670189e475148a1b7860d8b63792bfd06f3044dfe7901e0608f64093562f0a950b901d7d1e5b1e04625ce7323cbfd78c7005f649a8128480956a1d620ec7e6593249b16d31a02f60a6c53904648065d667b256227001c43f81106187ff483a4b04902d9fac0140837e6950833207bf1a05464b76fd4f5b34d9ae80", 0x98}, {&(0x7f0000003b80)="13834925afe5bc86e0f3d90e9393ffa48ac87700c7af704de1b8892e5f1e2492a48b2e52fc541474e5c92f1c99009f706f76cc809de857fbe4897d8989426fbd88c9943e080d6287e512720d83b43743ef0568cbb8afee2c860047cb1dcade0388d2577e8803fa397ce98e98180facc88dd18311a96c13f3506296d1c94cebbc4025580ee434bdf6c134f89264c778e7ec2af3b22a24d69ba6aa8cae899a", 0x9e}], 0x7) (async) 03:37:59 executing program 1: r0 = socket$inet(0x15, 0x5, 0x0) bind$inet(r0, &(0x7f00000000c0)={0x2, 0x0, @local}, 0x10) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r1, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000004280)='./file0\x00',