Vm private constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code")))));
bool private _failed;
function failed() public view returns (bool);
function fail() internal virtual;
function assertTrue(bool data) internal pure virtual;
function assertTrue(bool data, string memory err) internal pure virtual;
function assertFalse(bool data) internal pure virtual;
function assertFalse(bool data, string memory err) internal pure virtual;
function assertEq(bool left, bool right) internal pure virtual;
function assertEq(bool left, bool right, string memory err) internal pure virtual;
function assertEq(uint256 left, uint256 right) internal pure virtual;
function assertEq(uint256 left, uint256 right, string memory err) internal pure virtual;
function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual;
function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual;
function assertEq(int256 left, int256 right) internal pure virtual;
function assertEq(int256 left, int256 right, string memory err) internal pure virtual;
function assertEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual;
function assertEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual;
function assertEq(address left, address right) internal pure virtual;
function assertEq(address left, address right, string memory err) internal pure virtual;
function assertEq(bytes32 left, bytes32 right) internal pure virtual;
function assertEq(bytes32 left, bytes32 right, string memory err) internal pure virtual;
function assertEq32(bytes32 left, bytes32 right) internal pure virtual;
function assertEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual;
function assertEq(string memory left, string memory right) internal pure virtual;
function assertEq(string memory left, string memory right, string memory err) internal pure virtual;
function assertEq(bytes memory left, bytes memory right) internal pure virtual;
function assertEq(bytes memory left, bytes memory right, string memory err) internal pure virtual;
function assertEq(bool[] memory left, bool[] memory right) internal pure virtual;
function assertEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual;
function assertEq(uint256[] memory left, uint256[] memory right) internal pure virtual;
function assertEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual;
function assertEq(int256[] memory left, int256[] memory right) internal pure virtual;
function assertEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual;
function assertEq(address[] memory left, address[] memory right) internal pure virtual;
function assertEq(address[] memory left, address[] memory right, string memory err) internal pure virtual;
function assertEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual;
function assertEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual;
function assertEq(string[] memory left, string[] memory right) internal pure virtual;
function assertEq(string[] memory left, string[] memory right, string memory err) internal pure virtual;
function assertEq(bytes[] memory left, bytes[] memory right) internal pure virtual;
function assertEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual;
function assertEqUint(uint256 left, uint256 right) internal pure virtual;
function assertNotEq(bool left, bool right) internal pure virtual;
function assertNotEq(bool left, bool right, string memory err) internal pure virtual;
function assertNotEq(uint256 left, uint256 right) internal pure virtual;
function assertNotEq(uint256 left, uint256 right, string memory err) internal pure virtual;
function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual;
function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual;
function assertNotEq(int256 left, int256 right) internal pure virtual;
function assertNotEq(int256 left, int256 right, string memory err) internal pure virtual;
function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual;
function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual;
function assertNotEq(address left, address right) internal pure virtual;
function assertNotEq(address left, address right, string memory err) internal pure virtual;
function assertNotEq(bytes32 left, bytes32 right) internal pure virtual;
function assertNotEq(bytes32 left, bytes32 right, string memory err) internal pure virtual;
function assertNotEq32(bytes32 left, bytes32 right) internal pure virtual;
function assertNotEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual;
function assertNotEq(string memory left, string memory right) internal pure virtual;
function assertNotEq(string memory left, string memory right, string memory err) internal pure virtual;
function assertNotEq(bytes memory left, bytes memory right) internal pure virtual;
function assertNotEq(bytes memory left, bytes memory right, string memory err) internal pure virtual;
function assertNotEq(bool[] memory left, bool[] memory right) internal pure virtual;
function assertNotEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual;
function assertNotEq(uint256[] memory left, uint256[] memory right) internal pure virtual;
function assertNotEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual;
function assertNotEq(int256[] memory left, int256[] memory right) internal pure virtual;
function assertNotEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual;
function assertNotEq(address[] memory left, address[] memory right) internal pure virtual;
function assertNotEq(address[] memory left, address[] memory right, string memory err) internal pure virtual;
function assertNotEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual;
function assertNotEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual;
function assertNotEq(string[] memory left, string[] memory right) internal pure virtual;
function assertNotEq(string[] memory left, string[] memory right, string memory err) internal pure virtual;
function assertNotEq(bytes[] memory left, bytes[] memory right) internal pure virtual;
function assertNotEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual;
function assertLt(uint256 left, uint256 right) internal pure virtual;
function assertLt(uint256 left, uint256 right, string memory err) internal pure virtual;
function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual;
function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual;
function assertLt(int256 left, int256 right) internal pure virtual;
function assertLt(int256 left, int256 right, string memory err) internal pure virtual;
function assertLtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual;
function assertLtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual;
function assertGt(uint256 left, uint256 right) internal pure virtual;
function assertGt(uint256 left, uint256 right, string memory err) internal pure virtual;
function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual;
function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual;
function assertGt(int256 left, int256 right) internal pure virtual;
function assertGt(int256 left, int256 right, string memory err) internal pure virtual;
function assertGtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual;
function assertGtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual;
function assertLe(uint256 left, uint256 right) internal pure virtual;
function assertLe(uint256 left, uint256 right, string memory err) internal pure virtual;
function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual;
function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual;
function assertLe(int256 left, int256 right) internal pure virtual;
function assertLe(int256 left, int256 right, string memory err) internal pure virtual;
function assertLeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual;
function assertLeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual;
function assertGe(uint256 left, uint256 right) internal pure virtual;
function assertGe(uint256 left, uint256 right, string memory err) internal pure virtual;
function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual;
function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual;
function assertGe(int256 left, int256 right) internal pure virtual;
function assertGe(int256 left, int256 right, string memory err) internal pure virtual;
function assertGeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual;
function assertGeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual;
function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) internal pure virtual;
function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string memory err) internal pure virtual;
function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals)
internal
pure
virtual;
function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string memory err)
internal
pure
virtual;
function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) internal pure virtual;
function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string memory err) internal pure virtual;
function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals)
internal
pure
virtual;
function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string memory err)
internal
pure
virtual;
function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) internal pure virtual;
function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string memory err)
internal
pure
virtual;
function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals)
internal
pure
virtual;
function assertApproxEqRelDecimal(
uint256 left,
uint256 right,
uint256 maxPercentDelta,
uint256 decimals,
string memory err
) internal pure virtual;
function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) internal pure virtual;
function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string memory err)
internal
pure
virtual;
function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals)
internal
pure
virtual;
function assertApproxEqRelDecimal(
int256 left,
int256 right,
uint256 maxPercentDelta,
uint256 decimals,
string memory err
) internal pure virtual;
function checkEq0(bytes memory left, bytes memory right) internal pure returns (bool);
function assertEq0(bytes memory left, bytes memory right) internal pure virtual;
function assertEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual;
function assertNotEq0(bytes memory left, bytes memory right) internal pure virtual;
function assertNotEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual;
function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual;
function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)
internal
virtual;
function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)
internal
virtual;
function assertEqCall(
address targetA,
bytes memory callDataA,
address targetB,
bytes memory callDataB,
bool strictRevertData
) internal virtual;
event log(string);
event logs(bytes);
event log_address(address);
event log_bytes32(bytes32);
event log_int(int256);
event log_uint(uint256);
event log_bytes(bytes);
event log_string(string);
event log_named_address(string key, address val);
event log_named_bytes32(string key, bytes32 val);
event log_named_decimal_int(string key, int256 val, uint256 decimals);
event log_named_decimal_uint(string key, uint256 val, uint256 decimals);
event log_named_int(string key, int256 val);
event log_named_uint(string key, uint256 val);
event log_named_bytes(string key, bytes val);
event log_named_string(string key, string val);
event log_array(uint256[] val);
event log_array(int256[] val);
event log_array(address[] val);
event log_named_array(string key, uint256[] val);
event log_named_array(string key, int256[] val);
event log_named_array(string key, address[] val);